我正在使用我的电子邮件后缀。 我知道我可以使用/ etc / aliases和newaliases命令redirect某些电子邮件,例如,我可以通过在root: user / usr / etc / aliases中[email protected]到[email protected],然后运行新的别名。 然而,我想要做*: user的平等,以便所有发送到example.com的电子邮件都将发送到[email protected]。
我该怎么做呢?
你的main.cf luser_relay = [email protected]就是你想要的。
要禁用用户检查并接受所有邮件,您需要添加local_recipient_maps =选项。 文档
你正在寻找的是一个虚拟的别名表,可以使用以下…
首先,您需要编辑或创build(如果它不存在) / etc / postfix / virtual文件。
example.com whatever @example.com [email protected]
在保存之后,你需要运行postmap /etc/postfix/virtual来生成索引/etc/postfix/virtual.db Postfix将会读取。
然后你需要编辑/etc/postfix/main.cf,并确保你有下面的行取消注释:
virtual_alias_maps = hash:/etc/postfix/virtual
这实际上会让postfix知道虚拟别名表并使用它。
与其他人一样使用luser_relay选项时luser_relay的问题是,本地交付代理将这作为未知地址的最后一个度假村的用户。 如果postfix只处理一个域的邮件,可以使用它,但是它可以掩盖其他configuration错误,并且如果处理多个域,可能会导致意外的结果。
我觉得有一点需要提醒的是,通过创build这种性质的通配符别名,您可以打开您的邮件系统,接受不存在的地址的邮件,并且有可能使邮箱快速填充为垃圾邮件而不存在邮箱。
其实很简单。 所有你需要做的就是把这样的东西放在你的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。
结合以上对我来说最简单的答案/评论(我有一个主域名):
将以下内容添加到/etc/postfix/main.cf :
luser_relay = [email protected] (or local system user) local_recipient_maps =
( local_recipient_maps =没有设置值)
我使用本地用户的linux帐户,并将同一用户添加到/ etc / aliases,以便用户获取所有邮件到root,postmaster等。
您也可以在您的virtual_alias_maps合并相同的地址,并在同一主帐户中指定任何虚拟域名。
有关更多信息,请参阅luser_relay 。
如果要为mydomain使用全部通讯地址,可以使用/etc/aliases与正则expression式结合使用,如下所示:
在/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
这应该做的伎俩。 它为我工作,并与虚拟_alias_maps并行设置。
我讨厌成为一个killjoy,但是你的问题是你正在使用Postfix。 Postfix使得这个练习非常困难。 我知道:几年前我必须这样做,花了几天和几天的时间才把它做好。 luser选项是正确的,但还有其他一些事情要做对。 (甚至这个选项的名字也表明Postfix的作者并不真的想支持这个)。
我build议切换到Courier。 因为它扩展了现有的别名系统,所以信使支持这种“全面通用”的方法。