【问题标题】:Connection refused to outlook.company.com mail server through php通过php连接到outlook.company.com邮件服务器被拒绝
【发布时间】:2022-10-08 13:43:51
【问题描述】:

问题, 我正在使用 6.1 (https://symfony.com/doc/current/mailer.html) 的 symfony 邮件程序,并且在尝试向服务器发送电子邮件时似乎连接被拒绝。通常,我会假设用户名/密码,但我 99% 确定它正在向服务器发送正确的凭据。当我转储邮件对象的内容时,我可以看到 -username -password 对象与它们应该是匹配的。

使用以下设置,端口 587、smtp、outlook.company_name.com、Authmode 登录(尝试使用和不使用 DSN 字符串),我尝试在同一端口 587 上启用 TLS 并禁用它。我想知道是否有人有一些好的让这个正常工作的例子(S)?我已经验证了用户名/密码,因为它允许我通过 web gui 进入,但我觉得这很特别,我可能正在使用 DSN 字符串或其他一些设置/不正确的端口。如果有人有任何提示,我也不确定调试的正确方法是什么。

【问题讨论】:

  • 如果您发布实际的 DSN 而不是描述它,它会更有用。请记住,如果您的用户/密码有任何特殊字符,它必须是urlencoded。也就是说,由于错误是“连接被拒绝”而不是身份验证失败,我会说这是一个 dns 或服务器的 smtp 连接配置错误。如果可以,请与您的基础架构团队联系。
  • 所以它在dsn中有urlencoded值,它可以到达服务器。 smtps://username:password@outlook.company.com:587?&auth_mode=login 我还尝试对服务器的 ip 进行硬编码。在这一点上,不能 100% 确定这是自动发现所需设置的问题,还是被合法阻止。与相同的设置一样,我们设置的 python 模块似乎可以正常工作。

标签: php symfony phpmailer


【解决方案1】:

如果您的 Outlook 服务由 Microsoft 托管,您很可能会看到 their policy change that no longer allows SMTP authentication using ID and password

您需要实现 XOAUTH2 支持,尽管 PHPMailer 在技术上支持(您实际上并没有使用它,因为它与 Symphony 邮件程序不同),但证明 very difficult to get working in practice

【讨论】:

  • 是的,我们使用python模块exchangelib让它正常工作,我一直在试图弄清楚为什么一个工作(使用最低限度的设置)而php今天很糟糕。我很确定我们是内部托管的,但不是 100%
【解决方案2】:

@rob 看看我的新 wiki 文章,看看这是否有助于您设置它

https://github.com/PHPMailer/PHPMailer/wiki/Microsoft-Azure-and-XOAUTH2-setup-guide

【讨论】:

    猜你喜欢
    • 2014-08-30
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-09
    • 2012-02-21
    相关资源
    最近更新 更多