当远程服务器拒绝垃圾邮件时,exim4 会显示邮件别名

当远程服务器拒绝垃圾邮件时,exim4 会显示邮件别名

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

exim4 设置为处理 mydomain.com 的邮件。我设置了别名来转发[电子邮件保护][电子邮件保护]。我已将 SpamAssassin 设置为与 exim4 协同工作(通过 sa-exim.conf)。

有时垃圾邮件会发送到[电子邮件保护]SpamAssassin 会给它一个足够低的分数,以便将其转发给[电子邮件保护]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:

  [email protected]
    (generated from [email protected])
    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

我不希望这封电子邮件被退回到垃圾邮件地址,因为它透露了“[电子邮件保护]",别名的目的地。

我怎样才能删除“[电子邮件保护]“从拒绝电子邮件中删除该内容,或者完全隐藏该拒绝电子邮件?

答案1

我不建议尝试隐藏您的电子邮件结构。如果它被破坏,您可能会丢失解决问题的适当信息。

如果 Google 阻止了该邮件,那么问题可能出在您的服务器上。如果您的电子邮件结构不完善(固定 IP 地址、有效的 rDNS、SPF、DKIM 和可选的 DMARC 记录),那么 Google 可能会退回这些邮件,因为它们来自您的服务器。

如果您的服务器配置良好,但收到大量此类退回邮件,则您的垃圾邮件过滤可能不太有效。请改进您的垃圾邮件过滤。我发现三种非常有效的垃圾邮件拦截技术是:

  • 使用zen.spamhaus.org黑名单。
  • 用于spamassassin在接受之前过滤电子邮件。sa-exim与 的重型构建配合良好Exim
  • 对于任何未通过 rDNS 验证的连接主机,在每个步骤(连接、helo、邮件、收件人)中添加大约 10 到 20 秒的延迟。这需要几个额外的 ACL,并修改现有的 ACL。这是我在接受之前使用的 ACL 部分。在接受本地和授权邮件后添加这些。流水线控制仅用于连接 ACL。
    # 验证发送方主机的反向 DNS 查找。
    # 延迟并在失败时禁用流水线。
    警告
      !验证 = 反向主机查找
      延迟 = 20 秒
      控制 = no_pipelining

如果您想验证目的地是否有效,可以使用标注。但是,如果您这样做,Gmail 最终可能会阻止您。以下来自标准配置的代码会执行收件人标注。

    # 使用标注验证 local_rcpt_callout 中列出的收件人。
    # 这对于转发 MX 主机(辅助 MX 或
    # 邮件中心)的域接收大量垃圾邮件,甚至不存在
    # 地址。检查本地部分是否进行远程中继的唯一方法是
    # 域是使用标注(添加 /callout),但请阅读
    # 在执行此操作之前,请先提供有关标注的文档。
    否定
      !acl = acl_local_deny_exceptions
      收件人 = ${如果存在{CONFDIR/local_rcpt_callout}\
                            {CONFDIR/local_rcpt_callout}\
                      {}}
      !验证 = 收件人/标注

答案2

您无法通过任何配置设置更改此设置;它已硬编码到源代码中。如果您想更改退回邮件的输出,则必须编辑打印地址信息()src/deliver.c 中的函数并重建 exim 的本地副本。

如果你认真思考一下,就会发现一个令人困惑的信息:

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:

  [email protected]:
    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

任何邮政局长都会问的第一个问题是“如果 mydomain.com 不是由 Google 托管的,为什么退回邮件来自 Google 邮件服务器。”此外,当您试图隐藏这样的信息时,会让您显得不诚实和业余。不要隐藏您的身份。

相关内容