我有 Postfix 服务器。我可以使用 Thunderbird 通过它发送电子邮件,没有任何问题。对于 smtp,我有:
port - 587
Normal Password
STARTTLS
但是,我无法通过自己的应用通过同一台服务器发送电子邮件。设置如下:
server: "mail.my_server.com",
username: "aaa@my_domain123.com",
password: "fdsafdsafdsfds"",
port: 587,
allowed_tls_versions: [:"tlsv1", :"tlsv1.1", :"tlsv1.2"],
retries: 5,
auth: :if_available
// tls: :always,
// ssl: true,
// no_mx_lookups: false, # can be `true`
// auth: :always,
我有一个例外:
450 4.7.1 Client host rejected: cannot find your reverse hostname: 11.22.33.44
其中 11.22.33.44 是我家用电脑的外部 IP
我如何才能从家用电脑通过 Thunderbird,但不是我的应用程序在同一台家用电脑上运行,使用相同的服务器,并且大概是 - 设置?
答案1
我敢打赌,这是因为你的应用程序发送了类似localhost
或localhost.localdomain
在 EHLO或者根本不发送 EHLO。Thunderbird 很可能会发送更合适的值。
/var/log/maillog
当您尝试从应用程序发送邮件时以及从 Thunderbird 发送邮件时,您能否发布输出?
一个快速的解决方案可能是删除拒绝未知的 helo 主机名指令smtpd_helo_restrictions配置。更安全且可能同样快速的解决方案是配置我的网络然后使用允许我的网络指令smtpd_helo_restrictions配置。