将发送给某个用户的特定电子邮件地址重定向至另一个用户

将发送给某个用户的特定电子邮件地址重定向至另一个用户

当以下两个条件同时满足时,我需要在我们的 MTA 内重定向电子邮件:

当电子邮件:

结果:将电子邮件重定向至[电子邮件保护]

我不想捕获 *@isp.com 并重定向,也不想重定向所有发往[电子邮件保护]但仅当[电子邮件保护]发送[电子邮件保护]一封电邮。

如何在 Postfix 的配置中实现这一点。如果在 Postfix 中无法实现,最好的解决方案是什么?

答案1

您可以使用聚合酶链反应 在 /etc/postfix/main.cf 中:

header_checks = pcre:/etc/postfix/headers_check

在/etc/postfix/headers_check:

/To:.*@(?!mail.domain.com) && From:.*@?!extdomain.com/ REDIRECT [email protected]

PCRE 与 perl 常规扩展一起工作,您可以指定任何条件。

答案2

如果您不想使用 procmail 那么也许您想要类似下面的内容:

/etc/postfix/main.cf:

smtpd_restriction_classes = redirect
redirect = check_recipient_access hash:/etc/postfix/maps/redirections
smtpd_recipient_restrictions = [...some checks...],
                               check_sender_access hash:/etc/postfix/maps/user_to_redirect,
                               [...some more checks...]

在/etc/postfix/maps/user_to_redirect中:

[email protected]                   redirect

在/etc/postfix/maps/重定向:

[email protected]            [email protected]

更多信息请参阅:http://www.postfix.org/RESTRICTION_CLASS_README.html

答案3

您是否考虑过使用 procmail 的 .forward?检查这里让我们知道这是否能满足您的需求。

具体来说,将“转发”指令(用于将邮件推送回另一个地址)与“垃圾邮件”部分(用于识别正确的电子邮件)结合起来,似乎可以实现您想要的功能。

答案4

这是将所有邮件从 extdomain1.ltd 转发到特殊邮箱的有效配置[电子邮件保护]

#cat main.cf
..
header_checks = pcre:/etc/postfix/header_checks
..

#cat /etc/postfix/header_checks
/From:.*@extdomain1.ltd/ REDIRECT [email protected]

不要忘记发送更新 postfix 命令来重新读取配置。

相关内容