阿里云服务器不能发邮件,禁用25端口的解决办法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云服务器不能发邮件,禁用25端口的解决办法相关的知识,希望对你有一定的参考价值。

前阵子刚刚买了个阿里云服务器,在做发送邮件功能时,发现本来在本地测试没问题的功能,在服务器上连接超时。

  后来发现是阿里云将25端口禁用了(“坑!当然也有其道理”),大概2016年9月后买的服务器都被禁用。25禁用了,我们就不用它。以163邮箱为例:

网易163免费邮箱相关服务器信息:

技术分享

我这里用的就是SSL协议端口465,代码如下

<?php
header("content-type:text/html;charset=utf-8");
include("/PHPMailer/class.phpmailer.php");
include("/PHPMailer/class.smtp.php");

$mail = new PHPMailer(true);
$mail->IsSMTP();
$mail->CharSet=‘UTF-8‘; //设置邮件的字符编码,这很重要,不然中文乱码
$mail->SMTPAuth = true; //开启认证
$mail->SMTPSecure = ‘ssl‘;//设置使用ssl加密方式登录鉴权
$mail->Port = 465;
$mail->Host = "smtp.163.com";
$mail->Username = "邮箱名";
$mail->Password = "授权码";
//$mail->IsSendmail(); //如果没有sendmail组件就注释掉,否则出现“Could not execute: /var/qmail/bin/sendmail ”的错误提示
$mail->AddReplyTo("邮箱名","mckee");//回复地址
$mail->From = "邮箱名";
$mail->FromName = "www.phpddt.com";
$to = "收件人";
$mail->AddAddress($to);
$mail->Subject = "本测试标题";
$mail->Body = "<h1>phpmail演示</h1>这是php点点通(<font color=red>www.phpddt.com</font>)对phpmailer的测试内容";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; //当邮件不支持html时备用显示,可以省略
$mail->WordWrap = 80; // 设置每行字符串的长度
//$mail->AddAttachment("f:/test.png"); //可以添加附件
$mail->IsHTML(true);
if(!$mail->Send())
{
echo "邮件发送有误 <p>";
echo "邮件错误信息: " . $mail->ErrorInfo;
exit;
}
else {
echo "邮件发送成功!<br />";
}
?>

其实也就在配置里加了

$mail->SMTPSecure = ‘ssl‘;//设置使用ssl加密方式登录鉴权
$mail->Port = 465; 

由于本人小菜鸡,花了好长时间才搞好,所以记一笔。希望对遇到阿里云服务器发邮件问题的朋友能有帮助.

 



































以上是关于阿里云服务器不能发邮件,禁用25端口的解决办法的主要内容,如果未能解决你的问题,请参考以下文章

阿里云服务器25端口禁用之如何使用Java发邮件(解决25端口禁用问题)

ECS云服务器不支持Emlog插件Sendmail发邮件的解决办法

使用465端口加密发邮件

阿里云服务器 发送邮箱 STMP 25端口 465端口问题 Javamail 25被禁用

阿里云搭建邮箱服务无法发送邮件,可能是端口问题

2阿里云ECS发送邮件到腾讯企业邮箱(ECS默认不开启25端口)