首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在AWS中管理电子邮件组?

如何在AWS中管理电子邮件组?
EN

Stack Overflow用户
提问于 2018-09-18 01:28:12
回答 1查看 649关注 0票数 0

我正在使用Lambda + SES向用户列表发送每日电子邮件。我正在使用boto3 api client.list_verified_email_addresses()命令生成经过验证的邮件列表。

但是,我需要将另一封电子邮件发送到已验证电子邮件的子集。创建和维护此电子邮件组的最佳方式是什么?

我更喜欢在AWS中维护组,并让Lambda代码引用AWS服务。我曾经想过让用户订阅一个社交网络主题,然后从该主题中获取列表,或者存储在S3中的电子邮件列表。有没有我应该知道的更好的解决方案或最佳实践?

EN

回答 1

Stack Overflow用户

发布于 2018-09-18 02:29:33

最灵活的方法是创建一个RDS数据库,并以任何适合您的用例的方式对您的电子邮件组进行建模,然后从DB中提取电子邮件。你也可以在必要的时候使用DynamoDB。

用于此的最小(关系) DB结构如下所示:

代码语言:javascript
复制
Table: EmailRecipient
Columns:
    - emailAddress
    - name

Table: MailingList
Columns:
    - listId
    - listName

Table: MailingListEmailRecipient
Columns:
    - listId
    - emailAddress

'MailingListEmailRecipient‘表作为邮件列表和收件人之间的多对多映射,您可以灵活地添加任意多个列表,并且可以扩展这些表以包括其他相关信息,您可以添加一个表来跟踪发送的电子邮件,等等。

如果您想使用DynamoDB,也可以使用它;它在数据建模方面有一些限制,稍后可能会遇到一些问题,但作为一种快速而粗糙的解决方案,它是可行的,如果数据很小且不经常访问,成本可能会大大降低。在DynamoDB上,您将执行以下操作:

代码语言:javascript
复制
Table: EmailRecipient
Partition Key: mailingListName
Sort Key: emailAddress
Optional fields:
    - recipientName

这将允许您将邮件列表的收件人存储在邮件列表分区键下。你也可以反过来做(emailAddress作为分区键),这对于DynamoDB (避免‘热’分区)会更优,但是如果你使用DynamoDB来做这件事,那么你可能正在构建一些又快又脏的东西(更好的方法是关系型数据库)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52372964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档