邮件发送失败:请检查配置填写是否正确或更改PHP版本后再重试。

21521-23020G64056445

今天有用户反馈邮件发送失败的问题,用户用的是阿里云虚拟主机,后面经过排查才发现是阿里云有一个PHP函数关闭了导致不能正常发信。

PHP函数fsockopen设置 ,阿里云的虚拟主机要打开这个

21521-23020GRS6128

启用就可以正常发信了,碰到类似问题的小伙伴可以试试

 

<?php
require 'PHPMailerAutoload.php';
require_once('class.phpmailer.php');
require_once("class.smtp.php");
$mail = new PHPMailer();

$mail->CharSet="UTF-8";           //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置为 UTF-8
$mail->IsSMTP();                  //设定使用SMTP服务
$mail->SMTPAuth = true;           //启用SMTP验证功能
$mail->SMTPSecure = "ssl";        //启用SSL
$mail->SMTPDebug = 2;
$mail->Host = "smtp.****.com";    //SMTP服务器
$mail->Port = 465;                //SMTP服务器的端口号
$mail->Username = "test01";                                      //SMTP服务器用户名
$mail->Password = "123****";                                     //SMTP服务器密码
$mail->SetFrom('a***@example.com' 'a***');                      //设置发件人地址和名称
$mail->AddReplyTo("b***@example.com""b***");                    //设置邮件回复人地址和名称
$mail->Subject = '邮件标题';                                      //设置邮件标题
$mail->AltBody = "为了查看该邮件,请切换到支持HTML的邮件客户端"; //可选项,向下兼容考虑
$mail->MsgHTML('<html>helo</html>');                             //设置邮件内容
$mail->AddAddress('c***@example.com' "c***");
$mail->AddAttachment("images/phpmailer.gif");                    //附件
if(!$mail->Send()) {
    echo "发送失败:" . $mail->ErrorInfo;
} else {
    echo "恭喜,邮件发送成功!";
}
?>

这个是阿里云官方给的 PHP发信测试代码,不行的话,可以单独使用代码测试下,改成自己的信息,保存为PHP文件传上去根目录访问测试

阿里云的虚拟主机  25端口是不行,有封闭,465的话,就要开启 PHP函数的fsockopen

21521-23020GS10D34

原文链接:https://www.zsiss.com/8916.html,转载请注明出处。
0

评论0

请先
响应式商品礼盒包装外贸企业网站模板zs31394
响应式商品礼盒包装外贸企业网站模板zs31394
9分钟前 有人购买 去瞅瞅看

社交账号快速登录