Postfix/Postscreen 拒绝来自 Gmail 的电子邮件

Postfix/Postscreen 拒绝来自 Gmail 的电子邮件

我在一台运行着 Ubuntu 20.04.4 LTS 的服务器上安装了 Postfix 邮件服务器蚂蚁纳米设备。Postfix 是作为邮件系统软件包,它预装了大量其他邮件实用程序,如 Amavisd、Dovecot 和 Fail2Ban,以帮助像我这样的 Linux 新手快速拥有一个功能齐全、可靠且相对安全的邮件服务器。当我最初设置好一切时,一切似乎都运行得非常完美。

但是,今天我尝试从 Gmail 帐户向我域的 Postfix 服务器发送一封电子邮件,但邮件从未到达我的收件箱。查看日志后,似乎尝试传递邮件的 Gmail 邮件服务器的 IP 地址已列在 上dbl.spamhaus.org,因此服务器拒绝了它:

Jul 30 18:57:59 smtp postfix/postscreen[7559]: CONNECT from [209.85.216.48]:36792 to [XX.XX.XX.XX]:25
Jul 30 18:57:59 smtp postfix/dnsblog[7561]: addr 209.85.216.48 listed by domain zen.spamhaus.org as 127.255.255.254
Jul 30 18:58:05 smtp postfix/postscreen[7559]: PASS NEW [209.85.216.48]:36792
Jul 30 18:58:05 smtp postfix/smtpd[7563]: connect from mail-pj1-f48.google.com[209.85.216.48]
Jul 30 18:58:06 smtp postfix/smtpd[7563]: Anonymous TLS connection established from mail-pj1-f48.google.com[209.85.216.48]: TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256
Jul 30 18:58:06 smtp postfix/smtpd[7563]: NOQUEUE: reject: RCPT from mail-pj1-f48.google.com[209.85.216.48]: 554 5.7.1 Service unavailable; Sender address [[email protected]] blocked using dbl.spamhaus.org; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-pj1-f48.google.com>
Jul 30 18:58:39 smtp postfix/smtpd[7563]: disconnect from mail-pj1-f48.google.com[209.85.216.48] ehlo=2 starttls=1 mail=1 rcpt=0/1 bdat=0/1 rset=1 quit=1 commands=6/8

我知道合法的邮件服务器通常会被 DNSBL/RBL 服务临时列出,因为垃圾邮件发送者会使用它们来兜售他们的商品,但当邮件是从完全合法的来源发送时,我特别不想面对这个问题。

当我研究这个问题时,我在 HowToForge 上看到了一个帖子,标题是Postfix 白名单如何将 gmail 添加到白名单。建议的答案是使用 Postscreen 而不是显式 DNSBL 过滤垃圾邮件,因为 Postscreen 基本上对此类事情“更加宽容”。

根据 iRedMail 文档启用 Postscreen,与以下文档交叉引用启用 DNSBL 服务,我查看了一下我的邮箱,/etc/postfix/master.cf以确保我没有设置过分严格的垃圾邮件过滤规则。然而,我发现似乎表示我已经“只是”使用 Postscreen:

如果启用了 Postfix,iRedMail 应该执行以下操作:

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (no)    (never) (100)
# ==========================================================================
#smtp      inet  n       -       -       -       -       smtpd
smtp      inet  n       -       -       -       1       postscreen
smtpd     pass  -       -       n       -       -       smtpd

我的master.cf

smtp      inet  n       -       y       -       1       postscreen
smtpd     pass  -       -       y       -       -       smtpd
dnsblog   unix  -       -       y       -       0       dnsblog
tlsproxy  unix  -       -       y       -       0       tlsproxy

关于启用 DNSBL 的信息表明应该有一个类似于这样的块master.cf

smtpd_recipient_restrictions =
    ...
    reject_unauth_destination
    reject_rbl_client zen.spamhaus.org=127.0.0.[2..11]
    reject_rbl_client b.barracudacentral.org=127.0.0.2

但我没有这样的块。它还说,如果我正在运行 Postscreen,应该有一个这样的块:

postscreen_dnsbl_sites =
    zen.spamhaus.org=127.0.0.[2..11]*3
    b.barracudacentral.org=127.0.0.2*2

但是,我的master.cf又不包含任何这样的块。当然,现在我甚至更多的感到困惑,因为如果不是应该使用 DNSBL 过滤,为什么 Gmail 邮件被拒绝?

如上所述,在 *nix 环境方面,我基本上是个“新手”,所以我不确定下一步该去哪里。我可以只是尝试将我自己的 Gmail 地址列入白名单,但我更愿意找到一个不那么具体的解决方案。

我是否朝着正确的故障排除方向前进,或者我是否忽略了一些东西(当然不是不可能)?

答案1

运行:“grep -ris spamhaus /etc”

您的配置中可能包含“reject_rbl_client zen.spamhaus.org”(不包含“=127...”部分),因此当 DNS 解析为 127.255.255.254 时,邮件会被拒绝,这反过来表明您在邮件服务器上使用了公共解析器

相关内容