亚马逊AWS官方博客

基于 listmonk 的电子邮件营销解决方案

背景

电子邮件营销(EDM)在广告、电商、供应链物流等行业应用广泛,亚马逊云科技的市场部门持续不断的收到客户反馈,希望可以提供简单便捷的方案。

对于发送邮件的需求,亚马逊云科技已经有 Amazon Simple Email Service(SES)这个基础邮件发送服务。但使用该服务,需要一定的程序开发基础,并不适合非技术用户使用。

因此本文介绍了一种基于开源 listmonk 邮件管理软件底层使用 SES 服务发送邮件的解决方案,可以使无技术能力的客户方便地一键搭建电子邮件营销平台,同时拥有一个简单直观的 UI 操作界面。该解决方案已经在亚马逊云科技解决方案中心上线,读者可以点击这里直接访问并部署使用该解决方案。如果对于部署和使用有疑问也可以访问这里观看视频教程以及查看相关文档。

方案

下图展示了基于 listmonk 的电子邮件营销解决方案的整体架构图,营销邮件管理软件使用开源的 listmonk,安装在 Amazon EC2 上,UI 设计简洁高效;关系型数据 Amazon RDS 部署了 PostgreSQL 数据库,用于持久化存储相关信息;使用 Amazon SES 作为邮件发送服务。

图 1 基于 listmonk 的电子邮件营销解决方案架构图

listmonk 是 Github 上最受欢迎的开源时事通讯和邮件列表管理软件。使用 Go 语言编写,性能强大。免费且开源。

Amazon EC2:Amazon EC2 上的部署了 listmonk 应用程序,其调用 Amazon SES 发送营销邮件。

Amazon RDS:邮件列表、订阅者、邮件模板、广告系列,数据统计和其他配置信息(SMTP 的用户名、密码)存储在 Amazon RDS 中。

Amazon Simple Email Service(Amazon SES):邮件发送服务。

方案部署

部署该解决方案需要通过亚马逊 CloudFormation 服务进行一键部署。AWS CloudFormation 是一项基础设施即代码服务,本方案创建一个描述您所需的所有  AWS 资源的模板,并且编写了安装配置 listmonk 的脚本。 CloudFormation 将负责为您设置和配置这些资源,您无需单独创建和配置 AWS 资源并了解资源之间的依赖关系,CloudFormation 会处理好所有的问题。CloudFormation 创建的一系列资源合并叫做堆栈。下面介绍如何进行部署:

1.注册并开通亚马逊云科技海外区账号

如果您是第一次注册亚马逊云科技海外区账号,可以通过官网联系我们获取支持。

2.通过 CloudFormation 启动部署

  • 首先,您需要填写 3 个必选的参数:

a. DisplayName: 默认发件人显示姓名,例如: Yang Lan/杨澜

b. DisplayEmail: 默认发件人邮箱

c. 根据客户不同邮件营销数量的需求,我们为您提供了以下三个机型/价位的选择:

1)入门版 $16/月(InstanceType 选择 t3.micro)

  • 适合个人卖家,月发送邮件量不超过 6 万封的客户
  • 80GB 存储空间
  • 新注册用户享一年免费使用服务器折扣

2)升级版 $45/月(InstanceType 选择 t3.small)

  • 适合中小型卖家/工作室,月发送量不超过 30 万封的客户
  • 2 核 2G 服务器,稳定性好,海量邮件极速送达
  • 实时追踪邮件点击率

3)企业版 $180/月(InstanceType 选择 c5.xlarge)

  • 针对大型卖家或企业级用户,月发送量超 100 万封的客户
  • 4 核 8G 超大机型
  • 提供专属客户经理为您定制高级邮件功能服务

图 2 CloudFormation 填写参数

  • 请点击“下一步”,之后的页面请保持默认并连续点接下一步,直到“审核堆栈”。
  • 请勾选“我确认,Amazon CloudFormation 可能创建具有自定义名称的 IAM 资源”的单选框,并点击“创建堆栈”。

稍等 1-2 分钟,您刚才所填的 DisplayEmail 会收到一封确认邮件,请及时查收该邮件,并点击邮件中的连接(下图橘红色框内连接),验证邮箱,当连接打开页面之后即可。邮件内容如下图所示:

图 3 第一份确认邮件

您还会收到第二份订阅确认邮件,其形式如下:

图 4 第二封确认邮件

  • 请您点击“Confirm Subscription”确定订阅,这将有助于您在后续的“申请生产访问/移出沙箱”的步骤中尽快获得批复。
  • 大概等待 10 分钟,堆栈显示绿色的“CREATE_COMPLETE”,堆栈创建完成,此时点击堆栈的“输出”标签页。
  • 复制 ServiceIPAddress 中的 IP 地址,输入浏览器即可打开 listmonk 的 UI,点击“登陆”。登陆的用户名和密码也可以在堆栈的“输出”标签页找到,分别为 LoginUser LoginPassword 对应的值,登陆后看到如下界面,即可以继续操作。

图 5 listmonk 首页

  • 此时,我已为您创建了默认的订阅者和广告系列,您可以做一个简单的测试。点击广告 -> 所有广告系列 -> Test campaign。

图 6 listmonk 广告系列页面

  • 点击“开始发送广告”,即可开始发送。如果您需要编辑邮件内容,在打开的页面中可以选择“内容”标签页,并做一些编辑,然后再点击“开始发送广告”。

图 7 listmonk 修改邮件模板

您刚才填入的 DisplayEmail 邮箱会收到一封邮件,即为测试邮件的内容。 至此您已经完成了安装和测试工作。您收到的邮件正文显示效果如下图:

图 8 测试邮件示例

3. 申请生产访问/移出沙箱

这一步非常重要,为了防止出现欺诈和滥用,保护您作为发件人的声誉,只能将邮件发送到已验证的电子邮件,这是亚马逊云科技为了保证使用 SES 服务的用户有一个优质的体验所必要的步骤。只有启用生产访问之后您才可以向任意邮件地址发送邮件,以及享受每月 62000 封免费邮件的配额。

最后

本解决方案拥有以下三个优点——

简单方便:将 IT 基础设施打包成一键部署模版,用户无需了解亚马逊云科技的服务便可在几分钟内部署一个强大的电子邮件营销平台。

功能完善:支持电子邮件营销常用的功能,帮助用户方便地管理邮件列表、订阅者、邮件模板、广告系列,并且提供数据统计和多语言支持。UI 简单直观,易于操作,轻松上手。

性价比高:使用 Amazon SES 作为邮件发送平台,可以轻松发送数以万计的营销邮件。并且可以享受 Amazon SES 每月 62000 封免费邮件额度。

最后期待每一个使用该方案的用户都能有一个好的使用体验。

本篇作者

纪路

亚马逊云科技解决方案架构师,现负责集团战略客户。拥有 8 年广告行业大数据架构、开发经验。擅长事件驱动架构、Serverless 架构、流式处理架构的设计和开发。同时对 SQL/NoSQL 数据库的建模、调优有深入的研究。