使用织梦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一样。 -
织梦后台配置邮箱方法
1、是否启用SMTP方式发送邮件:是2、SMTP服务器:ssl://smtp.163.com 或者 ssl://smtp.qq.com
3、SMTP服务器端口:465
4、SMTP服务器的用户邮箱:fuckdede@163.com 或者 1953238148@qq.com
5、SMTP服务器的用户帐号:fuckdede 或者 1953238148
6、SMTP服务器的用户密码:填你邮箱授权码,不是邮箱登录密码
配置163邮箱的是这样
配置QQ邮箱的是这样
配置126邮箱的是这样
-
添加邮箱新变量
变量名称:cfg_shoujianren
变量类型:文本
参数说明:收件人
变量值:1953238148@qq.com
所属组:站点设置
-
打开 /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);
}
至此,织梦自定义表单留言发送邮箱教程完成。