一个灵活的开源或免费的 SMTP 服务器

一个灵活的开源或免费的 SMTP 服务器

我们目前拥有自己的内部电子邮件营销软件用于我们的时事通讯,并使用 SQL 服务器的 SMTP 代理通过我们的本地 SMTP 服务器(IIS)发送电子邮件,然后发送到我们的 ISP 的 SMTP 中继。

之所以涉及 SQL Server,是因为收件人的电子邮件地址存储在数据库中,并且它获取新闻稿的内容,而我们使用 .net 来构建电子邮件以进行传递。

大约 1 个月前,我们的 ISP 认为我们在发送垃圾邮件(我们的电子邮件数量约为每天 2 万封),并阻止了 SMTP 中继。经过多次与他们争论,我们放弃了,但意识到他们之所以得出这个结论是因为 NDR 数量太多。

我们已经解决了 NDR 的问题,但是返回 ISP SMTP 中继目前不是一个选择。

使用 IIS 作为直接 SMTP 服务器并不理想,因为我们无法实现帮助我们处理绕过垃圾邮件过滤器的系统,因为我们需要实现 DKIM 和 SPF,而在 IIS 上做到这一点并不容易。

我们尝试使用我们的共享主机账户和标准 SMTP 主机从 SQL 服务器发送电子邮件,但电子邮件限制设置为 300/小时,这不够高,并且目前使用像 SendGrid 这样的工具在这种数量下成本太高,因为我们无法从时事通讯中获利。

虽然我以前有使用 Exchange 2003 和 2007 的经验,但我发现维护和硬件要求有时相当复杂,并且正在寻找一个可以支持 DKIM 和 SPF 的 SMTP 的最小但灵活且功能强大的解决方案。

我一直在考虑类似 QPSMTPD 或 Node.js 端口;Haraka。

这里有没有人有上述经验,以及如何快速和轻松地实现、维护和扩展?

DKIM 和 SPF 支持怎么样?

那么如何处理如此高的数量和所需的速度呢?

我是否还会遇到垃圾邮件过滤问题以及 ISP 问题?

有人可以分享有关此事的见解吗?

答案1

每个最近的邮件服务器都能够以您提供的最低要求完成这项工作。您每小时只发送 800 封邮件。这可以在 5 分钟内轻松完成。

因此,请检查符合您要求的服务器。Sendmail、Courier、Qmail、Exim 或(我最喜欢的)Postfix 中的任何一个都可以满足您的要求。没有任何问题。

编辑

但我不会急于使用您“推荐”的解决方案。它们是奇特的邮件服务器,而上面提到的邮件服务器已有 10 多年的发展历史。Sendmail 甚至已有 18 年历史,而它的祖先甚至已有 30 年历史。所以请坚持使用“老牌”邮件服务器。

答案2

经过一段时间的测试Haraka,除了这个,我什么都不推荐。Haraka 实际上是一个一切都是模块的框架。非常易于使用,源代码可读,可在 github 上获取,没有魔法。插件中包含 DKIM/SPF 支持。我目前没有进行速度测试,但到目前为止我还没有遇到任何严重问题。我在不到一周的时间内为客户在其基础上编写了一个可以运行的生产应用程序。

顺便说一句...我过去使用过 Postfix 和 Exim4。我对 Postfix 的印象很好,但对 Exim4 的印象不好(有 bug)。无论如何,我不再是上个世纪的东西的狂热爱好者,使用那种配置语法已经不再适合我的工作流程 :)。

我希望它有帮助。

答案3

我们的 ISP 认为我们在发送垃圾邮件

没什么好惊讶的。管理电子邮件服务器并非易事,配置/管理用于批量发送电子邮件的电子邮件服务器需要更多技能(SPF/DKIM 只是故事的开始)。

即使您运行自己的服务器,您的电子邮件数量也足够大,以至于您开始遇到问题 - 但可能还不足以让您在经济上获得并维持自己运营服务的知识水平。我强烈建议您寻找信誉良好批量电子邮件提供商(抱歉,无法给您提供任何具体的线索)。

如果您确实想运行自己的服务器,我建议您避开 MSExchange - IME,因为它价格昂贵、难以配置/维护,并且不如大多数其他主流 MTA 可靠。

明显的候选者是 sendmail(非常易于配置 - 但需要彻底理解)或 postfix(配置起来更容易,较低的吞吐量不太可能成为问题)。你肯定想要一些支持 milter 的东西。根据以前的经验,Exim 和 Qmail 在稳定性方面远远落后。

如果您确实必须在 MSWindows 上运行它,请查看 iMail - 但据我所知,它不支持复杂的队列管理。

答案4

这里有没有人有上述经验,以及如何快速和轻松地实现、维护和扩展?

我对 Sendmail(数十台服务器,目前 0 台)、Qmail(数千台服务器,目前 3 台)、Postfix(数百台服务器,目前 25 台)、Qpsmtpd(数十台服务器,目前 1 台)和 Haraka(数十台服务器,目前 7 台)都有一定经验。这只是粗略的描述,但总体来说:

  • 发送邮件设置和维护有一定难度,扩展也有一定的难度。
  • 邮件系统设置起来有一定的难度,但易于维护,并且难以扩展。
  • 后缀易于设置,易于维护,并且扩展适度。
  • 查询如果您了解 perl,则安装起来很容易,维护起来也很容易,扩展起来也很容易。
  • 哈拉卡如果您熟悉 Javascript,则很容易安装、维护和扩展。

当然,所有这些评论都假设您理解 SMTP。

哪个 MTA 是“最好的”实际上取决于任务。对于大多数常见任务,Postfix 是我的默认选择。如果默认安装了 sendmail,我会用 Postfix 替换它。除了上面讨论的之外,Postfix 体积小、速度快,而且相当安全。对于需要执行比最低限度的过滤和验证更多操作的入站 MTA,我总是将 Haraka 放在前面。它的速度非常快,更重要的是,它允许对接受的内容进行惊人的控制。

Haraka 我最喜欢的功能是 karma 插件。(免责声明:我写了这个插件)它实现了一个启发式引擎,可以查看数十位信息(远程 IP、来自该 IP 的过去连接和 ASN、FCrDNS、DNSBL 等)并对每个信息进行评分联系。它与 SpamAssassin 非常相似,但速度非常快。与 SpamAssassin 不同的是,它可以在数百或数千个并发入站连接成为常态时部署在前端。在典型的部署中,当运行资源密集型插件(如 DKIM 和 SpamAssassin)时,只有不到 10% 的连接能够通过 DATA 阶段。

DKIM 和 SPF 支持怎么样?

Sendmail 和 Postfix 通过 milter 接口添加了 DKIM 和 SPF 支持。设置起来有点麻烦(有很多 HowTo),但效果很好。Qmail 通过补丁添加 SPF,通过非常痛苦的丑陋黑客添加 DKIM。Qpsmtpd 和 Haraka 都有本机(分别是 perl 和 JS)插件,可以添加 SPF 和 DKIM 支持。使用 QP 和 Haraka,SPF、DKIM 和 DMARC 都像启用内置插件一样简单。

那么如何处理如此高的数量和所需的速度呢?

您的音量不高,列出的任何 MTA 都可以处理。

您可能会发现,通过 DKIM 邮件过滤器签名邮件会将您的 MTA 性能(无论是 Postfix 还是 Sendmail)降低到其原始性能的 1/10 左右。除非您喜欢忍受痛苦,否则不要尝试使用 Qmail。对于 QP 和 Haraka,DKIM 只是另一个插件,启用 DKIM 后唯一明显的区别是 RAM 消耗增加。

我是否还会遇到垃圾邮件过滤问题以及 ISP 问题?

不基于您的 MTA。垃圾邮件过滤问题和 ISP 问题之所以发生,是因为您发出的邮件被退回、报告或拒绝。请确保所有外发邮件都带有您的信封信息,以便退回邮件和 DSN 返回给您。请确保接受它们、解析内容并相应地更新您的数据库。

相关内容