我试图弄清楚如何让postfix只允许电子邮件通过某些电子邮件地址。
我使用以下配置工作:
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/access, reject
然后访问包含
example1.com OK
example2.com OK
miles@example3.com OK
这很有用 - 邮件发送到白名单中没有的任何内容都被邮件服务器拒绝了。
然后我想通过gmail路由我的所有外发邮件,所以添加了
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes
现在看来postfix忽略了白名单,并将所有内容发送到gmail服务器。
任何人都可以解释为什么会这样,以及我可能需要做些什么来解决这个问题?
简而言之 - 我希望通过Gmail帐户发送所有邮件,但前提是收件人地址位于白名单中。
答案 0 :(得分:0)
请显示一些日志。
我怀疑您是通过/usr/bin/sendmail
或postdrop
发送电子邮件。这两个命令都绕过了smtpd,所以smtpd_recipient_restrictions
,因为它们本地传递到后缀,而不是通过网络。
如果发送的电子邮件是通过网络到达的(通过smtpd发送),那么也显示配置(postconf -n
),因为您可能有其他配置正在更改这些电子邮件的最终结果。