环境要求
- 主机465端口是开启和放行的
- php扩展openssl是开启的
- php扩展sockets是开启的
- 虚拟主机必须开启fsockopen函数
例如本地环境phpstudy开启这2个扩展
阿里云虚拟主机开启fsockopen函数
1、QQ邮箱 或者 163邮箱 126邮箱 开启SMTP服务,拿到授权码,根据自己的来
QQ邮箱开启SMTP服务 和 获取授权码
163邮箱开启SMTP服务和 获取授权码
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邮箱的是这样
配置QQ邮箱的是这样
配置126邮箱的是这样
3、网站后台 - 系统 - 系统基本参数 - 添加新变量
- 变量名称:cfg_shoujianren
- 变量类型:文本
- 参数说明:收件人
- 变量值:858265175@qq.com
- 所属组:站点设置
4、打开 /plus/diy.php 找到
$id = $dsql->GetLastID();
复制
- 1
在它的下面加入
$mailtitle = "{$diy->name}--留言通知";
$mailbody = '';
foreach($diy->getFieldList() as $field=>$fieldvalue)
{
$mailbody .= "{$fieldvalue[0]}:{${$field}}
";
}
$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);
}
复制
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
至此自定义表单发送邮件通知管理者完成
网易企业邮乱码的解决方法
打开 /plus/diy.php 找到
$headers = "From: ".$cfg_adminemail."Reply-To: ".$cfg_adminemail;
复制
- 1
在它下面加入一行
$mailbody = mb_convert_encoding($mailbody, "GBK", "UTF-8");
复制
- 1
完成
DedeCMS问题解决
请点击在线联系我们【点击咨询解决问题】 如果您有任何织梦问题,我们将免费为您写解决教程!
用心认真写教程不易,请小打赏我们一下,多少是心意,解决问题是重点
【打赏说明】 如果您认为在本站中看的内容质量不错、或阅读后有所收获、或解决您遇到的实际问题,那不妨小金额的赞助一下观网科技,让观网科技有动力继续写出更多高质量的教程和心得。以帮助更多的人。[查看打赏记录]