您现在的位置是:首页 > 学无止境 > dedecmsdedecms
织梦dedecms网站留言实现邮件通知功能
2021-07-23 11:10:59dedecms人已围观
简介织梦dedecms网站实现邮件通知功能自己之前就想实现留言通知的功能,织梦后台也有相关的邮箱通知设置,但邮件发送都需要用到25号端口,但服务器服务商默认关闭25号端口,打开需要各
织梦dedecms网站实现邮件通知功能
自己之前就想实现留言通知的功能,织梦后台也有相关的邮箱通知设置,但邮件发送都需要用到25号端口,但服务器服务商默认关闭25号端口,打开需要各种申请,所以在网上 找了很久,找到了用用PHPMailer发送邮件的方法:
一、实现步骤
1. 准备发件、收件邮箱,PHPMailer代码库。
2. 编辑代码,邮件测试
二、准备PHPMailer类库
PHPMailer下载地址:https://github.com/PHPMailer/PHPMailer/(调试代码有许多错误,修改后的代码,本人整理好的文件包下载地址)
目前官方库文件包:链接:https://pan.baidu.com/s/1FFf-jP-pW3uxCryHZWMWLw
提取码:af8r
织梦系统链接:https://pan.baidu.com/s/1sLbQmjxcTb77uI4j-BMHpQ
提取码:pgzu
个人打包下载地址(下载速度较快)共享地址: http://yun.lingyuyy.com/index.php?share/file&user=1&sid=izRhM4U5(点击直达)
提取密码:lingyu
三、准备发送邮件的邮箱
在发送邮件功能中,现在常见的是谷歌邮箱、163邮箱、QQ邮箱。本文以QQ邮箱为例。
必须开通了邮箱的IMAP/SMTP服务,才能用于发送邮件。
登录QQ邮箱,分别进入“设置”,“账户”。
来到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务:
(1) 把POP3/IMAP设置为开启,点击生成授权码。
(2) 会提示你邮件系统升级需要发送短信,发送后会弹出授权码。
(3) 成功开启IMAP/SMTP服务,在第三方客户端登录时,授权码就是密码。
(4) 记得点击“保存更改”按钮。
准备一个接受邮件的邮箱,用于发送邮件测试。
将PHPMailer库文件放入网站目录中。
四、织梦表单邮件提醒
4.1、织梦后台填写信息在织梦后台的“系统”“系统设置”“核心设置”
接下来继续填写
4.2、代码改造4.2.1、添加PHPMailer的库文件到/plus目录下面:
4.2.2、在织梦的自定义表单文件diy.php(路径:/plus/diy.php)中的代码if($dsql->ExecuteNoneQuery($query)){的下面;$id = $dsql->GetLastID();上面添加如下代码:
//邮件发送
$fieldlist = $diy->getFieldList();
$addvalue_ary1 = explode(',', $addvalue);
$addvalue_ary = array_filter($addvalue_ary1);
$i = 1;
foreach($fieldlist as $field=>$fielddata)
{
$emailbody .= $fielddata[0].':'.$addvalue_ary[$i].'<br/>';
$i ++;
}
global $cfg_smtp_server, $cfg_adminemail, $cfg_smtp_port, $cfg_smtp_usermail, $cfg_smtp_password, $cfg_webname, $cfg_basehost, $cfg_smtp_user;
require_once("class.phpmailer.php");
require_once("class.smtp.php");
//实例化PHPMailer
$mail = new PHPMailer();
$mail->SMTPDebug = 0;
$mail->isSMTP();
$mail->SMTPAuth=true;
$mail->Host = "ssl://smtp.qq.com";
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
//发件人的主机域,自定义的内容
$mail->Hostname = "某某网";
$mail->CharSet = 'UTF-8';
//发件人姓名
$mail->FromName =网站管理员;
//smtp登录的账号qq号
$mail->Username = 123456789
;
//密码就是授权码
$mail->Password = 授权码;
//发件人邮箱
$mail->From = "qq邮箱";
$mail->isHTML(true);
//收件人邮箱地址,第一参数邮箱地址 第二昵称;可多次调用就是多个收件人的邮箱
$mail->addAddress("123456789@qq.com","某某网");
//邮件主题
$mail->Subject = "网站留言提醒";
//表单内容
$mail->Body = $emailbody;
if(!$mail->send())
{
echo "Fail to send. <p>";
echo "Cause of the error: " . $mail->ErrorInfo;
exit;
}
//邮件结束
在网页提交表单,实现织梦发送邮件功能。
【版权声明】本内容来源于,小俊学习网(https://www.segena.com/web-mail-notification-function.html),侵权请联系陵小宇删除。
很赞哦! ()
上一篇:返回列表
相关文章
随机图文
文章评论
留言与评论(共有 0 条评论) |