问题描述: 在部署时,Google SMTP 不起作用,但在本地服务器上可以正常工作。
解决方法:
检查防火墙设置:确保服务器上的防火墙允许出站 SMTP 连接。如果防火墙阻止出站 SMTP 连接,你需要配置防火墙规则允许服务器与 Google SMTP 服务器通信。
检查网络连接:确保服务器能够连接到互联网,并且与 Google SMTP 服务器建立连接。可以尝试从服务器上使用 ping
命令检查是否能够访问 Google SMTP 服务器。
检查SMTP认证凭据:确保在部署服务器上使用的 SMTP 认证凭据与本地服务器上的凭据相同。你可以检查代码中的 SMTP 凭据配置是否正确。
考虑使用其他SMTP服务提供商:如果问题仍然存在,你可以尝试使用其他的 SMTP 服务提供商,例如 SendGrid、Mailgun 等。这些服务提供商通常提供更稳定和可靠的 SMTP 服务。
下面是一个使用 PHPMailer 库的示例代码,展示了如何在 PHP 中配置和使用 Google SMTP:
isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'your-email@gmail.com'; // 你的 Google 邮箱地址
$mail->Password = 'your-password'; // 你的 Google 邮箱密码
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
// 设置发件人和收件人
$mail->setFrom('your-email@gmail.com', 'Your Name');
$mail->addAddress('recipient@example.com', 'Recipient Name');
// 设置邮件主题和内容
$mail->Subject = 'Testing Google SMTP';
$mail->Body = 'This is a test email sent through Google SMTP';
// 发送邮件
$mail->send();
echo 'Email sent successfully';
} catch (Exception $e) {
echo 'Email could not be sent. Error: ', $mail->ErrorInfo;
}
?>
请确保你已经安装了 PHPMailer 库,并根据你的实际情况修改上述代码中的 SMTP 凭据和收件人信息。
下一篇:部署时构建库文件