Postfix:多个收件人,每个收件人单独传输(FILTER)

Postfix:多个收件人,每个收件人单独传输(FILTER)

我已经为所有外部邮件设置了默认智能主机/中继,如下所示:

主文件:

relayhost = [1.2.3.4]:587

但是,我希望直接发送给具有特定 MX(nb *google.com)的收件人,而不使用中继主机,因此我这样做了:

主文件:

smtpd_recipient_restrictions =
  check_recipient_mx_access pcre:/etc/postfix/mxtransport
  ...

MX运输:

/google\.com$/ FILTER smtp:
/googlemail\.com$/i FILTER smtp:

对于单个收件人,此操作是可行的。如果邮件发送给多个收件人(使用 To:/Cc:/Bcc:),并且部分指定收件人满足 mxtransport 规则,而部分不满足,则 Postfix 会将邮件发送给所有收件人,而忽略默认的中继主机定义。例如,如果我将电子邮件发送给[电子邮件保护],Postfix 正确设置了过滤器并直接发送邮件,而无需使用智能主机。但是,如果我向多个收件人发送包含以下内容的邮件[电子邮件保护][电子邮件保护],它仍然假设我想为所有收件人跳过智能主机。

当指定多个收件人时,每个收件人是否可以有不同的传输方式?

答案1

不可以,因为是smtpd_recipient_restrictions在接收邮件时进行评估的,因此只有一个结果可以应用于整个邮件。通常,您会为此使用传输映射,但这只能基于收件人域进行查找,而不能基于收件人域的 MX 记录进行查找。

相关内容