我在将电子邮件从一个电子邮件地址发送到我的域上的另一个电子邮件地址时遇到问题。我使用的是共享服务器。我使用天气软件,它会自动构建和发送电子邮件消息。我省略了主机、域和 IP 信息,并将它们替换为:host=example.co.uk, domain = mydomain.co.uk。
情况是,我使用电子邮件地址 (weatherinfo@) 运行一个邮件组,组中的一些用户设置了自动回复。因此,为了防止这些邮件发送给整个组,电子邮件从不同的地址 (reports@) 发送到 weatherinfo@,reports@ 地址接收自动回复消息。
当我尝试将电子邮件从 report@ 发送到 weatherinfo@ 时,我从邮件传递系统收到以下消息:
This is the mail system at host mailauth.example.co.uk.
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The mail system
<[email protected]>: host 127.0.0.1[127.0.0.1] said: 554 5.6.0
Reject, id=02474-18 - BAD HEADER (in reply to end of DATA command).
电子邮件附带的错误日志显示:
Reporting-MTA: dns; mailauth.example.co.uk
X-Postfix-Queue-ID: 88002C306D
X-Postfix-Sender: rfc822; [email protected]
Arrival-Date: Fri, 2 May 2014 22:00:43 +0100 (BST)
Final-Recipient: rfc822; [email protected]
Original-Recipient: rfc822;[email protected]
Action: failed
Status: 5.6.0
Remote-MTA: dns; 127.0.0.1
Diagnostic-Code: smtp; 554 5.6.0 Reject, id=02474-18 - BAD HEADER
原始邮件的标题是:
Return-Path: <[email protected]>
Received: from LAPTOP (helium.example.co.uk [IP Address])
by mailauth.example.co.uk (Postfix) with ESMTPA id 88002C306D
for <[email protected]>; Fri, 2 May 2014 22:00:43 +0100 (BST)
To: [email protected]
From: [email protected]
Subject: WEATHER REPORT
Reply-To: [email protected]
Date: Fri, 02 May 2014 23:00:56 +0100
Message-Id: <[email protected]>
Message-ID: <[email protected]>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"
为什么这个消息被拒绝?这是由我的软件还是服务器引起的?如果是软件问题,开发人员需要做什么来修复它?如果是服务器问题,我应该要求主机做什么来解决这个问题?
答案1
看来您可能触发了垃圾邮件过滤规则。您的地址已列入 Spamhaus PBL 列表中,这表明您的 IP 地址不应向互联网发送电子邮件。Spamhaus 提供了有关其政策的清晰文档。
如果您希望可靠地向互联网发送邮件,则向互联网发送邮件的服务器需要一个固定的 IP 地址,并且 DNS 配置要通过 rDNS 验证。您的邮件服务器应使用您为 rDNS 配置的域来标识自己。
如果您没有具有适当 DNS 条目的固定 IP 地址,请使用提供商的电子邮件中继服务器来发送电子邮件。
正如其他人所指出的,您似乎Message-Id
添加了一个额外的标头。这可能会导致标头验证失败。(垃圾邮件比有效电子邮件更有可能有坏标头。)
答案2
我发现您引用的标题有两个问题。首先,Received
标题的格式不正确。当标题跨越多行时,除第一行外,其他行都必须缩进。此外,还有两个Message-ID
标题。
邮件服务器可以在不解析现有邮件头的情况下处理邮件。因此,可能有办法关闭该验证。但我建议不要关闭验证,而是修复邮件头的格式,因为它们将来可能会给您带来其他问题。