exim4 smtp 连接到 rogers.com

exim4 smtp 连接到 rogers.com

我正在尝试在 Debian/Buster 服务器上设置 exim4 以与我的新 ISP (Rogers.com) 配合使用。它们需要端口 465 上的 SSL 连接,这并不罕见,但我无法让它工作。他们确实需要一些他们称之为异常程序的应用程序密码,这似乎只是他们为帐户生成的一个非常强的密码。

我已将 passwd.client 设置为在发送电子邮件时使用似乎与 smtp.broadband.rogers.com 连接的所有各种服务器(例如 *.yahoo.com、*.yahoodns.net),以便它应该无论何处要求输入应用程序密码,都请使用该应用程序密码。

我也使用了来自的建议https://halon.io/blog/how-to-test-smtp-servers-using-the-command-line/测试我的连接。特别是,在尝试命令之后

openssl s_client -connect smtp.broadband.rogers.com:465 -starttls smtp

没有 -starttls smtp 也是同样的事情,我得出的结论是它不需要 starttls。我的 Thunderbird 设置证实了这一点。

我能够使用我尝试发送邮件的帐户的 Base64 编码用户名和应用程序密码(按照 halon.io 的说明)登录 smtp 服务器。

当然,rogers 不支持 Linux,所以我需要帮助来了解如何使其工作。

我相信 Debian 针对 GnuTLS 而不是我用于测试的 OpenSSL 包编译 exim4,但 Debian 的 wiki 表明这不应该是问题。

有任何想法吗?

答案1

  1. 将 rogers.com SMTP 服务器设置为您的智能主机。附加:465到名称,即smtp.broadband.rogers.com:465使用该端口而不是 25。这应该使用命令设置dpkg-reconfigure exim4-config

  2. 将该服务器的名称放入您的 passwd.client 中,而不是目标地址(否则您需要该文件中的整个世界)。进一步挖掘,似乎smtp.broadband.rogers.com是链接到 的 CNAME smtp-rog.mail.a03.yahoodns.net,因此您对 的引用yahoodns.net。因此,您需要将转发 DNS 条目的 rDNS 名称放入您的passwd.client文件中。

    您可以使用这个小脚本来确定这些

    for ip in $(dig +short smtp.broadband.rogers.com | grep -v '[[:alpha:]]')
    do
        dig +short -x "$ip"
    done | sed 's/\.$//'
    
    smtp.rog.mail.vip.bf1.yahoo.com
    smtp.rog.mail.vip.ne1.yahoo.com
    smtp.rog.mail.vip.gq1.yahoo.com
    
  3. 您可能需要告诉 Exim 配置 465 是 SSL。对此的调用应放置在配置文件的顶部附近exim4(我使用conf.d/main/00_local-config):

    tls_on_connect_ports = 465
    

    update-exim4.conf每次更改配置文件的任何部分时都重新运行。exim4如果您将其用作守护程序,您还需要重新启动。

相关内容