织梦DIY自定义表单发送邮件通知管理员的实现方法

时间:2021-11-24
类别:教程 - CMS教程

织梦的自定义表单在投票留言这块用的很多,有时需要在有新提交的表单,能及时的通知到网站管理员这个功能,这时就需要二次开发来实现邮件通知的功能,具体的织梦DIY自定义表单发送邮件通知管理员的实现方法如下:

一、环境要求,共需要按以下设置:

1.65端口是开启和放行的

2.php扩展openssl是开启的

3.php扩展sockets是开启的

二、QQ邮箱 或者 163邮箱 126邮箱 开启SMTP服务,拿到授权码,根据自己的来,以下是QQ邮箱开启SMTP服务 和 获取授权码的方法,其它的163邮箱、126邮箱基本是同理,如下图:

织梦DIY自定义表单发送邮件通知管理员的实现方法

三、进入织梦的网站后台 - 系统 - 系统基本参数 - 核心设置,按如下设置:

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

2.SMTP服务器:ssl://smtp.163.com 或者 ssl://smtp.qq.com

3.SMTP服务器端口:465

4.SMTP服务器的用户邮箱:(这里填写自己的邮箱)

5.SMTP服务器的用户帐号:(邮箱登录账号)

6.SMTP服务器的用户密码:填你邮箱授权码,不是邮箱登录密码。

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

1.变量名称:cfg_shoujianren

2.变量类型:文本

3.参数说明:收件人

4.变量值:(填写你的收件邮箱)

5.所属组:站点设置

五、打开 /plus/diy.php 找到如下代码:

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

在它的下面加入如下代码:

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

至此织梦DIY自定义表单发送邮件通知管理员的实现方法已经完成,不懂的可以加群提问。

    收藏