问:什么是 Amazon Simple Email Service?

Amazon Simple Email Service (Amazon SES) 是高度可扩展且经济高效的平台,用于发送和接收电子邮件。使用 Amazon SES,用户无需构建内部电子邮件解决方案,也无需许可、安装和运行第三方电子邮件解决方案,从而避免了相关的复杂性和开支。

问:哪些人应该使用 Amazon SES?

对于需要通过可靠、可扩展且低成本的方式来发送或接收电子邮件的所有人而言,Amazon SES 是非常不错的解决方案。我们目前的用户包括各种各样的企业,如在线零售商、大型和小型应用程序开发商以及数字营销组织。

问:我发送电子邮件的收件人是否受到限制?

通常,您应该只向需要并期望收到电子邮件的收件人发送电子邮件。如果确认任何账户发送垃圾邮件或其他不需要的低质量电子邮件,AWS 保留暂停该账户的权利,或采取 AWS 认为适当的其他措施。

作为 Amazon SES 客户,您有责任遵守监管电子邮件传送的各种法律法规。这些法律法规因国家/地区而异,在州、省、县或其他行政区域之间也可能会有所不同。要使用 Amazon SES,您必须同意 AWS 客户协议AWS 可接受使用策略中指定的条款。

问:通过 Amazon SES 可以发送哪些类型的电子邮件?

Amazon SES 能够可靠地传送商品推销、订阅、交易和通知电子邮件。

问:如何开始使用 Amazon SES?

完成以下步骤,即可开始使用 Amazon SES 发送电子邮件:

  1. 注册:注册 AWS 后,您可以访问 Amazon SES 沙盒 – 专门为开发人员测试和评估该服务而设计的环境。
  2. 验证域或电子邮件地址:在使用 Amazon SES 发送电子邮件之前,您需要验证您对用于发送电子邮件的域或地址的所有权。要启动验证过程,请访问 Amazon SES 控制台。
  3. 发送测试电子邮件:您可以使用 Amazon SES 控制台、SMTP 接口或 API 向经您验证的电子邮件地址或域发送测试电子邮件。
  4. 申请提高发送限制:在您准备好使用 Amazon SES 发送生产电子邮件时,您可以申请提高发送限制,同时将您的账户从沙盒环境中移出。申请只需几分钟,而且通常会在 24 小时内收到回复。
  5. 发送生产电子邮件:您可以使用 SMTP 或 Amazon SES API 对待传送电子邮件进行排队。
  6. 获取反馈:Amazon SES 提供有关您的发送活动的有用统计数据。通过简单的 API 查询或访问 Amazon SES 控制台,您就能快速获取重要的统计数据,如发送量、退回邮件数量和投诉数量等。

有关如何通过 Amazon SES 设置电子邮件的更多信息,请参阅 Amazon SES 开发人员指南中的快速入门部分

问:完成对 Amazon SES 的测试和评估之后,应该怎么办?

在您准备好使用 Amazon SES 发送电子邮件之后,就可以申请提高 Amazon SES 发送限制。如果获得批准,限制提高的同时您的账户还会从沙盒环境中移出,从此您就可以给客户发送电子邮件了。您不再需要验证收件人电子邮件地址或收件人域,而且还能够发送更大数量的电子邮件。

如需申请提高发送限制,请填写支持中心中的申请表。我们通常会在 24 小时之内对这些申请进行答复。


问:使用 Amazon SES 如何收费?

使用 Amazon SES 时,您只需按实际用量付费。无最低费用,无预支费用。使用 Amazon SES 的费用非常低。您应支付的费用取决于发送和接收的邮件数量、发送的附件数量以及从其他 AWS 产品 (如 EC2) 传送数据应支付的费用 (如适用)。

有关定价、数据传输费用和免费使用情况的更多信息,请参阅 Amazon SES 定价

问:Amazon SES 有免费使用套餐吗?

如果您从托管在 Amazon EC2 实例中的应用程序或通过 Elastic Beanstalk 调用 Amazon SES,则将可以享受 Amazon SES 免费套餐。在免费套餐中,您发送的前 62000 封电子邮件和接收的前 1000 封电子邮件均免费。

问:在 Amazon SES 沙盒环境中,是否可以享受 Amazon SES 免费套餐定价?

可以。但是,要充分利用 Amazon SES 免费套餐,您应申请提高 Amazon SES 发送限制。

问:使用 Amazon SES 要如何收费和计费?

每月月底,将向您收取当月的使用费。您的 Amazon SES 账单周期从每月第一天开始,截止每月最后一天结束。您的月度费用将在每月结束时汇总。

问:如何跟踪我的 Amazon SES 使用情况?

您可以通过访问 AWS 控制台中的“账单管理”页面随时查看当前计费周期内的费用。

问:我需要为传入垃圾邮件支付费用吗?

除 SMTP 会话过程中拒收的邮件之外,您需要为所有传入邮件付费。发件人向接收服务器传送邮件时,会出现 SMTP 会话。

您可以通过两种方法来确定邮件是否在 SMTP 会话过程中被接受。第一种方法是创建您希望允许的 IP 地址列表 (白名单) 和希望禁止的地址列表 (黑名单)。通过明确阻止来自已知垃圾邮件发送者的邮件,可以在 SMTP 会话期间拒收来自这些发送者的邮件,从而不必为他们发送的邮件付费。

第二种方法是设置接收规则。Amazon SES 只接受至少有一项接收规则与邮件收件人相匹配的传入邮件。Amazon SES 会维护自己的 IP 地址黑名单,并自动阻止来自列表中地址的邮件,无需您进行干预。如果您需要允许来自自动阻止的地址的邮件传送,则可以将该地址添加至允许的发件人列表中。


问:什么是 Amazon SES 沙盒?

Amazon SES 沙盒是新用户可以从中测试 Amazon SES 功能的区域。系统会自动将 Amazon SES 新用户置于沙盒中。位于沙盒中时,您只能将邮件发送至已经验证的电子邮件地址或与 Amazon SES 邮箱模拟器相关联的电子邮件地址。此外,位于沙盒中时,每 24 小时发送的邮件不能超过 200 封,每秒钟只能发送一封邮件。

在您准备好离开沙盒时,可以提交 SES 发送限制提高申请

问:我可以从任何源电子邮件地址发送电子邮件吗?

您可以从自己拥有的任何地址或域发送电子邮件。为了通过 Amazon SES 传送电子邮件,您必须证明您拥有发送电子邮件的地址或域。您可以使用 Amazon SES 控制台或通过 Amazon SES API 验证您的所有权。

您总共可以验证最多 10000 个电子邮件地址和域,能够任意组合。

问:Amazon SES 传输的电子邮件的大小是否受到限制?

Amazon SES 可以接受大小不超过 10MB 的电子邮件。其中包括邮件附带的任何图像和附件。

问:我可以在一个电子邮件中指定的收件人数量有限制吗?

您可以为使用 Amazon SES 发送的每封邮件最多指定 50 位收件人。“收件人:”、“抄送:”和“秘密抄送:”字段中的电子邮件地址总数不能超过 50 位收件人。如果您需要将电子邮件发送至 50 位以上的收件人,则需要发送多封邮件,每封邮件的收件人不得超过 50 人。

问:我可以发送的电子邮件数量是否受到限制?

每个 Amazon SES 发件人都有一组唯一的发送限制条件,这是由 Amazon SES 动态计算得出的:

  • 发送配额 – 您可在 24 小时内发送的最大电子邮件数量。
  • 最大发送率 – Amazon SES 每秒可以承受的来自您账户的最大电子邮件数量。

注意:Amazon SES 接受您的邮件的速率可能低于最大发送率。

发送限制基于的是收件人而不是电子邮件。您可以随时使用 Amazon SES 控制台检查这些发送限制。

请注意:如果检测到您的电子邮件质量低劣或存在问题 (例如退回邮件比率或投诉率高或被判断为垃圾邮件或攻击性内容),则 Amazon SES 可能临时或永久降低允许您发送的邮件数量,或适当采取其他措施。

问:为什么要设定这些发送限制?

使用这些限制来稳定地增加您的发送活动,可以帮助提升您的发件人声誉,从而提高您发送的电子邮件送达收件人收件箱的几率。


问:Amazon 可以访问我发送和接收的电子邮件吗?

我们对待我们的隐私和数据保护政策非常严肃。Amazon SES 使用内部反垃圾邮件技术来筛选包含低质量内容的电子邮件,从而阻止它们的发送。此外,还会对包含附件的所有邮件 (无论是出站还是传入) 进行病毒扫描。这些都是自动化过程,无人为参与。

Amazon SES 仅在极其有限的情况下访问电子邮件内容,例如系统故障修复、调查欺诈或攻击性活动。而且,其他 Amazon SES 客户没有访问您电子邮件内容的权限。

问:我可以对我收到的电子邮件进行加密吗?

Amazon SES 与 AWS Key Management Service (KMS) 集成,以选择性地对其写入到 Amazon S3 存储桶的邮件进行加密。您可以使用您帐户中的默认 Amazon SES KMS 主密钥进行加密,这不需要额外设置;您也可以设置用于授予 Amazon SES 服务主体权限的新的 KMS 主密钥,以生成数据密钥。Amazon SES 在将您的邮件写入到 Amazon S3 之前,使用客户端加密对邮件进行加密。这表示在检索来自 Amazon S3 的邮件之后,您必须在您那一端解密内容。AWS Java 软件开发工具包和 AWS Ruby 软件开发工具包提供能够为您处理解密事项的客户端。


问:是否需要设置反向 DNS 记录才能使用 Amazon SES?

Amazon SES 用户无需设置反向 DNS 记录。Amazon Web Services 管理由 Amazon SES 使用的 IP 地址,并为这些地址提供反向 DNS 记录。

问:Amazon SES 是否支持发件人策略框架 (SPF)?

Amazon SES 支持 SPF。您可能需要发布 SPF 记录,也可能不需要,具体取决于您使用 Amazon SES 发送电子邮件的方式。

如果您无需通过 SPF 遵循基于域的邮件身份验证、报告和一致性 (DMARC),则无需发布 SPF 记录以通过 SPF 身份验证,因为在默认情况下,Amazon SES 会从 Amazon 拥有的 MAIL FROM 域发送您的电子邮件。

如果您希望通过 SPF 遵循 DMARC,则必须将 Amazon SES 设置为使用您自己的 MAIL FROM 域并发布 SPF 记录。

问:Amazon SES 是否支持域名密钥识别邮件 (DKIM)?

Amazon SES 支持 DKIM。如果您已经启用并配置 Easy DKIM,则 Amazon SES 将代表您使用 DKIM 对传出邮件进行签名。如果您愿意,也可自行对电子邮件进行 DKIM 签名。为确保最高送达率,有几个 DKIM 标头不能进行签名。有关更多信息,请参阅 Amazon SES 开发人员指南中的在 Amazon SES 中手动进行 DKIM 签名

问:发自 Amazon SES 的电子邮件是否可以遵循 DMARC?

通过 Amazon SES,您的电子邮件可以通过 SPF 和/或 DKIM 遵循 DMARC。

问:Amazon SES 是否使用传输层安全性 (TLS) 通过加密连接发送电子邮件?

如果接收方的邮件服务器表明支持 STARTTLS 扩展,Amazon SES 会尝试将连接升级为 TLS 连接。如果升级失败,Amazon SES 将以纯文本形式发送电子邮件。

问:Amazon SES 使用哪个 TLS 版本来发送电子邮件?

Amazon SES 支持 TLS v1。


问:可以使用 Amazon SES 从我的现有应用程序发送电子邮件吗?

Amazon SES 允许您创建一个专用 SMTP 中继,以便与任何现有 SMTP 客户端软件配合使用,其中包括您自己开发的软件或支持 SMTP 的任何第三方软件。

有关更多信息,请参阅 Amazon SES 开发人员指南中的使用 Amazon SES SMTP 接口发送电子邮件

问:可以使用 Amazon SES 批量发送电子邮件吗?

要批量发送电子邮件,您可以对您需要发送的每封电子邮件重复调用 SendEmailSendRawEmail API 操作。在 Amazon EC2Amazon Elastic MapReduce (EMR) 或您自己的服务器上运行的软件,可以通过最符合您需求的任何方式使用 Amazon SES 编写并传送批量电子邮件。

如果您已经有了自己的邮件批量发送软件,则可以轻松更新该软件,使其通过 Amazon SES 传送电子邮件,或者修改该软件以使其直接调用 Amazon SES;或者重新配置该软件,使其通过 Amazon SES SMTP 中继传送电子邮件。有关 Amazon SES SMTP 接口的更多信息,请参阅 Amazon SES 开发人员指南中的使用 Amazon SES SMTP 接口。

问:Amazon SES 是否能够发送带附件的电子邮件?

Amazon SES 支持很多常见内容格式,包括文档、图像、音频和视频。

注意:为了您自己和客户的安全考虑,Amazon SES 会对您发送的每封电子邮件的附件进行病毒和恶意软件扫描。

您可以使用支持 SMTP 的电子邮件客户端发送带附件的电子邮件。在将这些客户端配置为通过 Amazon SES 发送传出电子邮件时,客户端将在发送邮件之前生成相应的 MIME 部分和电子邮件标头。

您还可以通过编程方式发送带附件的电子邮件。要在电子邮件中包括附件,生成一封新的多部分电子邮件。在此邮件中包括一个 MIME 部分,其中包含相应的 Content-Type 标头,以及 MIME 编码内容。接下来,使用 Content-Disposition 标头来指定该内容是嵌入显示,还是作为附件处理。

生成邮件之后,您可以使用 SendRawEmail API 进行发送;还可以使用 AWS 软件开发工具包 (SDK) 或第三方库 (如适用于 Python 的 boto3) 进行发送。

问:是否能为我的 Amazon SES 电子邮件发送操作保留专用 IP 地址?

可以。专用 IP 需额外付费。要申请专用 IP 地址,请在支持中心提出一个 SES 发送限制提高申请。在申请单的使用案例描述字段中指定您要购买专用 IP 地址。有关定价信息,请参阅 Amazon SES 定价

问:在发送某种类型的电子邮件时,是否可以指定专用 IP 地址?

如果您已经租用了几个专用 IP 地址以使用 Amazon SES 账户,则可以使用专用 IP 池功能来创建这些 IP 地址的组 ()。然后,您可以将每个池与配置集相关联;当您使用该配置集发送电子邮件时,这些电子邮件将只会从相关池中的 IP 地址发出。

要了解更多信息,请参阅 Amazon SES Developer Guide 中的 Creating Dedicated IP Pools

问:是否可以在不向真实收件人发送电子邮件的情况下测试 Amazon SES 响应情况?

SES 模拟信箱为您提供一种简单的方法,使您无需向真实的收件人发送电子邮件,就可以测试发送率和常规电子邮件响应情况,包括退信和投诉。发送到模拟信箱的电子邮件不会影响您的退信和投诉指标,也不会记入您的发送配额。

有关 Amazon SES 邮箱模拟器的更多信息,请参阅 Amazon SES 开发人员指南中的测试 Amazon SES 电子邮件发送

问:可以使用 Amazon SES 进行从电子邮件到文本的 SMS 传送吗?

许多手机运营商都提供 SMTP 到 SMS 网关。Amazon SES 用户可以将纯文本电子邮件发送至与这些网关相关联的电子邮件地址,而这些电子邮件又会作为 SMS 消息传送至收件人的手机。

但是,为了成功使用 SMS 网关,您必须了解几条信息,其中包括:

  • 收件人的手机号码
  • 收件人的手机运营商
  • 运营商 SMS 网关的域名 (如 sms.carriername.com)

如果 SMS 消息是市场营销或宣传计划的一部分,我们建议使用 Amazon Simple Notification Service (SNS)。通过 Amazon SNS 发送 SMS 消息时,您只需知道收件人的手机号码。

问:如何在 Amazon SES 中控制电子邮件的字符编码?

SMTP 协议要求所有数据必须以 7 位 ASCII 格式进行发送。如果您希望在 Amazon SES SMTP 接口中使用其他字符编码,则需要将所需编码应用于邮件主题和正文,然后将它们转换为有效的 7 位 ASCII 邮件,再将邮件发送到 SMTP 终端节点。

SendEmail API 接受 UTF-8 主题和正文输入,将它们转码为您通过可选编码参数指定的格式,并在传输之前使用相应的 encoded-word 语法和 content-transfer-encoding 标头,自动将生成的内容转换为 7 位 ASCII。SendRawEmail API 要求您将所需编码应用于邮件主题和正文,然后在提交此类请求之前,将它们转换为有效的 7 位 ASCII 邮件。


问:如何将 Amazon SES 配置为接收电子邮件?

您首先必须使用文档中描述的步骤通过 Amazon SES 验证您的域,以证明您拥有该域。此过程与 Amazon SES 用于发送邮件的域验证过程相同。如果您已使用您的域通过 Amazon SES 发送邮件,则无需再次验证。

成功验证您的域之后,下一步是针对指向要用于接收电子邮件的地区性 Amazon SES 终端节点的域发布 DNS 邮件交换器 (MX) 记录。通过 Amazon SES 接收邮件时,不需要发布 MX 记录,但是如果您需要传入邮件自动路由到 Amazon SES,而不是您自己路由,则必须进行发布。

最后一步是使用 Amazon SES 控制台或 API 创建接收规则。接收规则将告诉 Amazon SES 接收传入电子邮件时会发生什么。例如,您可以将 Amazon SES 配置为将所有传入电子邮件传送到 Amazon S3 存储桶。

问:Amazon SES 收到我的邮件时会如何做?

当 Amazon SES 收到消息时,它会参考您设置的活动接收规则,以确定您是否具有与传入消息的任一收件人匹配的任何规则。如果没有任何匹配项,或者如果邮件来自您的 IP 地址黑名单上的 IP 地址,则 Amazon 会在 SMTP 会话中拒收此邮件。否则,Amazon SES 会接受此邮件。

Amazon SES 接受邮件之后,将评估您的有效接收规则;然后将按照规则的定义顺序应用这些规则。

后续步骤由您在接收规则中定义的操作确定。您可以将接收规则设置为使用 Amazon SES 将您的邮件传送至 Amazon S3 存储桶,通过 AWS Lambda 函数调用自定义代码或将通知发布到 Amazon SNS。您还可以配置 Amazon SES 以丢弃或退回不想接收的电子邮件。

问:我如何在 Amazon S3 中访问我的邮件?

在设置某接收规则以指定 Amazon SES 应将您的邮件写入 Amazon S3 存储桶时,您还可以选择设置 Amaon SNS 通知。通知 (包含关于邮件的一般信息以及对其所采取的操作) 将包括邮件的唯一 ID。使用此 ID 检索来自 Amazon S3 的相应邮件。

问:我可以如何处理收到的电子邮件?

有两种方法可用来处理您收到的邮件。您可以编写用于监听来自 Amazon SES 的 Amazon SNS 通知的应用程序、检索来自 Amazon S3 的邮件并进行处理。此外,您还可以编写自定义 AWS Lambda 函数。

AWS Lambda 事件包含所收到邮件的所有元数据,但是不包括实际的邮件内容。如果您需要从 AWS Lambda 中访问邮件内容,则在您的 AWS Lambda 操作被评估之前,您需要先使用 Amazon S3 操作将邮件写入 Amazon S3。您可以同步或异步执行 AWS Lambda 操作,具体取决于 AWS Lambda 函数是否需要返回影响其他操作执行方式的结果。

除非您的特定应用程序要求您采用同步执行,否则我们建议您采用异步执行。

问:多个不同的 AWS 账户可以接收相同域上的邮件吗?

多个 AWS 账户可以接收相同域上的邮件。对于抵达共享域的每封电子邮件,邮件副本会通过每个账户单独设置的接收规则进行处理。

问:对我通过 Amazon SES 接收的邮件有任何大小限制吗?

如果您选择将邮件存储在 Amazon S3 存储桶中,则最大邮件大小 (包括标头) 为 30MB。

如果您选择通过 Amazon SNS 通知接收邮件,则最大邮件大小 (包括标头) 为 150KB。

问:我通过 Amazon SES 接收邮件时,吞吐量是否有限制?

对于通过 Amazon SES 接收的传入电子邮件,没有吞吐量限制。

问:我应如何处理通过未加密连接发送的传入电子邮件?

您可以配置 Amazon SES 接收规则,以便自动拒收从不使用传输层安全性 (TLS) 的连接处接收的邮件。


问:Amazon SES 如何帮助确保可靠的电子邮件传送?

Amazon SES 使用内容筛选技术来扫描传出电子邮件。这些内容筛选条件有助于确保通过 Amazon SES 发送的内容符合 ISP 标准。为了帮助您进一步提高电子邮件的送达率,Amazon SES 提供包含退回邮件、投诉和送达通知的反馈循环。

问:Amazon SES 是否保证收到我的电子邮件?

Amazon SES 密切监控 ISP 指导原则,帮助确保合法的高质量电子邮件能够可靠地送达收件人收件箱。但是,无论是 Amazon SES 还是其他任何电子邮件发送服务,都无法保证收到所有电子邮件。ISP 可能丢弃或丢失电子邮件,收件人可能疏忽大意提供错误电子邮件地址,如果收件人不希望接收您的电子邮件,ISP 会选择拒绝或静默丢弃这些邮件。

问:使用 Amazon SES 发送的电子邮件多长时间可以送达收件人的收件箱?

Amazon SES 在收到每个请求后几秒之内尝试将电子邮件传送到 Internet。但是,因为受到众多因素的影响和 Internet 的不确定性,我们无法准确估计电子邮件的送达时间以及邮件在到达目的地前经过的路线。

例如,ISP 可能因为临时状况 (例如邮箱已满) 而无法将电子邮件交给收件人。在这些情况下,Amazon 会尝试重新传送邮件。如果错误仍存在,例如显示“邮箱不存在”,Amazon SES 则不会重新尝试发送,而您将会收到一条查无此人的邮件消息。您可以设置送达通知,在 Amazon SES 成功将电子邮件送达收件人邮件服务器后提醒您。


问:如果我收到退回邮件或投诉,应该采取哪些行动?

您需要分析每封收到的退信和投诉电子邮件或者 Amazon SNS JSON 对象,以确定原因。退回邮件通常是由于试图向不存在的收件人发送邮件而导致的;而出现投诉邮件的原因则是收件人表示他们不希望接收您的邮件。

在这两种情况下,我们建议您停止向这些电子邮件地址发送邮件。

问:Amazon SES 如何将退信、投诉和传输通知发送给我?

Amazon SES 通过电子邮件将退信和投诉通知转发给您,或根据您的配置发送到一个 Amazon SNS 主题。当 Amazon SES 成功传输一封电子邮件到收件人的邮件服务器后,传输通知就会被触发,然后通过 Amazon SNS 只发送给您。

问:Amazon SES 将我的退信、投诉和传输通知发送至何处?

通过 Amazon SNS 提供送达通知。退信和投诉可以通过电子邮件和/或 Amazon SNS 发送给您。如果您选择通过电子邮件来接收退信和投诉通知,Amazon SES 将基于以下逻辑向您发送退信和投诉通知:

  • 如果您使用 SMTP 接口来发送邮件,则通知将会发送至在 SMTP 的必需 MAIL FROM 命令中指定的地址,它将覆盖在 SMTP DATA 中指定的任何 Return-Path 标头。
  • 如果您使用 SendEmail API 操作来发送邮件,则:
    • 如果您指定了 SendEmail 的可选 ReturnPath 参数,则通知将发送至指定地址。
    • 否则,通知将发送至在 SendEmail 的必需 Source 参数中指定的地址,它将填充邮件的 From: 标头。
  • 如果您使用 SendRawEmail API 操作来发送邮件,则:
    • 如果您指定了 SendRawEmail 的可选 Source 参数,则通知将发送至该地址,并覆盖在原始邮件中指定的任何 Return-Path 标头。
    • 否则,如果在原始邮件中指定了 Return-Path 标头,则通知将发送至该地址。
  • 否则,通知将发送至原始邮件的 From: 标头中的地址。

问:使用 Amazon SNS 接收退回邮件、投诉和送达通知是否会产生额外费用?

如果您使用 Amazon SNS 接收退回邮件、投诉和/或送达通知,则将收取正常的 Amazon SNS 费用。有关 Amazon SNS 相关使用费用的更多信息,请参阅 Amazon SNS 定价

问:我何时才能收到退回邮件、投诉和送达通知?

在 ISP 将退回邮件或投诉发送到 Amazon SES 之后,我们通常在几秒时间内通过 Amazon SNS 或电子邮件将该通知转发给您。但是,我们可能会在几秒、几周甚至更长的时间内收不到来自收件人的 ISP 的退回邮件或投诉,这要取决于 ISP 通知我们的速度。

只要 Amazon SES 将电子邮件送达收件人的邮件服务器,我们就会马上发布送达通知。在大多数情况下,通过 Amazon SES 发送的电子邮件在几秒内即可送达,可能偶尔时间会长一些。

问:如何使用 Amazon SES 监控发送的电子邮件的退回率和投诉率?

Amazon SES 提供了三种主要方式来监控您的退回邮件、投诉、送达、已发送的电子邮件和被拒收的电子邮件。

第一种方式是使用 Amazon SES 控制台、Amazon SES API 或 Amazon CloudWatch 访问您整个 AWS 账户的基本电子邮件发送指标。

第二种方式是设置 Amazon SES,以便通过电子邮件或 Amazon SNS 向您发送详细的反馈通知。

第三种方式是使用 Amazon SES 事件发布。借助事件发布,您可以使用 Amazon CloudWatchAmazon Kinesis Firehose 将您的电子邮件进行分类,并单独收集各类电子邮件类别事件数据。您可以设置 Amazon Kinesis Firehose,以便将事件记录发送到 Amazon RedshiftAmazon S3Amazon Elasticsearch Service。如果您使用 Amazon Elasticsearch Service,则可以通过 Kibana 将事件数据可视化。

有关监控方法的更多信息,请参阅 Amazon SES 开发人员指南中的监控 Amazon SES 发送活动

问:其他 Amazon SES 用户导致的任何退回邮件或投诉会对我产生什么影响?

通常,在其他 Amazon SES 用户发送了导致退回邮件或投诉的邮件时,不会对您发送电子邮件产生什么影响。

此规则有一个例外情况,即收件人电子邮件地址出现了查无此人的邮件。收件人的电子邮件地址出现查无此人的邮件,系统将把此地址添加至全局黑名单。如果您试图向位于全局黑名单中的地址发送电子邮件,则可以成功调用 Amazon SES,但 Amazon SES 会将该邮件视为查无此人的邮件,而不会尝试将其发送出去。

向位于全局黑名单中的地址发送的电子邮件将按照您的发送配额和退回率进行计数。电子邮件地址可在黑名单上保留最多 14 天。

有关全局黑名单的更多信息,请参阅 Amazon SES 开发人员指南中的 Amazon SES 和送达率

问:收件人地址被添加至全局黑名单,但我确定其为有效地址,我能否将此地址从黑名单中移除?

您可以使用 Amazon SES 控制台提交黑名单移除申请。有关更多信息,请参阅 Amazon SES 开发人员指南中的从 Amazon SES 黑名单中移除电子邮件地址

问:如果我试图发送格式不正确的电子邮件,或发送的电子邮件出于任何其他原因被禁止,会怎么样?

如果 Amazon SES 无法传送您的邮件,则会返回错误消息,其中包含导致传送失败的信息。在极少数情况下,Amazon SES 在接受请求之后无法检测到您的电子邮件存在的问题。在此类情况下,电子邮件将会退回给您,附带相应的错误代码和原因。


问:Amazon SES 如何确保传入邮件不是垃圾邮件且不含病毒?

Amazon SES 采用了许多垃圾邮件和病毒防护措施。首先使用黑名单来防止已知垃圾邮件发送者的邮件进入系统。还对包含附件的每封传入电子邮件执行病毒扫描。

Amazon SES 为您提供垃圾邮件检测结果,让您决定是否信任每封邮件。除了垃圾邮件和病毒扫描结果之外,Amazon SES 还提供 DKIM 和 SPF 检查结果。

问:哪些技术可以防止 Amazon SES 用户发送垃圾邮件?

Amazon SES 使用内部的内容筛选技术来扫描电子邮件内容,以检查其是否为垃圾邮件和恶意软件。

在异常情况下,被认定为发送垃圾邮件或其他低质量电子邮件的账户可能被暂停,或者 AWS 可能采取它认为适当的措施。当检测到恶意软件时,Amazon SES 会阻止发送这些电子邮件。


问:如何将 Amazon SES 与 Amazon WorkMail 相集成?

Amazon WorkMail 使用 Amazon SES 发送和接收邮件。当您设置 Amazon WorkMail 时,Amazon WorkMail 会在您的 Amazon SES 配置设置中创建两个项目:允许 Amazon WorkMail 通过您的域发送邮件的发送授权策略,以及包含 WorkMail 操作 (用于将您所在域的传入邮件发送到 Amazon WorkMail) 的接收规则。如果您删除其中任一项目,Amazon WorkMail 将无法正常工作。

问:除了 AWS Lambda 施加的限制之外,Amazon SES 对 AWS Lambda 函数设定了任何限制吗?

有一个 30 秒的 RequestResponse 调用超时时间。

问:我目前使用在 Amazon EC2 上托管的自有邮件服务器来发送电子邮件。是否必须改用 Amazon SES?

Amazon SES 不会影响您当前可能使用的任何基于 Amazon EC2 的解决方案。您可以继续使用现有解决方案,也可以使用 Amazon SES,或者同时使用这两者。

问:是否必须注册 Amazon EC2 或其他任何 AWS 服务方可使用 Amazon SES?

Amazon SES 用户无须注册其他任何 AWS 服务。可访问 Internet 的任何应用程序均可使用 Amazon SES 来传送电子邮件,无论该应用程序是在您自已的数据中心运行,还是在 Amazon EC2 中运行,又或者作为客户端软件解决方案运行。

问:Amazon SES 与 Amazon SNS 有何不同?

Amazon SES 适用于需要通过电子邮件发送通信内容的应用程序。Amazon SES 支持自定义的电子邮件标头字段,以及很多 MIME 类型。

相反,Amazon Simple Notification Service (Amazon SNS) 适用于以消息收发为导向的应用程序,有多个订阅者通过选择的传输协议 (包括 HTTP、Amazon SQS 和电子邮件),请求和接收时间关键型邮件的“推送”通知。Amazon SNS 通知的正文不得超过 8192 个 UTF-8 字符串字符,不支持多媒体内容。


问:Amazon SES 是否提供 SMTP 终端节点?

Amazon SES 提供 SMTP 接口,以实现与能够通过 SMTP 发送电子邮件的应用程序的无缝集成。您可从应用程序直接连接至此 SMTP 接口,或将现有电子邮件服务器配置为使用此接口作为 SMTP 中继。

要连接到 Amazon SES SMTP 接口,必须创建 SMTP 凭证。有关创建 SMTP 凭证的更多信息,请参阅 Amazon SES 开发人员指南中的获取 Amazon SES SMTP 凭证

问:如何使用 Amazon SES SMTP 接口?

要使用 Amazon SES SMTP 接口,只需提供您的 SMTP 用户名和密码、SMTP 终端节点名称及端口编号。使用此信息,您可通过与任何其他 SMTP 中继相同的方式连接到 Amazon SES SMTP 接口。

例如,您可以集成现有打包软件,让它通过 Amazon SES 发送电子邮件。可以使用支持 SMTP 的编程语言,为您的应用程序添加电子邮件发送功能。 还可将 Amazon SES 发送功能与 Sendmail、Postfix 和 Exim 等常用邮件传输代理 (MTA) 相集成。您甚至可从命令行连接到 SMTP 接口,直接发送 SMTP 命令。

有关 SMTP 接口的更多信息,请参阅 Amazon SES 开发人员指南中的使用 Amazon SES SMTP 接口发送电子邮件


问:如何向 Amazon SES 发出请求?

Amazon SES 接受通过 HTTPS 发出的查询请求。这些请求使用 GET 或 POST 等谓词,以及名为 Action 的参数,以指示要执行的操作。出于安全原因,Amazon SES 不支持 HTTP 请求;您必须使用 HTTPS。

问:有哪些可用于发送电子邮件的 API 操作?

除了 SMTP 发送支持之外,Amazon SES 还提供以下两个 API:SendEmailSendRawEmail。这两个 API 提供对实际邮件组合的不同级别的控制。这两个 API 均提供相同级别的电子邮件发送可靠性和性能:

SendEmail API 仅要求用户提供源地址、目标地址、邮件主题和邮件正文。调用此 API 后,Amazon SES 将自动生成和发送一封正确格式的多部分 MIME 电子邮件,为在电子邮件客户端软件上显示进行了优化。

SendRawEmail API 为高级用户提供了灵活性,允许他们通过指定标头、MIME 部分和内容类型,设置自己的原始电子邮件的格式,并且发送这些邮件。

问:AWS 软件开发套件是否支持 Amazon SES?

是。您可以使用适用于 AndroidiOSJava.NETNode.jsPythonPHPRubyAWS 软件开发工具包 (SDK) 来访问 Amazon SES API。使用这些软件开发工具包,用户可以轻松为应用程序启用电子邮件以发送电子邮件,从而通过简单 API 调用来发送电子邮件。

开始免费使用 AWS

创建免费账户
或登录到控制台

获得 12 个月的 AWS 免费使用套餐,同时享受 AWS 的基本支持功能,包括全年全天候客户服务、支持论坛等。