您现在的位置是:首页 > 学无止境 > 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服务:

陵小宇博客-织梦dedecms网站实现邮件通知功能

(1) 把POP3/IMAP设置为开启,点击生成授权码。

(2) 会提示你邮件系统升级需要发送短信,发送后会弹出授权码。

(3) 成功开启IMAP/SMTP服务,在第三方客户端登录时,授权码就是密码。

(4) 记得点击“保存更改”按钮。

准备一个接受邮件的邮箱,用于发送邮件测试。

将PHPMailer库文件放入网站目录中。

四、织梦表单邮件提醒

4.1、织梦后台填写信息

在织梦后台的“系统”“系统设置”“核心设置”

接下来继续填写

陵小宇博客-织梦dedecms网站实现邮件通知功能 4.2、代码改造

4.2.1、添加PHPMailer的库文件到/plus目录下面:

陵小宇博客-织梦dedecms网站实现邮件通知功能

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),侵权请联系陵小宇删除。

Tags:dede   邮箱提醒

很赞哦! ()

相关文章

文章评论

留言与评论(共有 0 条评论)
   
验证码:

本栏推荐

站点信息

  • 文章统计14篇文章
  • 浏览统计462次浏览
  • 评论统计2个评论
  • 微信公众号:扫描二维码,关注我们