您现在的位置是:主页 > 建站知识 > 建站知识

织梦dedecms自定义表单发送邮件(支持QQ邮箱163邮箱)

方元2020-03-20建站知识人已围观

简介使用织梦官方邮件发送类库sendmail,实现自定义表单发送邮件通知管理者,支持QQ邮箱和163邮箱。环境要求,主机465端口是开启和放行的、php扩展openssl是开启的、php扩展sockets是开启的、

使用织梦官方邮件发送类库sendmail,实现自定义表单发送邮件通知管理者,支持QQ邮箱和163邮箱。

环境要求


      主机465端口是开启和放行的
      php扩展openssl是开启的
      php扩展sockets是开启的
      虚拟主机必须开启fsockopen函数


例如本地环境phpstudy开启这2个扩展


阿里云虚拟主机开启fsockopen函数



1、QQ邮箱 或者 163邮箱 126邮箱 开启SMTP服务,拿到授权码,根据自己的来


     QQ邮箱开启SMTP服务 和 获取授权码



163邮箱开启SMTP服务和 获取授权码



126邮箱开启SMTP服务,跟163一样。


 2、网站后台 - 系统 - 系统基本参数 - 核心设置 


          是否启用SMTP方式发送邮件:是

          SMTP服务器:ssl://smtp.163.com 或者 ssl://smtp.qq.com
          SMTP服务器端口:465
          SMTP服务器的用户邮箱:dedehtml@163.com 或者 858265175@qq.com
          SMTP服务器的用户帐号:dedehtml 或者 858265175
          SMTP服务器的用户密码:填你邮箱授权码,不是邮箱登录密码


配置163邮箱的是这样



配置QQ邮箱的是这样



配置126邮箱的是这样



3、网站后台 - 系统 - 系统基本参数 - 添加新变量


          变量名称:cfg_shoujianren
          变量类型:文本
          参数说明:收件人
          变量值:858265175@qq.com

          所属组:站点设置



4、打开 /plus/diy.php 找到

$id = $dsql->GetLastID();
在它的下面加入:
$mailtitle = "{$diy->name}--留言通知";
$mailbody = '';
foreach($diy->getFieldList() as $field=>$fieldvalue)
{
	$mailbody .= "{$fieldvalue[0]}:{${$field}}\r\n";
}
$headers = "From: ".$cfg_adminemail."Reply-To: ".$cfg_adminemail;
if($cfg_sendmail_bysmtp == 'Y' && !empty($cfg_smtp_server))
{
	$mailtype = 'TXT';
	require_once(DEDEINC.'/mail.class.php');
	$smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);
	$smtp->debug = 0;//发送不成功把0改成1,再提交看错误信息
	$smtp->sendmail($cfg_shoujianren,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
}
else
{
	@mail($cfg_shoujianren, $mailtitle, $mailbody, $headers);
}
至此自定义表单发送邮件通知管理者完成


网易企业邮乱码的解决方法




打开 /plus/diy.php 找到

$headers = "From: ".$cfg_adminemail."Reply-To: ".$cfg_adminemail;
在它下面加入一行
$mailbody = mb_convert_encoding($mailbody, "GBK", "UTF-8");
完成


很赞哦! ()

文章评论

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!

站长周边福利领取

标签云

最新评论