我有带 postfix 的服务器。因为谷歌不喜欢我的 IP 地址,所以我使用外部 SMTP 服务器来发送电子邮件。我设置了它check_recipient_mx_access
,我知道它“以前”能用。不幸的是,今天我发现它不再起作用了。
main.cf
有以下内容:
smtpd_sender_restrictions =
check_recipient_mx_access pcre:/etc/postfix/mxtransport
sender_dependent_relayhost_maps = hash:/etc/postfix.host/sender_relay
transport_maps = hash:/etc/postfix.host/transport
/etc/postfix.host/sender_relay
且/etc/postfix.host/transport
为空。
/etc/postfix/mxtransport
如下面所述:
/google\.com$/ FILTER smtp:[my.smtpd.com]:2500
/googlemail\.com$/ FILTER smtp:[my.smtpd.com]:2500
/protection\.outlook\.com$/ FILTER smtp:[my.smtpd.com]:2500
我尝试了几种方法,但似乎不起作用。
答案1
好的,谜团解开了。
check_recipient_mx_access
仅当电子邮件来自 SMTP 时才有效,例如端口 25 上的 telnet。
如果我使用sendmail
或mailx
消息直接进入队列(postdrop)并且这些检查似乎被跳过。