【问题标题】:PHPMailer Works on WAMP but not on Production ServerPHPMailer 适用于 WAMP 但不适用于生产服务器
【发布时间】:2011-02-14 20:08:26
【问题描述】:

你好 我正在尝试使用 PHPMailer 通过 SMTP 发送电子邮件。因此,在我的开发服务器(我的计算机上的 WAMP)上,它工作正常。我使用的邮件服务器是 mail.jackbusch.net,它位于我要将网站上传到生产环境的同一共享主机上。

但是当我上传网站时,PHP 邮件程序停止工作并返回 SMTP:错误:无法验证(当我尝试使用 localhost 作为服务器时)和 SMTP 错误:无法连接(当我输入完整的 smtp服务器名称——即 mail.jackbusch.net)。

这对我来说似乎很奇怪,因为我有几个 Wordpress 安装可以很好地发送电子邮件通知——而且 WP 使用 Phpmailer,对吗?

我什至不知道从哪里开始解决这个问题?

编辑:感谢您的建议——我最终只使用了 PEAR Mail 包,它工作得很好。

我使用了此处显示的第二个示例: http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm

我认为一个关键的区别是,在我使用端口 26 之前,我第二次使用 SSL 端口作为我的网络主机(一个小橙色)。不管出于什么原因,这一次都解决了。

【问题讨论】:

  • 您是否在 phpmailer 中将身份验证设置为“开启”? $mail->SMTPDebug = 2; // 启用 SMTP 调试信息(用于测试) $mail->SMTPAuth = true; // 启用 SMTP 身份验证
  • 一些 ISP 阻止端口 25 (SMTP) 流量到“外国” SMTP 服务器作为反垃圾邮件措施。尝试通过 telnet 或其他一些终端仿真器应用程序直接连接到该邮件服务器的端口 25。如果它们也无法连接,则不是您的代码有问题,而是其他原因,例如防火墙。您可以尝试一些备用端口,例如 587。但如果您的 ISP 阻止端口 25 流量,他们可能也阻止了标准备用端口。
  • 这可能是 SSL/TLS 问题,而不是连接问题。你能显示你正在使用的 PHPMailer 代码吗?
  • @pekka 我认为你是对的——这是一个 SSL/TLS 问题。虽然我仍然感到困惑,为什么它可以在我的本地主机上使用相同的 phpmailer 代码和相同的邮件服务器工作,但在上传时却不能工作。

标签: php smtp phpmailer


【解决方案1】:

使用 PEAR Mail 包代替此处显示的 SSL 示例: http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm

【讨论】:

    猜你喜欢
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多