答案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 一起工作。