我有一个服务器,旨在提供来自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_domains和virtual_alias_maps取代。