Postfix:特定发件人的白名单主机

我已经configuration了这样的postfix来防止垃圾邮件(我是mydomain.com):

smtpd_helo_restrictions = permit_mynetworks permit_sasl_authenticated check_client_access hash:/etc/postfix/check_client_access check_helo_access hash:/etc/postfix/check_helo_access reject_non_fqdn_helo_hostname reject_invalid_helo_hostname reject_unknown_helo_hostname ... 

因此,我有以下日志:

 Jul 30 00:04:14 stormrage postfix/smtpd[28116]: NOQUEUE: reject: RCPT from srv-exchange.anett.fr[80.118.5.170]: 450 4.7.1 <emailsecurity.domain.com>: Helo command rejected: Host not found; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<emailsecurity.domain.com> 

这个示例日志是一个合法的电子邮件,所以我在check_helo_access这样白名单:

 /etc/postfix/check_helo_access: emailsecurity.domain.com OK ... 

它的工作,但我认为白名单可能会加强。 我可以按主机或发件人列入白名单,但不能同时列入白名单。

当通过特定的主机发送邮件时,如何根据特定的发件人/域发件人列出电子邮件?

我可以按主机或发件人列入白名单,但不能同时列入白名单。

其实你可以。 所有你需要的是使用smtpd_restriction_classes

 smtpd_restriction_classes = sender_white_list sender_white_list = check_client_access hash:/etc/postfix/check_client_access, reject smtpd_helo_restrictions = check_helo_access hash:/etc/postfix/check_helo_access permit_mynetworks permit_sasl_authenticated /etc/postfix/check_helo_access emailsecurity.domain.com sender_white_list /etc/postfix/check_client_access 80.118.5.170 OK