PHPMailer was able to connect to SMTP server but failed while trying to send an email. 解决办法

PHPMailer 连接 SMTP 服务器成功但发送邮件失败的解决办法

1. 检查 SMTP 服务器设置

检查您的SMTP服务器设置是否正确,包括端口、身份验证、加密等。


//样例:使用PHPMailer连接SMTP服务器并设置身份验证
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'smtp.example.com';
$mail->SMTPAuth = true;
$mail->Username = 'yourname@example.com';
$mail->Password = 'yourpassword';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;

2. 检查邮件内容

检查您的邮件内容是否包含无效字符、过大的附件等,这些情况可能导致邮件发送失败。

3. 检查防火墙设置

如果您的 SMTP 服务器运行在内部网络中,可能需要检查防火墙设置,确保端口不会被阻止。

4. 检查服务器限制

某些共享虚拟主机平台可能有限制,例如发送邮件的次数限制或每封邮件的收件人数量限制等等,请检查您的服务器限制并与您的主机提供商联系。

通过以上步骤,您应该能够解决 PHPMailer 连接SMTP服务器成功但在尝试发送邮件时失败的问题。

//样例:使用PHPMailer连接SMTP服务器并发送邮件
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'smtp.example.com';
$mail->SMTPAuth = true;
$mail->Username = 'yourname@example.com';
$mail->Password = 'yourpassword';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;

$mail->setFrom('sender@example.com', 'Sender Name');
$mail->addAddress('recipient@example.com', 'Recipient Name');
$mail->addReplyTo('info@example.com', 'Information');

$mail->isHTML(true);
$mail->Subject = 'Subject';
$mail->Body = 'Email Body';
$mail->AltBody = 'Alternative Email Body';

if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent successfully';
}
晓白博客网版权所有,原文地址https://www.xbnb.cn/5141
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容