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

Veo*_*vis 5 postfix

我已经像这样配置了 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
...
Run Code Online (Sandbox Code Playgroud)

因此,我有以下日志:

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=<sender@domain.com> to=<my@mydomain.com> proto=ESMTP helo=<emailsecurity.domain.com>
Run Code Online (Sandbox Code Playgroud)

此示例日志是合法电子邮件,因此我将 check_helo_access 列入白名单,如下所示:

/etc/postfix/check_helo_access:
emailsecurity.domain.com OK
...
Run Code Online (Sandbox Code Playgroud)

它有效,但我认为白名单可能会得到加强。我可以按主机或发件人列入白名单,但不能同时按两者。

通过特定主机发送时,如何根据特定发件人/域发件人将电子邮件列入白名单?

ALe*_*hha 4

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

实际上你可以。您所需要的只是使用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
Run Code Online (Sandbox Code Playgroud)