我对 Postfix 并不陌生,但对 Zimbra 还不熟悉。我见过这种情况回答关于更改 Postfix 参数,以及文章关于如何在 Postfix 中配置 catch-all 域。
我需要了解如何在 Zimbra (7.1.1) 中配置 Postfix。我检查了 Zimbra 管理页面,没有看到任何允许虚拟域的内容(发送邮件至 *@some.domain.example)。前面提到的“答案”列出了大量 Zimbra 命令,但目前我还不理解。
我该如何将它们组合在一起?哪里是查找 Zimbra 可用的 shell 命令的最佳位置?
附言:这些都是很好的答案,看起来它们能满足我的需要。但是,我应该提到,当前域设置如下(已清理):1) mailhost.main.example(域);2) mail.example(域别名,MX 在其他地方);3) newmail.main.example(不在 zimbra 中,CatchAll 域)。
我是否必须添加新域名(此处为 newmail.main.example)作为域别名才能使其正常工作?我认为是这样。
更新:我将域添加为别名,并使用此命令处理分发列表而不是用户:
zmprov modifyDistributionList [email protected] zimbraMailCatchAllAddress @some.domain.example
不幸的是,现在当我收到邮件时会收到此消息:
Your message WAS SUCCESSFULLY RELAYED to:
<[email protected]>
The message WAS NOT relayed to:
<""@other.domain.example>: [127.0.0.1] said:
501 5.1.3 Failed, id=12509-18, from MTA([127.0.0.1]:10025): 501 5.1.3 Bad recipient address syntax
This delivery report was generated by the program amavisd-new at host
other.domain.example. Our internal reference code for your message is
11304-14/3aX6PrCFUxBz
检查了邮件列表,没有发现任何不寻常的会员资格。
答案1
我在尝试配置一个帐户作为多个域的所有地址时遇到了同样的问题,并发现了这个有价值的论坛条目:全部捕获不起作用:多值语法 命令
zmprov modifyAccount [email protected] zimbraMailCatchAllAddress @mydomain.com
设置帐户的 zimbraMailCatchAllAddress 属性[电子邮件保护]设置为 @mydomain.com。如果您尝试使用同一命令将其他域设置为该帐户的 catchall 地址
zmprov modifyAccount [email protected] zimbraMailCatchAllAddress @otherdomain.com
此值将被覆盖。幸运的是,模型允许写入多个值。诀窍是使用多值语法(使用“+”符号)代替其他域:
zmprov modifyAccount [email protected] +zimbraMailCatchAllAddress @otherdomain.com
答案2
从http://wiki.zimbra.com/wiki/Managing_Domains#Domain_Catchall
su - zimbra
zmprov modifyAccount [email protected] zimbraMailCatchAllAddress @domain.com
注意:虽然我确实运行了 Zimbra,但我还没有测试过这一点,而且源代码并不是很官方的文档。
答案3
最好在 Zimbra 内进行此配置更改,而不是直接修改 postfix。我认为没有办法从管理界面进行此操作。但有一个 zmprov 命令可以设置一个非常简单的 catchall 地址。
从管理 GUI 创建你的 catchall 用户
登录到您的 zimbra 服务器控制台
切换到zimbra用户:sudo su - zimbra
发出 zmprov 命令来修改上面创建的用户:zmprov modifyAccount [email protected] zimbraMailCatchAllAddress @yourdomain.com