织梦自定义表单发送邮件 修改邮件标题

2021年2月5日14:24:37 发表评论
广告也精彩

环境要求

  • 主机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服务器的用户邮箱:admin@163.com 或者 771497507@qq.com
  • SMTP服务器的用户帐号:admin或者 771497507
  • SMTP服务器的用户密码:填你邮箱授权码,不是邮箱登录密码

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

  • 变量名称:cfg_shoujianren
  • 变量类型:文本
  • 参数说明:收件人
  • 变量值:771497507@qq.com
  • 所属组:站点设置

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

  1. $id = $dsql->GetLastID();

在它的下面加入

  1. $mailtitle = "{$diy->name}--留言通知";
  2. $mailbody = '';
  3. foreach($diy->getFieldList() as $field=>$fieldvalue)
  4. {
  5.     $mailbody .= "{$fieldvalue[0]}:{${$field}}\r\n";
  6. }
  7. $headers = "From: ".$cfg_adminemail."Reply-To: ".$cfg_adminemail;
  8. if($cfg_sendmail_bysmtp == 'Y' && !empty($cfg_smtp_server))
  9. {
  10.     $mailtype = 'TXT';
  11.     require_once(DEDEINC.'/mail.class.php');
  12.     $smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);
  13.     $smtp->debug = 0;//发送不成功把0改成1,再提交看错误信息
  14.     $smtp->sendmail($cfg_shoujianren,$cfg_webname ,$cfg_smtp_usermail$mailtitle$mailbody$mailtype);
  15. }
  16. else
  17. {
  18.     @mail($cfg_shoujianren$mailtitle$mailbody$headers);
  19. }

 

至此自定义表单发送邮件通知管理者完成

如果提交表单后收不到邮件,把上面代码$smtp->debug = 0;改成$smtp->debug = 1;

然后再重新提交表单,看提示信息提示什么。

Trying to ssl://smtp的解决方法

如果用ssl:// 和 465端口发送失败,提示 Trying to ssl://smtp.xx.com 话,很大可能是主机禁用了465端口,这时候可以切换回25端口和去掉ssl://

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

打开 /plus/diy.php 找到

  1. $headers = "From: ".$cfg_adminemail."Reply-To: ".$cfg_adminemail;

在它下面加入一行

  1. $mailbody = mb_convert_encoding($mailbody, "GBK", "UTF-8");

完成

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
ts小陈

发表评论(请规范评论)--评论需审核

:?: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :cry: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :neutral: :razz:

已登录用户不需要填写以下内容