Postfix 转发规范图

Postfix 转发规范图

由于 IP/域名信誉问题(我的服务器和域名非常新),我不得不使用 Amazon SES 作为 SMTP 中继,以免我的邮件被标记为垃圾邮件。

我与亚马逊的设置运行良好,但我无法使用亚马逊 SMTP 转发邮件,因为必须验证 FROM 标头的地址。

我决定只通过 Amazon 发送直接从我的服务器发送的邮件,并且只使用我自己的 SMTP 进行转发。(因为这些邮件是由其他信誉良好的服务器签名的,所以即使邮件是由我的服务器发送的,也不会被标记为垃圾邮件)

为此,我使用了以下设置:

relayhost =
sender_dependent_relayhost_maps = hash:/etc/postfix/relayhost_maps

sender_canonical_maps = regexp:/etc/postfix/sender_canonical
sender_canonical_classes = envelope_sender
smtpd_data_restrictions = check_sender_access pcre:/etc/postfix/sender_access

中继主机映射:

[email protected] [email-smtp.eu-west-1.amazonaws.com]:25
@domain2.tld [email-smtp.eu-west-1.amazonaws.com]:25
@domain3.tld [email-smtp.eu-west-1.amazonaws.com]:25
@domain4.tld [email-smtp.eu-west-1.amazonaws.com]:25
@domain5.tld [email-smtp.eu-west-1.amazonaws.com]:25

发送者规范:

/.*/    [email protected]

发送者访问权限:

/(.*)/  prepend X-Envelope-From: <$1>

我正在通过亚马逊转发我域名下的所有邮件,除了 domain1 以外,它将用于地址转发[电子邮件保护]。我需要重写信封地址,才能转发邮件。

我的问题是,我只想重写来自我服务器外部并转发到外部网络邮件的邮件的信封地址。所有直接从我的用户网络邮件发送的邮件都必须通过亚马逊。

答案1

经过进一步研究后,似乎实现我想要的方法是在 sender_canonical 文件中使用 regexp。

我尝试写出下面的表达式,但是好像有些错误。

/^(([email protected])([email protected])([email protected])([email protected])([email protected]).)*$/gm [email protected]

编辑:我终于找到了写表达式的正确方法:

!/@domain1.tld|@domain2.tld|@domain3.tld|@domain4.tld|@domain5.tld/    [email protected]

相关内容