删除所有未通过 postfix 转发的电子邮件

删除所有未通过 postfix 转发的电子邮件

我正在设置一个仅转发的电子邮件服务器。我想对所有收到的电子邮件应用一些静态转发规则,并退回所有其他收到的电子邮件(而不是将它们存储在本地)。

/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.comdomain3.com在下面virtual_alias_domains(和不是在下面mydestination)。同时请确保您已经运行postmap/etc/postfix/virtual

virtual_alias_domains = domain1.com, domain3.com

相关内容