阿里云服务器不能发邮件,禁用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;

猜你喜欢

转载自blog.csdn.net/weixin_39442420/article/details/81202176
今日推荐