阿里云在基于安全考虑的情况下封了25端口,所以使用25端口没办法发送邮件。

解决方法一
登录到阿里云控制台 —— 鼠标移到右上角头像 —— 安全管控 —— 业务申请 —— 25端口解封(左侧栏最后就可以看到25端口解封)
5.png
按照说明填写需要的信息提交等待就行了

解决方法二
修改发送邮件程序,改成ssl加密形式,例如使用PHPMailer类:

/**
* 邮件发送函数
*/
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());
}

typecho、emlog或wp博客类邮件通知插件设置方法:smtp地址加上ssl:// smtp端口:465 加密模式为ssl加密
6.png


本文由博主原创,部分代码来源网络。

Last modification:February 10th, 2020 at 02:56 pm
如果觉得我的文章对你有用,请随意赞赏