日常小记

织梦表单提交邮件提醒

1、环境要求
主机465端口是开启和放行的
php扩展openssl是开启的
php扩展sockets是开启的
1、QQ邮箱 或者 163邮箱 126邮箱 开启SMTP服务,拿到授权码,根据自己的来

QQ邮箱开启SMTP服务 和 获取授权码
1.png
163邮箱开启SMTP服务和 获取授权码
2.png
126邮箱开启SMTP服务,跟163一样。

2、网站后台 - 系统 - 系统基本参数 - 核心设置
是否启用SMTP方式发送邮件:是
SMTP服务器:ssl://smtp.163.com 或者 ssl://smtp.qq.com
SMTP服务器端口:465
SMTP服务器的用户邮箱:dedehtml@163.com 或者 858265175@qq.com(自己的邮箱)
SMTP服务器的用户帐号:dedehtml 或者 858265175(自己的账号)
SMTP服务器的用户密码:填你邮箱授权码,不是邮箱登录密码

配置163邮箱的是这样
3.png

配置QQ邮箱的是这样
4.png

配置126邮箱的是这样
5.png

3网站后台 - 系统 - 系统基本参数 - 添加新变量
变量名称:cfg_shoujianren
变量类型:文本
参数说明:收件人
变量值:858265175@qq.com(自己的收件箱)
所属组:站点设置
6.png

4、打开 /plus/diy.php 找到
$id = $dsql->GetLastID();
在它的下面加入
$mailtitle = "{$diy->name}--留言通知";
$mailbody = '';
foreach($diy->getFieldList() as $field=>$fieldvalue)
{

$mailbody .= "{$fieldvalue[0]}:{${$field}}\r\n";

}
$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 = false;//发送不成功把false改成1,再提交看错误信息
$smtp->sendmail($cfg_shoujianren,$cfg_webname ,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);

}
else
{

@mail($cfg_shoujianren, $mailtitle, $mailbody, $headers);

}

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

如果提交表单后返回出现404错误
在diy.php中
找到
showmsg($bkmsg, $goto);
改成
showmsg($bkmsg, -1);

回复

This is just a placeholder img.