织梦自定义表单留言后发送qq邮件提醒
文章目录
使用织梦DedeCMS自定义表单时,有用户留言无法实时收到信息是很不爽的一件事,此教程教大家实现DedeCMS自定义表单留言自动发送到QQ邮箱或163邮箱。
环境配置
- 1、主机465端口是开启和放行的
- 2、php扩展openssl是开启的
- 3、php扩展sockets是开启的
邮箱开启SMTP服务(QQ邮箱、163邮箱、126邮箱)
1、QQ邮箱开启SMTP服务、获取授权码
2、163邮箱开启SMTP服务、获取授权码
- PS:126邮箱开启SMTP服务,跟163一样。
织梦后台配置邮箱方法
- 是否启用SMTP方式发送邮件:是
- SMTP服务器:ssl://smtp.163.com 或者 ssl://smtp.qq.com
- SMTP服务器端口:465
- SMTP服务器的用户邮箱:csseoyh@163.com 或者 996054007@qq.com
- SMTP服务器的用户帐号:csseoyh 或者 996054007
- SMTP服务器的用户密码:填你邮箱授权码,不是邮箱登录密码
配置163邮箱的是这样
配置QQ邮箱的是这样
配置126邮箱的是这样
然后配置邮箱接收信息:
- PS:126邮箱开启SMTP服务,跟163一样。
织梦后台配置邮箱方法
- 是否启用SMTP方式发送邮件:是
- SMTP服务器:ssl://smtp.163.com 或者 ssl://smtp.qq.com
- SMTP服务器端口:465
- SMTP服务器的用户邮箱:csseoyh@163.com 或者 996054007@qq.com
- SMTP服务器的用户帐号:csseoyh 或者 996054007
- SMTP服务器的用户密码:填你邮箱授权码,不是邮箱登录密码
配置163邮箱的是这样
配置QQ邮箱的是这样
配置126邮箱的是这样
然后配置邮箱接收信息:
配置126邮箱的是这样
然后配置邮箱接收信息:
1、后台添加一个收件人变量,网站后台 – 系统 – 系统基本参数 – 添加新变量
- 变量名称:cfg_shoujianren
- 变量类型:文本
- 参数说明:收件人
- 变量值:858265175@qq.com(如果是多人接收用英文逗号隔开,如: a1@qq.com,a2@qq.com,a3@qq.com)
- 所属组:站点设置
2、打开 /plus/diy.php 找到
$id = $dsql->GetLastID();
在它的下面加入
$mailtitle = "{$diy->name}--留言通知"; $mailbody = ''; foreach($diy->getFieldList() as $field=>$fieldvalue) { $mailbody .= "{$fieldvalue[0]}:{${$field}}rn"; } $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); }
至此自定义表单发送邮件通知管理者完成
- 如果提交表单后收不到邮件,把上面代码$smtp->debug = 0;改成$smtp->debug = 1;
- 然后再重新提交表单,看提示信息提示什么。
当然还有一种方法
这是我之前使用的方法,没有上面的方法好,所以淘汰了,留个记录
打开plus下面的diy.php文件,找到:
$query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar) VALUES (NULL, 0 $addvalue); ";
后面开始添加代码:
$mailtitle = $name."提交表单通知"; $mailbody = "称呼:{$name}rn邮箱:{$email}rn内容:{$message}"; $headers = $cfg_adminemail; $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 = false; $smtp->sendmail($cfg_smtp_usermail,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
说明:$name $email $message 三个变量都是自定义表单中自己增加的变量名称,只需要更改$符号后面的字母即可,需要新增字段也可以。
至此,织梦自定义表单留言发送邮箱教程完成。
测试表单提交效果如下图:
版权保护: 本文由小冬SEO编辑发布,转载请保留链接: http://www.myseoyh.cn/cms/71.html
- 上一篇: 织梦后台自动推送批量推送百度API提交
- 下一篇:去掉织梦登陆验证码的2种方法