如何解决超出配额的垃圾邮件退回问题?

如何解决超出配额的垃圾邮件退回问题?

我正在调查邮件服务器黑名单问题。

我们的邮件服务器的用户超出配额,导致电子邮件被退回给发件人,并显示“用户超出配额”消息。其中一些电子邮件是垃圾邮件,带有伪造的发件人字段。这些邮件被退回到伪造的发件人地址。结果,我们的服务器被添加到某个黑名单中。这有道理吗?

我不知道该如何解决这个问题。我认为“用户超出配额”消息很有用:作为发件人,我希望在邮件未送达时收到通知。

一个选项是,如果邮件被检测为垃圾邮件,则不将其退回。我们使用 postfix 和 spamassassin,当使用 显示此类邮件时postcat -q,我可以看到该邮件的垃圾邮件评分很高。

我们应该如何着手?

在我们的配置中,spamassassin 仅标记邮件,每个用户都可以使用 sieve 来过滤/删除/移动邮件。spamassassin 本身是否应该删除高分邮件?postfix 是否应该在退回邮件之前检查垃圾邮件分数,或者在尝试发送邮件之前检查垃圾邮件分数?

我不想重新发明轮子,所以虽然我上述的想法可能有效,但我想知道人们通常如何解决这个问题。

答案1

在最初接受传递邮件后,不要将其退回(向原始或欺骗的发件人发送“新”邮件,宣布超出配额的情况),而是在 smtp 协商期间拒绝该邮件。

“如何”取决于 LDA。

例如,对于 postfix + dovecot 来说,一个选项似乎是:

http://blog.sys4.de/postfix-dovecot-mailbox-quota-en.html

首先您需要在 Dovecots dovecot.conf 中激活并配置配额状态服务:

   plugin {
        ...
       quota_grace = 10%%
       # 10% is the default
       quota_status_success = DUNNO
       quota_status_nouser = DUNNO
       quota_status_overquota = "552 5.2.2 Mailbox is full"
        ...
     }
      
       service quota-status {
          executable = quota-status -p postfix
           inet_listener {
          port = 12340
          # You can choose any port you want
        }
              client_limit = 1
      }

为了使用新配置的 Dovecot 策略服务,您需要告诉 Postfix 与 main.cf 中的服务进行通信:

    smtpd_recipient_restrictions =
       ...
       check_policy_service inet:mailstore.example.com:12340

相关内容