在 Amazon SES 中测试电子邮件发送 - Amazon Simple Email Service

在 Amazon SES 中测试电子邮件发送

Amazon SES 包含一个邮箱模拟器,您可以用它来测试您的应用程序如何处理各种电子邮件发送场景。邮箱模拟器非常有用,例如,在您需要测试电子邮件发送应用程序而无需创建虚构电子邮件地址时,或者当您需要确定系统的最大吞吐量而不会影响每日发送配额时。

重要注意事项

在使用 Amazon SES 邮箱模拟器时,请注意以下功能和限制:

  • 即使您的账户位于 Amazon SES 沙盒中,您也可以使用邮箱模拟器。

  • 发送到邮箱模拟器的电子邮件限制为您的账户的最大发送速率,但不会影响您的每日发送配额。例如,如果授权您的账户每 24 小时周期发送 10000 封邮件,而您向邮箱模拟器发送了 100 封邮件,您最多仍可以向普通收件人发送 10000 封邮件而不会超过您的发送配额。

  • 发送到邮箱模拟器的电子邮件不会影响您的电子邮件送达率或声誉指标。例如,如果您发送大量邮件到电子邮件模拟器的退回邮件地址,它不会导致声誉控制面板显示消息来警告您邮件退回率太高。

  • 在计费方面,发送到 Amazon SES 邮箱模拟器的电子邮件与使用 Amazon SES 发送的任何其他电子邮件相同。换而言之,对于您发送到邮箱模拟器的邮件以及发送到普通收件人的邮件,我们将向您收取相同的费用。

  • 邮箱模拟器支持加标签,利用此功能,您可以通过多种方式将电子邮件发送到同一邮箱模拟器地址,也可以查看应用程序如何处理可变信封退回路径 (VERP)。例如,您可以将电子邮件发送到 bounce+label1@simulator.amazonses.combounce+label2@simulator.amazonses.com 以测试您的应用程序是否可以使用导致退回的电子邮件地址匹配退回邮件。

  • 如果您使用邮箱模拟器模拟来自同一个发送请求的多个退回邮件,Amazon SES 会将退回邮件回复合并成单个回复。

使用邮箱模拟器

要使用电子邮件模拟器,请在下表中找到您要模拟的场景,然后将电子邮件发送到对应的电子邮件地址。

注意

将电子邮件发送到邮箱模拟器地址时,必须使用 AWS CLI、AWS 开发工具包、Amazon SES 控制台、Amazon SES SMTP 接口或 Amazon SES API,通过 Amazon SES 来使用它。邮箱模拟器不会回复接收自外部来源的电子邮件。

模拟的场景 电子邮件地址
成功传送 - 收件人的电子邮件提供商接受了电子邮件。如果您设置了使用通知监控 Amazon SES 电子邮件发送中所述的送达通知,Amazon SES 将通过 Amazon Simple Notification Service (Amazon SNS) 向您发送送达通知。 success@simulator.amazonses.com
退回邮件 - 收件人的电子邮件提供商拒绝您的电子邮件并返回 SMTP 550 5.1.1(“未知用户”)响应代码。Amazon SES 会生成一条退回邮件通知,根据您的账户设置,通过电子邮件将其发送给您或者发送通知到 Amazon SNS 主题。邮箱模拟器电子邮件地址不会像一般的电子邮件地址一样在出现硬退回邮件时被加入 Amazon SES 黑名单。您从邮箱模拟器收到的退回邮件响应符合 RFC 3464。有关如何接收退回邮件反馈的信息,请参阅使用通知监控 Amazon SES 电子邮件发送 bounce@simulator.amazonses.com
自动回复 - 收件人的电子邮件提供商接受您的电子邮件并将其传送到收件人的收件箱。电子邮件提供商发送自动回复 (例如“out of the office (外出,OOTO)”消息) 到电子邮件 Return-Path 标头中的地址,如果没有 Return-Path 标头,则发送到信封发件人 ("MAIL FROM") 地址。您从邮箱模拟器收到的自动回复符合 RFC 3834 标准。 ooto@simulator.amazonses.com
投诉 - 收件人的电子邮件提供商接受您的电子邮件并将其传送到收件人的收件箱。收件人在自己的邮件客户端中确定您的邮件是未经请求的,并单击“标记为垃圾邮件”。Amazon SES 随后通过电子邮件或通知 Amazon SNS 主题(具体取决于您的账户设置)将投诉通知转发给您。您从邮箱模拟器收到的投诉响应符合 RFC 5965。有关如何接收投诉反馈的信息,请参阅使用通知监控 Amazon SES 电子邮件发送 complaint@simulator.amazonses.com
收件人地址在黑名单上 - Amazon SES 生成查无此人的邮件,就像是收件人的地址在 Amazon SES 的黑名单上一样。 suppressionlist@simulator.amazonses.com

测试拒绝事件

您经由 Amazon SES 发送的每个邮件都会进行病毒扫描。如果您发送一个包含病毒的邮件,Amazon SES 会接受该邮件,检测病毒,然后拒绝整个邮件。当 Amazon SES 拒绝邮件时,它会停止处理邮件,并且不会尝试将邮件发送到收件人的邮件服务器。然后,它将生成一个拒绝事件。

Amazon SES 邮箱模拟器不包含用于测试拒绝事件的地址。不过,您可以通过使用 EICAR 测试文件来测试拒绝事件。此文件是一个以安全的方式测试反病毒软件的行业标准方法。要创建 EICAR 测试文件,请将以下文本粘贴到一个文件中:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

将该文件另存为 sample.txt,将其附加到电子邮件,然后将电子邮件发送到经验证的地址。如果该电子邮件没有任何其他问题,Amazon SES 会接受该邮件,但接着会拒绝它,如同它包含真实病毒一样。

注意

拒绝的电子邮件(包括通过使用上述过程发送的电子邮件)将计入您的每日发送配额中。我们将向您发送的每封邮件收费,包括被拒绝的邮件。

要了解有关 EICAR 测试文件的更多信息,请参阅 Wikipedia 上的 EICAR 测试文件页面。有关您可用来发送带附件的邮件的代码示例,请参阅使用 AWS 软件开发工具包发送原始电子邮件

有关与 Amazon SES 相关的各种主题的信息和讨论,请参阅 AWS 消息收发和目标博客。要浏览并发布问题,请转到Amazon SES 论坛