后缀:将所有本地传送的电子邮件转发到外部地址

我有一个服务器,旨在提供来自PHP的电子邮件,但没有收到任何电子邮件。 我的域MXlogging指向一个不同的邮件服务,我有Postfixconfiguration为不处理任何FQDN电子邮件。 我想发送任何本地电子邮件(postmaster错误,cronjob通知等)到一个外部电子邮件地址[email protected]

我在这里发现了几个不同的问题,试图解决这个问题( 这里和这里最值得注意),但他们似乎也redirect所有出站电子邮件,例如[email protected][email protected]得到交付[email protected]

一个似乎可行的解决scheme是将@localhost,@ localhost.localdomain和@ cookweb1的虚拟别名分别写入[email protected],但肯定会有更优雅的通用解决scheme? 这里是我的/etc/postfix/main.cf的相关部分(错误地将所有邮件转发给[email protected]):

myhostname = cookweb1 alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = cookweb1, localhost.localdomain, localhost relayhost = mynetworks = loopback-only mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = loopback-only virtual_maps = hash:/etc/postfix/virtual, regexp:/etc/postfix/virtual-regexp 

/ etc / postfix / virtual是空的。 这里是/ etc / postfix / virtual-regexp (都生成了postmaps):

 /.+@.+/ [email protected] 

当你说当地提供的电子邮件时 ,我假设你的意思是将电子邮件发送到域@localhost,@ localhost.localdomain和@ cookweb1 。 由于您已将所有这些域列在mydestination参数中,因此您必须在alias_maps中设置catchall而不是虚拟。

main.cf

 alias_maps = regexp:/etc/postfix/local-catch virtual_maps = 

文件/ etc / postfix / local-catch

 /.+/ [email protected] 

注意: virtual_maps已弃用 ,并由virtual_alias_domainsvirtual_alias_maps取代。