您的营销电子邮件最终会成为垃圾邮件吗?
电子邮件营销的成功关键在于邮件送达收件箱而非垃圾邮件文件夹。本文将构建一个可验证邮件是否会被标记为垃圾邮件,并解释原因的工具。该工具将以api形式在线部署,方便集成到您的工作流程中。
垃圾邮件验证机制
Apache SpamAssassin是一个由Apache软件基金会维护的开源垃圾邮件检测平台,被广泛用于电子邮件客户端和过滤工具。它结合多种规则、贝叶斯过滤和网络测试,为邮件分配垃圾邮件评分。通常,评分达到5或以上则邮件被标记为垃圾邮件的风险很高。 SpamAssassin本身即可用于预测您的邮件是否会被识别为垃圾邮件。其评分机制透明且可追溯,帮助您精准识别邮件中导致高垃圾邮件评分的因素,从而改进邮件内容。
使用SpamAssassin验证邮件
SpamAssassin主要在Linux系统上运行。您需要一个Linux环境或Docker容器来安装和运行它。
在Debian或Ubuntu系统上,使用以下命令安装SpamAssassin:
apt-get update && apt-get install -y spamassassinsa-update
sa-update命令确保SpamAssassin规则是最新的。
安装后,您可以将邮件内容通过管道传输到SpamAssassin命令行工具。输出包含带注释的邮件、垃圾邮件评分以及触发规则的解释。
例如:
spamassassin -t < results.txt
results.txt将包含处理后的邮件以及SpamAssassin的标头和评分:
x-spam-checker-version: spamassassin 4.0.0 (2022-12-13) on 254.254.254.254x-spam-level: x-spam-status: no, score=0.2 required=5.0 tests=html_message, mime_html_only,missing_mid,no_received, no_relays autolearn=no autolearn_force=no version=4.0.0// ...content analysis details: (0.2 points, 5.0 required) pts rule name description---- ---------------------- -------------------------------------------------- 0.1 missing_mid missing message-id: header-0.0 no_received informational: message has no received headers-0.0 no_relays informational: message was not relayed via smtp 0.0 html_message body: html included in message 0.1 mime_html_only body: message only has text/html mime parts
将SpamAssassin封装为API
为了最大化SpamAssassin的效用,将其封装为API至关重要,这提升了灵活性并允许集成到各种工作流程中。 例如,在发送邮件前,内容先发送到SpamAssassin API进行验证,只有在确认邮件符合标准后才允许发送。
以下是一个简单的API示例,接受邮件主题、HTML正文和纯文本正文作为输入,并将这些字段传递给SpamAssassin并返回验证结果:
# ... (代码与原文相同,略去重复内容) ...
该API的响应将包含SpamAssassin结果的分析详细信息。
在线部署API
运行SpamAssassin需要安装了该软件的Linux环境。传统的部署方式(例如EC2或DigitalOcean)可能成本高昂且复杂。无服务器平台通常不允许安装系统软件包,例如SpamAssassin。
Leapcell是一种理想的解决方案。它允许您部署SpamAssassin等系统软件包,同时保持服务的无服务器特性,按需付费,通常更经济。在Leapcell上部署API非常简单,无需设置环境,只需部署Python镜像并正确填写构建命令即可。
部署后,您将拥有一个用于垃圾邮件验证的API。每次调用API时,它都会运行SpamAssassin,对邮件进行评分并返回结果。
(阅读我们的博客)