仅在一台具有相同设置的服务器上拒绝 Postfix 中继访问

仅在一台具有相同设置的服务器上拒绝 Postfix 中继访问

我正在为我的两台服务器设置 Postfix 服务器。为了确保设置完全相同,我尽量避免手动命令设置,并构建和运行包含必要更改的 Ansible 剧本。

但是,现在我遇到了一个奇怪的问题:一台服务器系统地拒绝一封测试电子邮件,而另一台服务器却接受来自同一电子邮件地址的电子邮件。

两台服务器都设置为将虚拟用户的电子邮件转发到外部地址,如[email protected]转发至[email protected][email protected]转发至[email protected]等。

两台服务器在将电子邮件转发到 Gmail 地址时都使用 opendkim 和 postsrsd 来与 Google 保持良好的关系。

没有 Dovecot 设置等等。

我使用来自受信任 ISP 的 1 个电子邮件地址进行了测试,并向[email protected]两台服务器发送了测试邮件。两台服务器都将电子邮件转发到我的 gmail 地址。

两个服务器都说:

connect from [my ISP email server]
Untrusted TLS connection established from [my ISP email server]: TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)

“好”的服务器继续并记录 postsrsd 和 opendkim 操作,最后将电子邮件发送到我的 gmail 地址:status=sent

“坏”服务器立即记录:

NOQUEUE: reject: RCPT from [my ISP email server]: 554 5.7.1 [virtual address]: Relay access denied;

两台服务器的main.cfmaster.cf都相同(主机名和域除外)。 两者都使用相同的 opendkim 和 postsrsd 配置。

我还能在哪里找到发生这种情况的原因?

答案1

因为我花了几个小时才找到,所以我将答案放在这里以帮助其他人:

原来我将虚拟域设置从 main.cf 中的内联移到了单独的文件中。Ansible 剧本出了点问题,所以文件最终为空(即只有注释,没有域定义)。一旦我输入域,一切都像以前一样工作。

IE:virtual_alias_domains = hash:/etc/postfix/virtual_domains

指向一个不包含任何条目的文件。输入我的域名后:

mydomain.com OK

并使用 postmap 等来告诉 postfix 选择它,一切正常。

相关内容