将本地邮件重定向至 root,但不接受发送至 [email protected] 的邮件

将本地邮件重定向至 root,但不接受发送至 [email protected] 的邮件

在我的 Postfix 邮件服务器上,我想将发送给 root 的本地邮件重定向到我的虚拟邮箱[电子邮件保护]。同时,我不想在[电子邮件保护]. 这样的配置可能吗?

我的动机是方便地在我的收件箱中接收由 Cron 等服务生成的通知[电子邮件保护]。此类通知通常会发送给用户root。我已经能够根据需要设置重定向:

  1. 守护进程发送邮件至root
  2. 后缀附加$myoriginappend_at_myorigin = yes,不得更改)。
  3. [email protected]通过 进行查找和映射virtual_alias_maps
  4. 邮件已送达邮箱[email protected]

然而,通过这种设置,任何人都可以发送邮件到[电子邮件保护]。我不想将此地址作为[电子邮件保护]. 我想要的行为:

/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/vmailbox中:

[email protected]         [email protected]
[email protected] [email protected]

在/etc/postfix/虚拟:

[email protected]         [email protected]
[email protected]        [email protected]
[email protected]       [email protected]
[email protected] [email protected]

在 /etc/别名中:

postmaster: [email protected]
root: [email protected]

答案1

这可以通过添加额外的收件人限制来实现,以拒绝向该地址发送邮件[电子邮件保护]. 在中继限制之后检查收件人限制。

/etc/postfix/main.cf:

# Relay restrictions are unchanged.
smtpd_relay_restrictions =
  permit_mynetworks
  permit_sasl_authenticated
  reject_unauth_destination

# New: disallow sending mail to root from outside this host.
smtpd_recipient_restrictions =
  permit_mynetworks
  check_recipient_access hash:/etc/postfix/access

check_recipient_access仅包含根地址的条目。不要忘记postmap在文件上运行。

在/etc/postfix/访问:

[email protected] REJECT

permit_mynetworks之前进行评估check_recipient_access,因此 Cron 等本地发送的邮件仍会通过。对于不在数据库中的收件人,访问检查不适用,他们会获得默认的“允许”结果。

相关内容