PHPMailer 不在托管服务器上发送电子邮件,可在具有 Gmail SMTP 的本地主机上工作

问题描述 投票:0回答:1

将我的项目上传到托管服务器后,我无法让 PHPMailer 通过 Gmail 的 SMTP 服务器发送电子邮件。它在我的本地主机上运行得很好,但是一旦我上传它,它就无法发送电子邮件,我不知道为什么。

$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';         // Gmail SMTP server
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';      // Replace with your Gmail address
$mail->Password = 'your_app_password';         // Gmail App Password
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->Port = 465;

其他背景 我使用 Gmail 的应用程序密码,因为我的帐户启用了双因素身份验证。 PHPMailer已更新至最新版本。 我遇到的唯一错误是 smtp 无法连接到服务器。

我尝试做这些事情:

验证代码在我的本地主机环境上完美运行。 仔细检查 Gmail 应用程序密码和 SMTP 设置以确保它们正确。 与我的托管提供商核实后,他们确认他们没有阻止任何 SMTP 或限制流量。 尝试了端口 465 上的 ssl 和端口 587 上的 tls,但在托管服务器上都不起作用。

希望有人能帮我解决这个问题,谢谢!

php email web smtp
1个回答
0
投票

通过 Gmail 的 SMTP 服务器发送电子邮件时出现问题。 检查服务器防火墙和出站连接。 检查 PHPMailer 的调试输出。 更新 PHP 版本和扩展。 使用另一个 SMTP 服务器进行测试。 通过启用 PHPMailer 的调试输出、检查服务器限制并确保 PHP 配置正确,您应该能够获得有关问题所在的更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.