Postfix – 不要在BOTH mydestination和virtual_alias中列出example.com域

我有一个有两个的服务器。 我得到了标题中提到的警告:

不要在mydestination和virtual_alias中列出域example.com

尽pipe我收到了上述警告,但它工作正常,没有问题。 但我想知道如何解决它。

在这两个地方拥有域名的原因是因为我想实现catchall – 发送到@ domain.tld的所有电子邮件都应该到该域的邮件帐户。

现在,如果我不把这个域放在我的目的地,服务器拒绝接受那个域的邮件,因为它不想成为一个开放的中继。 如果我不把别名别名放到虚拟别名表中,那么catchall不起作用(显然)。

那么正确的解决scheme是什么? 我试图阅读http://www.postfix.org/VIRTUAL_README.html#virtual_alias上的东西,但我似乎无法让我的设置工作任何其他方式。

(PS:我使用的是webmin / virtualmin来pipe理我的网站,当我尝试使用内置的configuration工具进行configuration时,它会使用我手动创build的相同解决scheme,所以webmin甚至不知道更好这样做的方法…)

您不需要在virtual_alias_domains列出的域,以便在virtual_alias_domains查找它。

从虚拟(5)手册页:

可选的虚拟(5)别名表将重写所有本地 ,全部虚拟和所有远程邮件目标的收件人地址。 [着重点]

virtual_alias_domains是必须在虚拟别名映射中查找并find地址的域列表。

mydestination的默认值是:

 $myhostname, localhost.$mydomain, localhost 

尝试设置它

 localhost.$mydomain, localhost 

代替。 我有一个类似的警告,并进行此更改不会影响邮件在我的服务器上传递有问题的域名。 如果你仍然有问题,你应该发布你的main.cf和virtual_alias设置。

我的解决scheme如下:

  • mydestination移除example.com
  • 将虚拟别名[email protected]replace为具有localmailbox@localhostname别名的localmailbox@localhostnamelocalhostname是任意位置)

我学到的是,Virtualmin通过在虚拟别名表中指定域名来创build所谓的“虚拟别名域”。 Postfix文档指出,在这种情况下,本地邮箱不能是(直接)目标。