我已经像这样配置了 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
...
它可以工作,但我认为白名单功能可能需要加强。我可以根据主机或发件人将其列入白名单,但不能同时进行。
当通过特定主机发送电子邮件时,如何根据特定发件人/域发件人将电子邮件列入白名单?
答案1
我可以按主机或发件人列入白名单,但不能同时按两者列入白名单。
其实你可以。你只需要使用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