有些电子邮件托管商是混蛋。无论您的黑名单是 SPK、DKIM 还是 DMARC,它们都会阻止您的电子邮件。
为了解决这个问题,我使用设置了一个中继sender_dependent_relayhost_maps
。我们的中继有多个具有不同用户名/密码的域。例如,以下是 上的两个域smtp_sasl_password_maps
:
@example.com user1/pass1
@example.net user2/pass2
现在,因为我想与那些混蛋电子邮件主机合作来解决问题,所以我添加了自己的电子邮件,如下所示sender_dependent_relayhost_maps
:
[email protected] DUNNO
example.com relay
example.net relay
一般来说,这是可行的,但是当我使用 发送电子邮件时[email protected]
,postfix 会尝试使用 user1/pass1 与不是中继的服务器进行身份验证。
文档说:
如果未找到用户名:密码条目,则 Postfix SMTP 客户端将不会尝试对远程主机进行身份验证。
有什么办法可以禁用身份验证吗?
该文档是正确的,但您的问题是
@example.com
与[email protected]
. 我认为您不能简单地添加一行包含空用户名和密码的行,因为查找表预计是具有非空值的键值对 - 即使该表本质上是一个list。然而,Postfix 查找表类型
hash:
并不是唯一的。您可以使用类型查找表来实现您想要的目标,而不是:regexp:
smtp_sasl_password_maps = regexp:/etc/postfix/smtp_sasl_password_maps
然后在文件中使用正则表达式
REGEXP_TABLE(5)
,如下所示:最后,测试
postmap -q
: