• 微信
您当前的位置:主页 > 建站代码 >

织梦留言发送qq邮箱

作者:admin 时间:2021-07-14 阅读:人已围观
一、主机环境要求
主机465端口开启放行
php扩展openssl开启
php扩展sockets开启

二、配置流程

1、登录QQ邮箱,设置-账户-开启SMTP服务,根据提示短信验证后拿到授权码。
2、网站后台 - 系统 - 系统基本参数 - 核心设置  
是否启用SMTP方式发送邮件:是
SMTP服务器:ssl://smtp.qq.com(163是ssl://smtp.163.com)
SMTP服务器端口:465
SMTP服务器的用户邮箱:123456@qq.com
SMTP服务器的用户帐号:123456
SMTP服务器的用户密码:填你邮箱授权码,不是邮箱登录密码



 3、网站后台 - 系统 - 系统基本参数 - 添加新变量

变量名称:cfg_shoujianren
变量类型:文本
参数说明:收件人
变量值:123456@qq.com(收件人邮箱)
所属组:站点设置



4、打开 /plus/diy.php 找到

$id = $dsql->GetLastID();

在它的下面加入

$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:如果提交表单后收不到邮件,把上面代码$smtp->debug = 0;改成$smtp->debug = 1;
问题2:如果用ssl:// 和 465端口发送失败,提示 Trying to ssl://smtp.xx.com 话,很大可能是主机禁用了465端口,这时候可以切换回25端口和去掉ssl://
问题3
:邮乱码的解决方法
打开 /plus/diy.php 找到:$headers = "From: ".$cfg_adminemail."Reply-To: ".$cfg_adminemail;
在它下面加入一行:$mailbody = mb_convert_encoding($mailbody, "GBK", "UTF-8");
标签: