主题: ExtMail-1.0.5 两个不遵守 RFC 规定的地方
原文见于 iRedMail 开源邮件服务解决方案论坛:http://www.iredmail.org/bbs/viewthread. … a=page%3D1
这里使用的是 ExtMail-1.0.5。下面的行文里不再说明。
使用 ExtMail 发邮件,很容易被 SpamAssassin 标记为垃圾邮件。通过邮件头里标记的打分,可以分析出问题。
今天却分析出 ExtMail 不遵守 RFC 规定的一些细节,希望能在后续版本中改进。
1:SA 打分:FROM_EXCESS_BASE64=1.984。
按照 RFC 规定,如果发件人一栏里全都是英文字符(ascii),那么 From: 后面的部分就不应该 encode,但是从 libs/Ext/App/Compose.pm 文件里可以看到,ExtMail 不对这样的情况做判断,全部进行 base64 encode 处理。
2:SA 打分:HTML_MESSAGE=0.001, HTML_MIME_NO_HTML_TAG=1.052, MIME_HTML_ONLY=1.672。
简单来说:
- 如果邮件正文都是英文字符(ascii),那么邮件正文也不应该使用 base64 encode。
- 使用 HTML 格式写出来的邮件,是不规范的。这里只提到少了 META 标记,但是何止是少了 META 标记。以下是邮件 RawData 里看到的正文部分:
Content-Type: text/html; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
Message-Id: <20081202080351.4459370811@localhost.localdomain>
<pre>body</pre>
另外,由于 ExtMail 不使用 SMTP 协议发送邮件(1.0.5 是否已经使用 SMTP 来发送了?),无法使用 Amavisd-new 里对认证用户的 bypass 规则,导致本域的用户发出的邮件也必须进行扫描和过滤。