如何管理邮件列表
如何高瞻远瞩地管理邮件列表?
-
首先:为什么要使用邮件列表管理工具?
CRM系统(如Salesforce和Microsoft CRM)
以及企业邮箱(如Office 365和Google Apps Gmail)
并不适合群发邮件。
它们原本是为一对一沟通而设计的。
为了防止滥用,这些系统通常会设置每日发送上限。
很多时候,企业需要向大部分联系人或某些选定群体发送电子邮件。
群发邮件必须通过专用系统进行管理,
这些系统需具备处理大量邮件及自动退订功能。 -
第二步:去哪里寻找这些解决方案?
最简单的答案是关注“SaaS”(软件即服务)解决方案
(Mailchimp 是最著名的系统,Inxmail 知名度较低,但被大型企业广泛采用)。
本地部署与云服务始终是一个重要的选择。
我们的观点是,本地部署有助于“重新掌控电子邮件”,这也是我们所倡导的。
即使您决定使用云端的自托管应用程序,
这也能让您在保持相同解决方案的同时,轻松更换供应商。 -
有三个解决方案值得一提:
- Sendy 功能成熟,但属于“闭源”且需付费。
- Listmonk 是一个开源项目。其 1.0 版于 2021 年发布。该项目使用 Go 语言开发,
它以独立二进制文件的形式发布,唯一的依赖项是 Postgres 数据库。在GitHub上,该项目获得了 5.4k 个星标
- Mailtrain 也是开源的。其首个版本于 2016 年发布,第 2 版于 2021 年发布。
它使用 MySQL 数据库。在GitHub上,该项目获得了 4.8k 个星标
为了追求简洁的界面、以列表为核心的解决方案、易于维护
以及在出现问题时易于恢复,我们认为 listmonk 是最佳选择。
listmonk 是一款自托管的高性能邮件列表和电子报管理工具。
它以独立二进制文件的形式提供,唯一的依赖项是 Postgres 数据库。
申请的第一步
knadh 于 2019 年 7 月 12 日 [–]
我是作者。先说明一下开发 listmonk 的背景:在工作中(受监管的金融业务),
我们需要定期向 150 多万客户发送电子邮件,主要是重要更新。
我们长期使用 phpList,后来尝试过 MailTrain 和 Sendy,但在遇到一系列问题后,最终决定重新开发
自己的解决方案,其中几个重要问题如下所述。
- 性能。发送电子邮件耗时过长。
phpList的性能已恶化到处理一次邮件活动需要数天的时间。
listmonk可以创建N个goroutine(类似于线程),并将邮件推送到多个SMTP服务器。
在普通EC2实例上,我们能在几小时内发送150多万封电子邮件。
- 订阅者导入极其缓慢。直接集成以保持订阅者与外部 CRM 同步的过程十分繁琐。
由于表结构复杂,直接数据库插入操作十分繁琐。listmonk 能在普通 EC2 实例上以每秒 1 万条记录的速度将数据导入 Postgres 数据库。
- 用户分群。我们经常需要根据自定义属性与条件快速对用户进行分群,并向其推送更新。
listmonk 支持 SQL 表达式,可基于定义为任意 JSON 映射的用户属性进行分群(得益于 Postgres 的 JSONB 类型)。
- 缺乏动态模板。listmonk 模板支持 Go 模板表达式,因此可以在消息中编写逻辑以实现动态化。Kailash Nadi 是自由及开源软件(FOSS)领域的一位非常活跃的开发者。
他供职于印度最大的证券经纪商Zerodha。
Zerodha 技术团队的博客发布在zerodha.tech 上。
详情
Listmonk针对标准用户(通过网页界面)和开发者(通过 API)提供了详尽的文档。

该解决方案既适用于大型列表(最多可达数百万订阅者),也适用于小型群体。
借助“查询和细分订阅者”功能,
您可以根据订阅者的个人资料和属性进行筛选,并导出选定的订阅者。
提取的数据可轻松导入到新的定向邮件列表中。
它缺少某些重要功能,例如邮件退信处理。
但该功能预计将在下一个主要版本中推出:
退信处理 #166
退信处理功能预览截图
技术考量
我们之前使用过另一个 Go 应用程序:RealSender - DMARC REPORTS。
来源:dmarc-report-converter。它一用就成功,毫无麻烦。
“PostgreSQL 数据库管理系统历经二十余年的发展,
如今已成为全球最先进的开源数据库。”
——《PostgreSQL 简史》 - https://www.postgresql.org/docs/9.3/history.html我们在过去部署 Inxmail Professional 服务器时曾有过一些相关经验。
2017 年,Inxmail GmbH 宣布将仅支持 PostgreSQL,并停止支持所有其他数据库:
自 2019 年 1 月 1 日起,我们将专注于提供最优的技术基础,并停止对
Windows 服务器以及 MySQL、Oracle 和 MS SQL Server 数据库的支持。
这意味着我们将仅为基于 Linux 服务器和 PostgreSQL 的 Inxmail Professional 提供支持。
-- Inxmail Professional 许可方案:系统支持变更
https://www.inxmail.de/files/files/de/downloads/Inxmail-Professional-licence-solution-EN.pdf这对新手来说无疑是个不错的选择,也是一项值得投资的知识储备。
Udemy 的在线课程可以协助您完成 PostgreSQL 的初始安装和维护工作。
开源存在风险:一个于2019年启动的最新项目,未来还能得到维护吗?
没人知道,也许最坏的情况下会有其他开发者接手,但是:
- 从其特性来看,这似乎是必不可少的;但如果过于复杂,就会难以维护
- 我们为 listmonk提交了一份错误报告,并在两小时内收到了开发者的回复
- 作者供职于一家大型企业,该公司在内部使用该系统
电子邮件送达率
电子邮件送达率,问答:
hemancuso 于 2019 年 7 月 12 日 [–]
像这样的项目听起来是个好主意,但送达率似乎是个大问题,
除非你有相当丰富的经验,否则很难衡量这一点。
如果要使用此类项目并希望确保合理的送达率,
在选择或使用邮件服务提供商(ESP)时有哪些最佳实践?
knadh 于 2019年7月12日 [–]
我是楼主。我们公司(受监管的金融企业)已在生产环境中使用 listmonk
发送电子邮件更新(包括监管通知)超过 6 个月。
我们通过 Postal 在 EC2 实例上托管自己的 SMTP 服务器,从未遇到过送达率问题。
如果是合法的电子邮件,我认为这并不是什么大问题。我们同意,向客户发送预期的邮件应有助于避免大多数投递问题。
根据我们的经验,数量越大,出现问题的可能性就越高。
AWS EC2 服务器经常被 Gmail 列入黑名单——所有发送的邮件都会被送入垃圾邮件文件夹。
RealSender 提供专用 IP SMTP 服务器,
这些服务器运行在可靠且受持续监控的环境中。
关于名称

goberoi 于 2019 年 7 月 13 日 [–]
随便问一下:这个名字是怎么取的?
knadh 于 2019 年 7 月 13 日 [–]
我记不太清了,但我想当时的思路大概是
“轻松无忧、平和的列表管理”。我们来试试吧
您只需几分钟即可使用 Docker 镜像完成一个可运行的演示安装。
或者向 RealSender 申请一个 listmonk 演示账户。