在我的 Postfix 邮件服务器上,我想将发送到 root 的本地邮件重定向到我的虚拟邮箱 me@my.org。同时,我不想在 root@my.org 收到任何外部邮件。这样的配置是否可能?
我的动机是在我的收件箱 me@my.org 中方便地接收由 Cron 等服务生成的通知。此类通知通常会发送给 user root
。我已经能够根据需要设置重定向:
- 守护进程发送邮件到
root
. - 后缀附加
$myorigin
(append_at_myorigin = yes
, 不得更改)。 root@my.org
通过 查找和映射virtual_alias_maps
。- 邮件被传递到邮箱
me@my.org
。
但是,通过此设置,任何人都可以向 root@my.org 发送邮件。我宁愿不要将此地址作为 me@my.org 的公共别名。我想要的行为:
- 本地:邮件发送至
root
→ 发送至 me@my.org - 远程客户端:尝试发送邮件到 root@my.org → 550 5.1.1 用户未知
/etc/postfix/main.cf:
myhostname = mail.my.org
mydomain = my.org
myorigin = /etc/mailname
mydestination = localhost
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/dovecot-auth
smtpd_sender_login_maps = $virtual_alias_maps
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_mailbox_domains = my.org
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_alias_maps = hash:/etc/postfix/virtual
alias_maps = hash:/etc/aliases
/etc/邮件名:
my.org
/etc/postfix/v邮箱:
me@my.org me@my.org
postmaster@my.org postmaster@my.org
/etc/postfix/虚拟:
me@my.org me@my.org
me2@my.org me@my.org
root@my.org me@my.org
postmaster@my.org postmaster@my.org
/etc/别名:
postmaster: postmaster@my.org
root: root@my.org