如何使用 Sendmail 在 MX 服务器(而不是邮件服务器)上将用户列入白名单

如何使用 Sendmail 在 MX 服务器(而不是邮件服务器)上将用户列入白名单

我在 Fedora 30 上运行 Sendmail 8.15.2,并将 MX 中继到邮件服务器。

中继域文件可以很好地将所需的域从 MX 引导到邮件服务器。但是邮件服务器必须拒绝大量错误的用户。

我想在 MX 服务器上进行拒绝。

我在互联网上看到了这种可能性的提示,但似乎无法让它发挥作用。我尝试了多种访问表格式,但似乎都不起作用。我还尝试过清除中继域并仅依赖访问表。

访问表(有很多用户;为了简洁起见,我只显示一个):

Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1 RELAY
ClientRate:127.0.0.1 0
ClientRate:3
To:[email protected] RELAY

我也尝试过:

[email protected] RELAY

我也尝试过在底部添加:

* REJECT
*.* REJECT

我也尝试过在顶部评论这些内容:

Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1 RELAY
ClientRate:127.0.0.1 0

我在 sendmail.mc 中有这个来使用访问数据库:

FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')dnl

我是否遗漏了什么或者是否有其他方法可以在 MX 级别将收件人列入白名单?

答案1

FEATURE(blacklist_recipients)需要有选择地拒绝访问表中的信封收件人。

访问表条目示例:

# default for addresses in example.com domain
to:example.com  REJECT
# list of valid/relayed addresses in example.com
to:[email protected]  RELAY
to:[email protected]  RELAY

可能的替代方法/方式:

  • virtusertable 用于非本地电子邮件域
  • FEATURE(ldpap_routing)- 它可以使用标准 sendmail 映射而不是 LDAP 查找

相关内容