AWS SES bounced/complain 电子邮件句柄

AWS SES bounced/complain email handle

我们有一些与 AWS SES 退回和投诉电子邮件相关的问题, 我们会根据这些条件发送电子邮件。这些条件如下:

1) 新用户注册时,2) 用户忘记 his/her 密码和 3) he/she 从我们的平台购买任何视频时。为了发送电子邮件,我们实施了 AWS SES 邮件服务并成功地从 AWS SES 发送电子邮件。但在这里我对处理退回邮件和投诉邮件有些疑问。根据 Whosebug 上的 post:

Handle hard bounces / complaints or just stick to suppression list?

我们在数据库中管理了电子邮件列表,当新用户第一次注册到我们的平台并从 AWS SNS 收到退回通知和投诉通知时。但这里有一些案例我想和你讨论:

弹跳:当用户第一次注册到我们的平台并且his/her电子邮件不存在即jm123@gmail.com 在这种情况下,我们将 his/her 电子邮件保存到我们的退回电子邮件列表中,但是当他第二次创建具有相同电子邮件 ID 的电子邮件时( jim123@gmail.com ) 并想再次注册我们的平台,然后我们将如何从列表中删除该电子邮件,因为我们已经将该电子邮件列入我们平台的黑名单。

投诉:在第二种情况下,当我们发送him/her一封电子邮件并收到针对该电子邮件和投诉电子邮件的投诉通知时,用户不小心将我们平台的电子邮件设为垃圾邮件我们已经管理了投诉电子邮件列表并将该电子邮件保存在此列表中,以便同一用户下次无法收到电子邮件,但一段时间后该用户将我们列入垃圾邮件白名单并希望收到我们的电子邮件通知。

注意:是否有必要将所有退回或投诉电子邮件处理到我们的数据库中,因为电子邮件的随机性是无限的,对于所有随机电子邮件,我们必须将其处理到我们的数据库中。在向任何新注册用户发送电子邮件之前,首先我们必须处理我们的退回和投诉电子邮件列表,然后我们将决定该用户是否有资格接收我们的电子邮件。

抱歉我的英语不好。

您链接到的 Whosebug 问题在答案中涵盖了这一点。

是的,您应该维护自己的数据库 table 至少包含一些永久退回的电子邮件,例如:

记录 ID(自动递增)、电子邮件地址、退回类型:无效邮箱 |用户投诉 |拒绝内容 |因垃圾邮件黑名单而被拒绝

Bounce: "when 2nd time he creates a email with the same email id ... how we will remove that email from list because we have already black listed that email in our platform?"

当用户尝试添加电子邮件时,您查询 table 中的电子邮件地址,您看到类型是 "invalid mailbox",然后拒绝它为无效。您还可以记录 IP 地址以捕获试图创建虚假帐户的垃圾邮件发送者。

Complaint: "... but after some time that user white list us from spam and wants our email notifications."

当用户尝试添加电子邮件时,您查询 table 中的电子邮件地址,您会看到类型是 "user complaint",并且可能会在添加之前询问他们 "are you sure?"回到您的邮件列表。您将数据库中的电子邮件类型更改为 "user confirmed OK to send"

您也可以在现有的邮件列表中添加一个额外的字段 table 来保存退回类型,默认类型为 0 / OK / not bounceed。然后在发送电子邮件时,您将跳过发送类型不是 0 / OK 的电子邮件。

But in hard bounced if user will have valid email address after put his email address in table and he/she wants our subscription then how we could handle

您可以允许他们重新添加地址并将类型设置回 0,但这可能是假地址,例如 "fake@fakefake.com."

如果你想让他们这样做,你可以有第二个字段 "times bounce was cleared" 并在每次将地址设置回 0 / OK / 允许邮件时添加 +1。如果此计数器达到 3-5,则您永远不会让他们再次添加电子邮件。他们必须使用不同的电子邮件地址。

what about soft bounce

"Transient"(软)退回应忽略。 SES 稍后会重试,如果仍然失败,您将遇到硬退回。