我正在设置一个仅转发的电子邮件服务器。我想对所有收到的电子邮件应用一些静态转发规则,并退回所有其他收到的电子邮件(而不是将它们存储在本地)。
/etc/postfix/main.cf
myhostname = sputnik.*domain*.com
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
myorigin = /etc/mailname
mydestination = sputnik.*domain*.com, localhost.*domain*.com, , localhost
relayhost =
mynetworks = 127.0.0.0/8 10.0.0.0/24 [::1]/128 [fe80::%eth0]/64
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
virtual_alias_maps = hash:/etc/postfix/virtual
/etc/postfix/virtual
domain1.com anything
@domain1.com [email protected]
[email protected] [email protected]
domain3.com anything
[email protected] [email protected]
结果示例:
目前,电子邮件不会被退回,而是被存储在/var/mail/*username*
,并且发件人不会收到电子邮件未发送的警报。
答案1
Postfix 文档中有一个例子邮件转发域。我不确定你的mydestination
那行是怎么回事(Postfix 似乎不支持通配符),但你需要列出domain1.com
并domain3.com
在下面virtual_alias_domains
(和不是在下面mydestination
)。同时请确保您已经运行postmap
了/etc/postfix/virtual
。
virtual_alias_domains = domain1.com, domain3.com