Amazon 中电子邮件发送的工作原理 SES - Amazon Simple Email Service

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon 中电子邮件发送的工作原理 SES

本主题介绍当你发送电子邮件时会发生什么SES,以及电子邮件发送后可能出现的各种结果。下图是发送过程的高度概述:

  1. 充当电子邮件发件人的客户端应用程序向发出向一个或多个收件人发送电子邮件的请求。SES

  2. 如果请求有效,则SES接受电子邮件。

  3. SES通过互联网将消息发送给收件人的接收者。消息传递到后SES,通常会立即发送,第一次传递尝试通常在几毫秒内发生。

  4. 此时,会存在不同可能性。例如:

    1. ISP成功将邮件传送到收件人的收件箱。

    2. 收件人的电子邮件地址不存在,因此ISP会向发送退回通知。SESSES然后将通知转发给发件人。

    3. 收件人收到了邮件,但认为这是垃圾邮件,并向发送了投诉ISP。设置了反馈回路的SES,它会将投诉发送到SES,然后由后者将其转发给发件人。ISP

以下各节回顾了发件人向收件人发送电子邮件请求之后SES以及向收件人SES发送电子邮件之后可能出现的具体结果。

在发件人向发送电子邮件请求之后 SES

当发件人SES向请求发送电子邮件时,呼叫可能成功或失败。以下部分介绍每种情况下会发生的情况。

成功的发送请求

如果请求SES成功,则向发送者SES返回成功响应。此邮件包含一个邮件 ID,这是一个唯一地标识请求的字符串。您可以使用邮件 ID 来识别已发送的电子邮件或跟踪发送过程中遇到的问题(您必须在标识符和接收电子邮件时SES传回给您的SES邮件 ID 之间存储自己的映射)。SES然后根据请求参数汇编一封电子邮件,扫描邮件中是否有可疑内容和病毒,然后使用简单邮件传输协议 () SMTP 通过 Internet 将其发送出去。您的邮件通常会立即被发送;其中第一次送达尝试通常发生在几毫秒内。

注意

如果SES接受发件人的请求,然后确定邮件中含有病毒,则SES会停止处理该邮件,也不会尝试将其传送到收件人的邮件服务器。

失败的发送请求

如果发件人的电子邮件发送请求SES失败,则以错误SES回复发件人并丢弃该电子邮件。请求失败可能会有多种原因。例如,请求的格式可能不正确,或者电子邮件地址可能未由发件人进行验证。

确定请求是否失败的方法取决于您的调用方式SES。以下是如何返回错误和异常的示例:

  • 如果您SES通过 Query (HTTPS)API(SendEmailSendRawEmail)进行调用,则操作将返回错误。有关更多信息,请参阅《Amazon 简单电子邮件服务API参考》。

  • 如果您使用的是使用异常 AWS SDK的编程语言,则对的调用SES将抛出MessageRejectedException。(异常的名称可能略有不同,具体视情况而定SDK。)

  • 如果您使用的是SMTP接口,则发送者会收到SMTP响应码,但是如何传达错误取决于发送者的客户端。某些客户端可能显示错误代码;而其他客户端则不显示。

有关发送电子邮件时可能发生的错误的信息SES,请参阅Amazon SES 电子邮件发送错误

在 Amazon SES 发送电子邮件之后

如果发件人的请求SES成功,则SES发送电子邮件并出现以下结果之一:

  • 成功投递且收件人不反对该电子邮件 — 电子邮件被接受ISP,然后将ISP电子邮件发送给收件人。成功的送达如下图中所示。

  • 硬退邮件 — 电子邮件ISP由于持续存在状况而被拒绝,或者SES因为电子邮件地址在SES禁止列表中而被拒绝。如果电子邮件地址最近导致任何SES买家出现硬退邮件,则该地址会被列入SES禁止名单。由于收件人的地址无效,ISP可能会出现硬退件。硬退通知是从ISP背面发送的SES,根据发件人的设置,它会通过电子邮件或亚马逊简单通知服务 (AmazonSNS) 通知发件人。SES以同样的方式通知发件人禁用列表被退回。从硬反弹的路径ISP如下图所示。

  • 软退回 — 由于临时情况(例如太忙而ISP无法处理请求或收件人的邮箱ISP已满),无法将电子邮件发送给收件人。如果域不存在,也可能发生软退信。会将软退回通知ISP发送回去SES,或者,如果域不存在,SES则无法找到该域的电子邮件服务器。无论哪种情况,都要长时间SES重试发送电子邮件。如果在该时间段内SES无法发送电子邮件,它会通过电子邮件或 Amazon SNS 向您发送退信通知。如果SES可以在重试期间将电子邮件传送给收件人,则表示成功投递。软退信如下图所示。在这种情况下,SES会重试发送电子邮件,最终可以将其发送给收件人。ISP

  • 投诉- 电子邮件已被接受ISP并发送给收件人,但收件人认为该电子邮件是垃圾邮件,因此在其电子邮件客户端中单击 “标记为垃圾邮件” 之类的按钮。如果设置SES了反馈循环ISP,则会向投诉通知发送至SES,投诉通知将转发给发件人。大多数都ISPs没有提供提交投诉的收件人的电子邮件地址,因此来自的投诉通知根据原始邮件的收件人和SES收到投诉的发件人向发件人SES提供了可能发送投诉的收件人名单。ISP投诉的路径如下图所示。

  • 自动回复- 电子邮件被接受ISP,然后将其ISP发送给收件人。ISP然后向发送自动响应,例如 out-of-the-office (OOTO) 消息SES。SES将 auto 响应通知转发给发件人。自动响应如下图所示。

    请确保您SES启用了该功能的程序不会重试发送会生成 auto 响应的消息。

    提示

    您可以使用SES邮箱模拟器来测试成功投递、退信OOTO、投诉,或者当某个地址被列入禁止列表时会发生什么。有关更多信息,请参阅 手动使用邮箱模拟器