|
邮件可以说永不过时,目前使用自建的公司还是比较少,以下的这些目前都是最主流的MTA解决方案,基本全部在生产环境部署过。
简单做一个总结, 供有需要的老板参考
1. PowerMTA
最老牌的高性能,高可用,高稳定MTA之一,现在最新版本为6.0r3。
亮点非常多:
1) 支持全平台部署,win, linux, arm base. 兼容性完美,几乎无外部依赖,安装复杂度极小。
2) 有virtual MTA, 可以创建无数个虚拟MTA或者MTA pool,实现IP分组,发送策略分组,精细颗粒度控制针对单ESP发送参数,有精细的backoff控制
3) 发送匹配列表,pattern list, 新版本还支持子list, 可通过sender, 或者邮件头的任意字段来选择对应的邮件出口(虚拟MTA),和发送优先级
4) 支持haproxy proxy protocol, 可以使用远端IP地址, 而无需之前的的GRE tunnel或者复杂的路由技术
5) 支持Http API, 支持以http的方式提交邮件,支持logs webhook提交给其他服务、
6) 支持处理本地邮件,处理其他平台的bounce和FBL
...
总结: 非常强悍的MTA,业界老大哥。 除了该团队多次易主之后目前迭代速度比较慢,和扩展灵活性差一些,几乎没什么缺点。
2. GreenArrowEmail
唯一一个拥有前端也就是list管理平台的MTA.
亮点
1) 仅支持linux平台. debian, ubuntu, amazonlinux2023等,支持arm base. 部署也相对简单,官方打包了所有依赖。
2) 和PMTA不同的是,有web管理后台,virtual MTA和其他很多部分都学习了PMTA, 甚至支持pmta配置文件转换。 更为精细化的控制,还是需要通过配置文件
3) 前端列表和任务发送平台性能不错,基于ruby和postgreSQL, 可以轻松应对中型企业的发送任务
4) 也支持haproxy proxy protocol, 需要配置文件来完成
5) 支持mail Class, 通过API提交邮件的灵活性比PMTA更好,支持MTA端实现open 、click tracking, 通过event webhook发送给其他服务
总结: 对于希望全解决方案,也就是需要发送前端的企业是非常好的选择,缺点是前端比较传统,当下流行的营销自动化功能几乎没有,技术栈也较多。
3. MailerQ
最早觉得是PowerMTA极有力的竞争对手,迭代多年稳定性总觉得差那么点意思。
亮点:
1) 几乎所有的配置都可以在web控制台上实现。
2) 除了支持haproxy , 还支持socks5使用远端IP发送
3) 队列都是通过rabbmitMQ来控制的,可以在这一层来操控消息队列。
4) 关于发送策略部分,PMTA有的功能,mailerQ上大部分都有,可以配置IP的warm up策略
总结: 性能非常不错,性能优化还要考虑MQ的优化,同等配置机器性能还是比PMTA逊色一些,前几年感觉稳定性差一些bug较多,目前应该比较稳定了。
4. Halon MTA
在没有kumoMTA之前这个就是最喜欢的MTA了, halon有自己的独创的脚本语言hsl,灵感来自于PHP, python. 可通过脚本来精细控制发送的每一步。
亮点:
1) 有自己的脚本语言,非常灵活,不要被这种脚本语言配置吓到,其实邮件配置的逻辑就那么多,当然你想做更多的事情,这就完全能满足你了,不像PMTA,一切规则都是定制好的。
2) 配置逻辑非常清晰,如果你熟悉SMTP协议,HSL几乎能在SMTP交互的每一步进行脚本语言控制,例如CONNECT阶段,你可以判断连接的IP是否合法。在EOD(End-of-Data)阶段,你可以控制邮件使用哪个队列,可以重写整个邮件文本的任意地方,甚至重写URL添加tracking进去。
3) 非常丰富的插件支持,比如官方有基于AI训练的warm up插件。 也给出了插件的样例,你完全可以自己开发插件。
4) halon不仅可以做PMTA那样的角色,有很多的反垃圾插件,也适合大规模企业邮箱的收信入口。
5) 有非常漂亮的web控制台,可以通过配置elasticsearch来实现LOG即时日志分析。
6) 支持haproxy proxy protocol和socks5使用远端IP
7) 配置文件yaml风格,分工明确,关于策略控制部分已经可以通过配置可以实现,无需复杂脚本设计。有内置的脚本和配置组合生成工具,HSL脚本有vscode插件支持。
总结: 希望在MTA层面非常精细的控制的情况下,这个是首选。
5. KumoMTA
非常现代化的MTA,最NB的是完全开源啊,用Rust编写,零成本抽象+内存安全的语言,性能不必多说。 和Halon类似,也是用脚本语言来操控配置,但是是基于lua脚本的,如果有lua折腾过nginx的小伙伴,这个应该很容易上手的。
对于想做ESP的团队,这个项目是值得关注的,可以节省一大笔商业MTA授权费用,知名的Aweber后端MTA已经使用KumoMTA了。
亮点:
1) lua脚本控制配置,逻辑也就那么多,基础配置,官方已经完成大部分lua脚本。
2) 配置文件是toml风格,有独特的配置逻辑,但整体配置逻辑分工不如halon那么清晰。
3) 和halon一样,可以在MTA层重写邮件文本
4) 支持Throttling Automation,配置策略可以延申到集群
5) 支持haproxy proxy protocol使用远端IP
6) 队列系统非常灵活,支持tenant级别和campaign级的队列routing控制
7) 虽无web控制台,但可以使用Prometheus+Grafana 实现监控
总结: 虽为开源,但已经被一些知名公司投入到生产级应用,是一个非常值得关注的项目.
|
|