阿里云(ECS)服务器不能用QQ或者163STMP发邮件问题解决方案
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
这两天用PHPMailer写了个发送邮件功能,在本地测试可以发送邮件,但是放到阿里云服务器缺发送不了,报错提示是
SMTP connect() failed ,连接不到邮件服务器,查了很久试过很多办法都解决不了,最终换了个端口试试终于成功了。
1.阿里云禁用了25端口,要使用ssl加密协议端口465或者其他ssl端口,代码里面配置$mail->SMTPSecure = 'ssl';
2.检查开启php_openssl模块;
3.检查是否禁用fsocket函数;
==============================================================
基于安全考虑,ECS 服务器 25 端口默认受限,如果要使用25端口发送邮件或相关程序的话,有两种解决办法:
一、登录阿里云控制中心 - 安全管控 - 业务申请 - 25端口解封
二、修改发送邮件程序以ssl形式链接,这里我用到的是PHPMailer类
-
// 配置邮件发送服务器
-
'MAIL_HOST' =>'smtp.163.com',//smtp服务器的名称
-
'MAIL_SMTPAUTH' =>TRUE, //启用smtp认证
-
'MAIL_USERNAME' =>'XXXXXX@163.com',//你的邮箱名
-
'MAIL_FROM' =>'XXXXXX@163.com',//发件人地址
-
'MAIL_FROMNAME'=>'发件人名称',//发件人姓名
-
'MAIL_PASSWORD' =>'XXXXXXX',//邮箱密码
-
'MAIL_CHARSET' =>'utf-8',//设置邮件编码
-
'MAIL_ISHTML' =>TRUE, // 是否HTML格式邮件
-
/**
-
* 邮件发送函数
-
*/
-
function sendMail($to, $title, $content) {
-
Vendor('PHPMailer.PHPMailerAutoload');
-
$mail = new PHPMailer(); //实例化
-
$mail->IsSMTP(); // 启用SMTP
-
$mail->Host=C('MAIL_HOST'); //smtp服务器的名称(这里以QQ邮箱为例)
-
$mail->Port=465; //smtp服务器的端口号
-
$mail->SMTPSecure='ssl'; //阿里云不支持25端口,所以只能用ssl连接
-
$mail->SMTPAuth = C('MAIL_SMTPAUTH'); //启用smtp认证
-
$mail->Username = C('MAIL_USERNAME'); //你的邮箱名
-
$mail->Password = C('MAIL_PASSWORD') ; //邮箱密码
-
$mail->From = C('MAIL_FROM'); //发件人地址(也就是你的邮箱地址)
-
$mail->FromName = C('MAIL_FROMNAME'); //发件人姓名
-
$mail->AddAddress($to,"尊敬的客户");
-
$mail->WordWrap = 50; //设置每行字符长度
-
$mail->IsHTML(C('MAIL_ISHTML')); // 是否HTML格式邮件
-
$mail->CharSet=C('MAIL_CHARSET'); //设置邮件编码
-
$mail->Subject =$title; //邮件主题
-
$mail->Body = $content; //邮件内容
-
$mail->AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示
-
return($mail->Send());
-
}
$mail->Port=465; //smtp服务器的端口号
$mail->SMTPSecure='ssl'; //阿里云不支持25端口,所以只能用ssl连接
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!
赏
支付宝赞助
微信赞助
免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。
您必须遵守我们的协议,如您下载该资源,行为将被视为对《免责声明》全部内容的认可->联系老梁投诉资源 LaoLiang.Net部分资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。
敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:service@laoliang.net
意在交流学习,欢迎赞赏评论,如有谬误,请联系指正;转载请注明出处: » 阿里云(ECS)服务器不能用QQ或者163STMP发邮件问题解决方案