Postfix 服务器用作电子邮件中继时出现问题,将单个电子邮件地址的邮件发送到 /dev/null

Postfix 服务器用作电子邮件中继时出现问题,将单个电子邮件地址的邮件发送到 /dev/null

我们的电子邮件域托管在 Google Apps (@contoso.com) 中,我们仅使用 Postfix 作为内部服务发送电子邮件的中继。

我们的 Postfix 配置相当简单,只是对开箱即用的 Ubuntu 配置进行了稍微调整,使其成为“带有智能主机的互联网站点”,我将在下面发布 postconf -n。

我遇到的问题是,我将 Postfix 服务器放入负载平衡器中,负载平衡器通过尝试成功发送电子邮件来检查服务器的可用性。我并不想收集任何这些电子邮件 - 而我经常看到的是人们将邮件发送到 /dev/null,这正是我试图做的,但没有成功。我尝试编辑我的 /etc/aliases 文件并尝试执行 virtual_alias_maps,但没有让它工作 - 我知道这是可能的,但我的实现显然是不正确的。现在我已经撤消了我的尝试,只是让它恢复到尝试之前的状态,所以这是我目前的配置:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
inet_protocols = all
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = mail.contoso.com, localhost.localdomain, localhost
myhostname = mail.contoso.com
mynetworks = 10.0.0.0/8 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost = smtp-relay.gmail.com
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_helo_restrictions = warn_if_reject check_helo_access static:reject
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes

任何帮助使这项工作正常工作的帮助都将不胜感激——请记住,这台 Postfix 服务器仅用作邮件中继,而负载平衡器正在尝试发送电子邮件,例如来自[电子邮件保护]至(在此插入任何电子邮件地址,例如:)[电子邮件保护]。当 Postfix 服务器处理此消息时,我希望它不是将该消息中继到互联网,而是将其本地发送到 /dev/null。

提前致谢!

答案1

你的 /etc/alias 文件中应该有这些内容:

devnull:    /dev/null

因此电子邮件发送至[电子邮件保护]发送到 /dev/null。如果您设置了虚拟域,那么您必须在虚拟域映射中执行如下操作:

<user>@contoso.com  devnull

其中 devnull 是您在 /etc/aliases 文件中设置的用户。

确保在更新 /etc/aliases 后重建该文件:

sudo newaliases

相关内容