postfix - 如何将所有电子邮件重定向到一个用户,例如 *@example.com →

postfix - 如何将所有电子邮件重定向到一个用户,例如 *@example.com →

我使用 postfix 收发电子邮件。我知道我可以使用 /etc/aliases 和 newaliases 命令来重定向某些电子邮件,例如我可以重定向[电子邮件保护][电子邮件保护]通过将root: user我的 /etc/aliases 放入其中,然后运行newaliases​​。但是我想执行 的等效操作*: user,以便所有发送到 example.com 的电子邮件都将发送到[电子邮件保护]

我该怎么做呢?

答案1

luser_relay = [email protected]你的心中main.cf就有你想要的。

要禁用用户检查并接受所有邮件,您需要添加该local_recipient_maps =选项。文档

答案2

您正在寻找的是一个虚拟别名表,可以使用以下命令完成......

首先,您需要编辑或创建(如果尚不存在)/etc/postfix/虚拟文件。

example.com   whatever
@example.com  [email protected]

保存后,您需要运行postmap /etc/postfix/virtual以生成索引/etc/postfix/virtual.dbPostfix 将会读取。

然后你需要编辑/etc/postfix/main.cf并确保以下行已被取消注释:

virtual_alias_maps = hash:/etc/postfix/virtual

这实际上会让 postfix 知道虚拟别名表并使用它。

其他人提到过,使用该选项的问题luser_relay是,本地投递代理会将此视为对未知地址的最后手段。如果 postfix 只处理一个域的邮件,则可以使用此方法,但它可能会掩盖其他配置错误,并且如果处理多个域,可能会导致意外结果。

我觉得有义务提及的一个警告是,通过创建这种性质的通配符别名,您将打开您的邮件系统来接受不存在的地址的消息,并冒着邮箱很快被不存在的邮箱的垃圾邮件填满的风险。

答案3

其实很简单。你需要做的就是将类似下面的内容放入你的main.cf文件中:

virtual_alias_maps = regexp:/etc/postfix/virtual_alias

这个regexp部分起到了作用。另外,/etc/postfix/virtual_alias你还可以输入如下内容:

/^test/ [email protected]

在此示例中,您应该收到所有以“test”开头的邮件。不要忘记 postmap /etc/postfix/virtual_alias 并重新加载 postfix。

答案4

如果您想要为 mydomain 使用一个 catch-all 地址,则可以/etc/aliases结合正则表达式使用,如下所示:

添加/etc/postfix/main.cf
alias_maps = hash:/etc/aliases, regexp:/etc/postfix/catch-all-local.regexp

添加/etc/postfix/catch-all-local.regexp
!/^owner-/ your-catch-all-user

这应该可以解决问题。它对我有用,并且与并行设置的 virtual_alias_maps 一起工作。

相关内容