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


27

我的电子邮件使用了后缀。我知道我可以使用/ etc / aliases和newaliases命令来重定向某些电子邮件,例如,可以通过放入root: user/ etc / aliases然后运行来将root@example.com重定向到user@example.com newaliases。但是,我想做的等效项*: user,以便所有发送到example.com的电子邮件都将发送到user@example.com。

我该怎么做呢?

Answers:


19

luser_relay = user@example.commain.cf你想要的。

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


1
我将其添加到main.cf并重新启动了postfix。我在/var/log/main.info中收到以下错误:<pre> 550 5.1.1 <myrandom@example.org>:收件人地址被拒绝:本地收件人表中的用户未知;从= <me@gmail.com>到= <myrandom@example.org> </ pre>
罗里(Rory)2009年

因此example.org不在您的本地收件人域列表中,或者其他配置错误。
womble

7
我知道了 除了您提到的luser_relay选项,还需要添加“ local_recipient_maps =“选项。此postfix文档页面说明:postfix.org/postconf.5.html#luser_relay
Rory 2009年

此方法是否保留“收件人”电子邮件地址?(虚拟地图将其重写,并且原始的To:地址丢失。)
2015年

1
@Sverre问题仅用于提问,而不是针对与切线相关的问题已有七年历史的答案。
womble

17

您正在寻找的是虚拟别名表,可以使用以下方法完成...

首先,您需要编辑/ etc / postfix / virtual文件,或者创建一个尚不存在的文件。

example.com   whatever
@example.com  user@example.com

保存此文件后,您将需要运行postmap /etc/postfix/virtual以生成索引的/etc/postfix/virtual.db。Postfix将读取。

然后,您将需要编辑/etc/postfix/main.cf并确保没有注释以下行:

virtual_alias_maps = hash:/etc/postfix/virtual

实际上,这将使postfix知道并使用虚拟别名表。

luser_relay像其他人提到的那样,使用该选项的问题在于,本地传递代理将其视为未知地址的不得已的用户。如果postfix仅处理一个域的邮件,则可以将其用于此,但是它可以掩盖其他配置错误,如果处理多个域,则可能导致意外结果。

我有义务要提的一个警告是,通过创建这种性质的通配符别名,您将打开邮件系统以接受不存在的地址的邮件,并冒使邮箱迅速被垃圾邮件填满的风险。邮箱。


8

实际上很简单。您需要做的就是在main.cf文件中放入以下内容:

virtual_alias_maps = regexp:/etc/postfix/virtual_alias

regexp部分可以解决问题。另外,在其中输入/etc/postfix/virtual_alias以下内容:

/^test/ you@yourdomain.com

在此示例中,您应该收到目标为“ test”开头的所有邮件。不要忘了映射/ etc / postfix / virtual_alias并重新加载postfix。


6

结合以上最适合我的答案/评论(我有一个主域):
将以下内容添加到/etc/postfix/main.cf

luser_relay = user@domain.com (or local system user)
local_recipient_maps =

local_recipient_maps =未设置值)

我使用本地用户linux帐户,还将同一用户添加到/ etc / aliases,以便该用户将所有邮件获取到root,postmaster等。

您也可以在自己的地址中合并该地址,virtual_alias_maps并将所有虚拟域功能集指向该相同的主帐户。

请咨询luser_relay以获取更多信息。


3

如果要为mydomain使用一个包罗万象的地址,可以/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一起工作。


0

Postfix中有一种鲜为人知的静态查找表类型,可以用于此目的:

alias_database = static:user@example.com
alias_maps = static:user@example.com

如果user@example.com对于该系统而言不是本地的,则您可能还希望通过替换bouncediscardin 结尾的行来丢弃所有退回消息,master.cf以避免邮件循环。


-4

我不想成为杀手kill,但是您的问题是您正在使用Postfix。Postfix使得此练习非常困难。我知道:几年前我不得不这样做,并且花了好几天的时间才把它弄对。该luser选项是正确的选择,但是还有其他一些事情要做。(甚至该选项的名称也表明Postfix的作者并不想真的支持它。)

我建议切换到快递。由于Courier扩展了其现有别名系统的方式,因此它以更为明智的方式支持此“包罗万象”方法。


1
Postfix一点也不困难。虚拟别名是Postfix中处理所有内容的标准方法,而且非常简单。就是说,在您自己个人域的玩具邮件服务器之外的任何东西上,连身裤是一个非常糟糕的主意。
罗布·尚特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.