在后缀中列出某些电子邮件地址的白名单



我正在努力解决如何让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帐户发送,但前提是收件人地址在白名单中

请显示一些日志。

我怀疑你是通过/usr/bin/sendmailpostdrop发送电子邮件。这两个命令都绕过了smtpd,也绕过了smtpd_recipient_restrictions,因为它们将本地传递到后缀,而不是通过网络。

如果发送的电子邮件是通过网络(也通过smtpd)到达的,那么也显示配置(postconf -n),因为您可能有其他配置正在更改这些电子邮件的最终结果。

最新更新