我们一直有一些麻烦让Postfix以一种非常特殊的方式行事,在这种方式下,只有一个本地部分(即没有@domain)的发件人和收件人地址的处理方式不同。
我们有许多使用mailx发送消息的应用程序。 我们想知道发送方的用户名和主机名。 例如,如果root从db001.company.local发送一封电子邮件,我们希望邮件地址是[email protected]。 这是通过确保$ myorigin被设置为$ myhostname来完成的。
我们还希望不合格的收件人附加不同的域名。 例如,如果邮件发送到“dbadmin”,则应该符合“[email protected]”的条件。 但是,根据Postfix和$ myorigin的性质,不合格的收件人将有资格使用[email protected]。 我们不想调整所有服务器上的别名以适当转发。 (实际上,每个可能的收件人都没有在/ etc / passwd中的条目)所有公司员工都在Exchange上有邮箱,Postfix最终路由到该邮箱,并且没有使用或访问本地Linux / Unix邮箱。 我们很乐意告诉我们的应用程序所有者,以确保他们使用一个完全合格的电子邮件地址为所有收件人,但权力,指示任何疏忽必须适应。
如果我们要保持$ myorigin等于$ myhostname,我们可以通过在“recipient_canonical_maps”中包含以下条目来解决此问题:
@ $ myorigin @ company.com
但是,不幸的是,我们不能在这些映射文件中使用variables。 我们还希望避免在每个服务器的“recipient_canonical_maps”中手动input和维护实际的主机名。 也许一旦我们的服务器“木偶化”,我们可以dynamic调整这个文件,但我们还没有。
经过一个小时的摆弄,我决定伸出手来。 有什么想法吗? 提前致谢。
这不可能。
如文档所述,如果设置了append_at_myorigin ,则postfix会将myorigin的值附加到邮件系统中任何位置的所有非fqdn本地部分。
如果每个地址使用不同的本地部分,解决scheme可能是可用的; 在这种情况下,您可以使用virtual_alias_maps将localparts转换为给定的完全限定地址。