首页 >后端开发 >php教程 >为什么我的 PHPMailer 无法连接到 SMTP 主机?

为什么我的 PHPMailer 无法连接到 SMTP 主机?

DDD
DDD原创
2024-12-13 12:56:15655浏览

Why Can't My PHPMailer Connect to the SMTP Host?

如何解决 PHPMailer 的“SMTP 错误:无法连接到 SMTP 主机”

PHPMailer,一个广泛使用的用于发送电子邮件的 PHP 库,有时会遇到错误消息“SMTP 错误:无法连接到 SMTP 主机”。当 PHPMailer 无法与主机和端口设置中指定的 SMTP 服务器建立连接时,通常会发生此错误。

要解决此问题,将 PHPMailer 使用的 SMTP 设置与 PHPMailer 使用的 SMTP 设置进行比较至关重要。已知工作的电子邮件客户端,例如 Thunderbird。在本例中,Thunderbird 的设置为:

  • 服务器名称:mail.exampleserver.com
  • 端口:587
  • 用户名:[电子邮件受保护]
  • 安全身份验证:否
  • 连接安全: STARTTLS

接下来,确保为 SMTP 设置正确配置 PHP 代码。提供的代码示例显示正确,但请确保验证以下内容:

  • 主机:将其设置为“mail.exampleserver.com”或您的电子邮件提供商提供的 SMTP 服务器地址。
  • 端口:将其设置为 587。
  • SMTPAuth:将其设置为 true 以启用 SMTP身份验证。
  • 用户名:将其设置为您的电子邮件地址(例如,[电子邮件受保护])。
  • 密码:将其设置为与您的电子邮件地址关联的密码。

如果 SMTP 设置正确并且问题仍然存在,请考虑以下措施解决方案:

更新 SSL 认证的 PHP 版本

如果您最近将 PHP 升级到版本 5.6,可能已经实施了更严格的 SSL 行为。 PHPMailer 的文档建议了一种解决方法:

$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);

注意: 此解决方案只是临时修复,应替换为正确的修复,例如用有效证书替换无效或自签名证书.

以上是为什么我的 PHPMailer 无法连接到 SMTP 主机?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn