Spamassassin - 测试没有标题的 html 电子邮件的内容

Spamassassin - 测试没有标题的 html 电子邮件的内容

我正在使用 Scrivener 为我的公司撰写电子邮件。然后我使用“编译”功能导出为 HTML。

我想知道是否有一种方法可以使用 spam-assassin 对包含多个 html 电子邮件的文件夹进行本地测试。

我只想测试电子邮件的主题行和内容。所以我不想在任何地方发送电子邮件。另外,html 文件不会有电子邮件标题。

任何建议表示赞赏。

答案1

一些 SpamAssassin 测试使用邮件标头,因此它们是必需的。至少,如果没有它们,你的结果会不太准确。

我建议最简单的方法是将 HTML 文档填充到电子邮件中。使用一个简单的 shell 脚本就可以很容易地做到这一点。请注意,此示例和下一个示例使用flip(您可能必须安装)来转换为电子邮件的 CRLF 行结尾。我想你也可以使用sed。或者也许没有它也很好。

cat <<HEADER - in/message.html | flip -m > out/message.eml
From: "Your Company Name" <[email protected]>
To: "Your Name" <[email protected]>
Date: $(date -R)
Content-type: text/html; charset=utf-8
Content-transfer-encoding: binary
Subject: Your Subject Here

HEADER

缺点是,这会给您留下非 MIME 仅 HTML 消息。您可能必须禁用 SpamAssassin 规则,该规则会将您的邮件保留为纯 HTML。

另一个选择是该mime-construct实用程序,您可能还需要安装它。然后你会这样做:

mime-construct --to '"Your Name" <[email protected]>' \
               --subject "Your Subject Here" \
               --header 'From: "Your Company Name" <[email protected]>' \
               --header "Date: $(date -R)" \
               --multipart 'multipart/alternative' --output \
               --type 'text/plain; charset=utf-8' --file in/message.txt \
               --type 'text/html; charset=utf-8' --file in/message.html \
    | flip -m - > out/message.eml

您可以使用lynx -dump来制作纯文本替代方案(例如lynx -dump in/message.html > in/message.txt

然后,您应该能够通过 SpamAssassin 将生成的文件作为电子邮件运行。

不用说,您需要遵循其他电子邮件最佳实践(确认选择加入、轻松订阅等)。

相关内容