Email-Server

exim4 在遠端伺服器拒絕垃圾郵件時顯示郵件別名

  • July 17, 2014

我在 Ubuntu 12.0.4.4 上執行 exim4 (4.76)。

exim4 設置為處理 mydomain.com 的郵件。我設置了將 a@mydomain.com 轉發到 b@gmail.com 的別名。我將 SpamAssassin 設置為與 exim4 一起工作(通過 sa-exim.conf)。

有時垃圾郵件會發送到 a@mydomain.com,SpamAssassin 會為其分配足夠低的分數,以便將其轉發到 b@gmail.com。GMail 將郵件作為垃圾郵件拒絕,因此我的 exim4 伺服器嘗試將郵件發送回垃圾郵件地址,內容如下:

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

 b@gmail.com
   (generated from a@mydomain.com)
   SMTP error from remote mail server after end of data:
   host gmail-smtp-in.l.google.com [2607:f8b0:4003:c02::1a]:
   550-5.7.1 [xxxx:yyyy::zzzz:aaaa:bbbb:ccccc      12] Our system has detected that
   550-5.7.1 this message is likely unsolicited mail. To reduce the amount of spam
   550-5.7.1 sent to Gmail, this message has been blocked. Please visit
   550-5.7.1 http://support.google.com/mail/bin/answer.py?hl=en&answer=188131 for
   550 5.7.1 more information. c15si25934770obf.31 - gsmtp

我不希望將這封電子郵件發送回垃圾郵件地址,因為它顯示了別名的目的地“b@gmail.com”。

如何從拒絕電子郵件中刪除“b@gmail.com”,或完全禁止該拒絕電子郵件?

我不建議您嘗試隱藏您的電子郵件結構。如果它發生故障,您可能會錯過解決問題的適當資訊。

是 Google 阻止了該消息,因此問題可能出在您的伺服器上。如果您的電子郵件結構做得不好(固定 IP 地址、有效的 rDNS、SPF、DKIM 和可選的 DMARC 記錄),那麼 Google 可能會退回郵件,因為它們來自您的伺服器。

如果您的伺服器配置良好並且您收到大量此類退回郵件,那麼您的垃圾郵件過濾可能不是很有效。改進您的垃圾郵件過濾。我發現三種非常有效的垃圾郵件攔截技術是:

  • 使用zen.spamhaus.org阻止列表。
  • 用於在接受spamassassin之前過濾電子郵件。sa-eximExim. _
  • 為任何未通過 rDNS 驗證的連接主機添加大約 10 到 20 秒的延遲(連接、helo、郵件、收件人)。這需要幾個額外的 ACL,以及對現有 ACL 的修改。這是我在接受之前使用的 ACL 部分。在接受本地和授權郵件後添加這些。流水線控制僅用於連接 ACL。
# 驗證發件人主機的反向 DNS 查找。
# 延遲並在失敗時禁用流水線。
警告
!verify = reverse_host_lookup
延遲 = 20 秒
控制 = no_pipelining

如果要驗證目標是否有效,可以使用標註。但是,如果您這樣做,Gmail 最終可能會阻止您。標準配置中的以下程式碼執行收件人標註。

# 使用標註驗證 local_rcpt_callout 中列出的收件人。
# 這對於轉發 MX 主機(輔助 MX 或
# 郵件集線器)接收大量垃圾郵件到不存在的域
# 地址。檢查本地元件以進行遠端中繼的唯一方法
# 域是使用標註(添加/標註),但請閱讀
# 在執行此操作之前有關標註的文件。
否定
!acl = acl_local_deny_exceptions
收件人 = ${如果存在{CONFDIR/local_rcpt_callout}\
{CONFDIR/local_rcpt_callout}\
{}}
!verify = 收件人/標註

引用自:https://serverfault.com/questions/613227