摘要

亚马逊的 SES 功能是批量发送电子邮件的好方法。我希望这篇文章已经让你开始熟悉 SES 以及如何使用它来开始发送电子邮件。

让我们通过发送您的第一封电子邮件使用亚马逊简单电子邮件服务(SES)。在本文中,您将逐步了解如何设置 AmazonSES 来发送电子邮件。

使用 Amazon SES 发送电子邮件有三种方式:

  • 使用控制台
  • 使用 AmazonSESSMTP 接口
  • 使用 API

如果您的组织需要发送交易电子邮件或促销信息,请不要使用您自己的邮件服务器。相反,请查看名为 SES 的 Amazon Web Services AWS 电子邮件服务。

在本文中,您将了解如何使用 Amazon SES 通过 Amazon SES 控制台和 SMTP 接口发送电子邮件。在开始使用 Amazon SES 发送电子邮件之前,您还将了解所需的准备工作。

先决条件

在本文中的示例和步骤中,您必须遵循一些要求。您必须拥有 AWS 账户。

如果您没有这个,您可以注册一个新的 AWS 账户。本文中执行的所有步骤都适用于AWS 免费套餐订阅
如果您计划验证整个域的身份,您需要有权访问您的 DNS 主机。验证域需要添加新的 DNS 记录以确认域所有权。
如果您计划验证电子邮件地址的身份,则需要有一个使用该电子邮件地址的有效邮箱。电子邮件地址所有权确认需要访问来自 Amazon SES 的确认电子邮件。

访问 Amazon SES 控制台

假设您刚刚创建了 AWS 账户并首次登录,您的大脑会想:“那个 SES 控制台在哪里?”。考虑到 AWS 中提供的众多服务,很容易不知所措而无法立即找到您要查找的内容。

将 SES 控制台视为您的电子邮件客户端和电子邮件管理工具,两者都内置于一体。

登录到AWS 管理控制台后,查找 AWS SES 以发送电子邮件的最简单方法是使用搜索框。只需在搜索框中输入“简单电子邮件”一词,然后单击结果,如下面的演示所示。

如何使用亚马逊 SES 发送电子邮件插图

访问 Amazon SES 控制台

从 AWS 管理控制台,搜索“简单的电子邮件服务”并打开 AmazonSES 控制台。

如何使用亚马逊 SES 发送电子邮件插图1

验证电子邮件地址

我们需要做的第一件事是设置一个电子邮件地址,我们将发送从这样做。我们首先需要确认我们实际上拥有我们正在使用的电子邮件地址。

让我们继续,点击左侧的电子邮件地址。

如何使用亚马逊 SES 发送电子邮件插图2

我们目前没有任何经过验证的电子邮件地址,所以点击验证一个新的电子邮件地址。

如何使用亚马逊 SES 发送电子邮件插图3

如何使用亚马逊 SES 发送电子邮件插图4

将出现一个对话框,告诉我们验证电子邮件已发送到该地址。

如何使用亚马逊 SES 发送电子邮件插图5

如何使用亚马逊 SES 发送电子邮件插图6

让我们切换到电子邮件客户端。

如何使用亚马逊 SES 发送电子邮件插图7

一旦验证完成,返回到 SES 控制台。现在,当我刷新我的清单。您可以看到,我的新电子邮件地址已验证的状态。

如何使用亚马逊 SES 发送电子邮件插图8

我们现在可以发送电子邮件了。

验证域

如果您打算使用您域下的任何电子邮件地址,则必须验证域。在 SES 中验证域时,您可以使用任何地址作为发件人,只要域部分是您的已验证域。

例如,如果您的验证域是contoso.com,则地址sender1@constoso.com和sender2@contoso.com有资格用作发件人地址。

要验证电子邮件域,请在“身份管理”部分下单击“域”。接下来,单击验证新域。

在“验证新域”弹出框中,输入您要验证的域的名称。然后,单击验证此域。

如何使用亚马逊 SES 发送电子邮件插图9

验证新域

从上面的演示可以看出,添加一个新的域进行验证后,一条TXT记录就被创建了。您需要复制 TXT 记录并在您的 DNS 主机中创建它。

在下面的示例中,使用 Amazon SES 提供的值为域lzex.cf添加了新的 TXT 记录。请注意,您的 DNS 管理界面可能与您在下面看到的示例不同。

如何使用亚马逊 SES 发送电子邮件插图10

创建用于域验证的 TXT 记录

在 DNS 主机中创建 TXT 记录后,返回到Amazon SES 中的验证新域页面。检查域是否已验证。如果尚未验证,请单击刷新按钮。

如果找到正确的 TXT 记录,域状态将更改为已验证。请参阅下面显示该域已被验证和启用的屏幕截图。

如何使用亚马逊 SES 发送电子邮件插图11
新域已验证 

您离使用 AWS SES 发送电子邮件又近了一步!

发送格式化的测试电子邮件

选择已验证的电子邮件地址,然后单击“发送测试电子邮件”。

如何使用亚马逊 SES 发送电子邮件插图12

在这个对话框中,我们给出了几个电子邮件选项。

如何使用亚马逊 SES 发送电子邮件插图13

我可以通过点击“更多选项”链接来切换更多选项,以查看一些我可以填写的额外字段,如下所示,但是现在我们还是用一封简单的电子邮件吧(没有双关语的意思)。

如何使用亚马逊 SES 发送电子邮件插图14

在“收件人”字段中,输入刚刚验证的电子邮件地址。如果您是 SES 的新用户,您将只能发送给经过验证的收件人,因为您的帐户将在一个名为 Amazon SES Sandbox 的测试环境中。您可以稍后申请移出沙盒以取消收件人地址限制。

在主题中,输入 SES 格式的测试,然后在主体中添加一些文本。现在点击发送测试邮件。你应该会收到一封电子邮件。

发送原始邮件

现在让我们发送一封原始格式的电子邮件。我要把这封邮件再发到同一个已核实的地址。您会注意到,我不再有查看更多选项的选项,而且 Subject 字段也不再可用。这些字段需要在消息框中指定。

如何使用亚马逊 SES 发送电子邮件插图15

我要为这封电子邮件粘贴一些样本格式的文本。注意,我在 message 字段中指定了主题。在这里,您还可以指定前面在“更多选项”下看到的一些其他选项。

如何使用亚马逊 SES 发送电子邮件插图16

发送电子邮件,然后检查您的电子邮件客户端。当您打开它时,您将看到文本已经被格式化,就像您在 SES 控制台中指定的那样。

如何使用亚马逊 SES 发送电子邮件插图17

发送原始电子邮件

发送原始电子邮件的选项允许您制作更复杂的消息格式。这意味着您可以使用 HTML 格式,这样您就可以使用 HTML 代码设计消息。

例如,下面的 HTML 代码可以用作消息正文。

Subject: Amazon SES Raw Email Test
MIME-Version: 1.0
Content-Type: text/HTML

<!DOCTYPE html>
<html>
<head>
<style>
body {background-color: powderblue;}
h1   {color: blue;}
p    {color: red;}
</style>
</head>
<body>
<h1>This is a heading</h1>
<p>This is a paragraph.</p>
</body>
</html>

要发送原始电子邮件,请在 Amazon SES 控制台中再次返回发送测试电子邮件界面。这次,选择Raw作为电子邮件格式。输入发件人和收件人地址。然后,复制上面的代码并将其粘贴到消息框中,然后单击发送测试电子邮件按钮。

如何使用亚马逊 SES 发送电子邮件插图18

从控制台发送原始电子邮件

收到消息后,电子邮件将以 HTML 格式显示。

如何使用亚马逊 SES 发送电子邮件插图19

从控制台发送的原始电子邮件

从上面的电子邮件屏幕截图可以看出,电子邮件呈现为 HTML 格式的消息。

使用 SMTP 接口发送电子邮件

此 AWS 电子邮件服务 (SES) 的 SMTP 终端节点侦听STARTTLS的端口 25、587 和 2587 。以及用于TLS Wrapper (SMTPS)的端口 465 和 2465

AWS SES 可以手动或以编程方式发送电子邮件 – 这意味着您可以将自动化和后台电子邮件发送流程与 Amazon SES 集成。

在您可以使用 Amazon SES SMTP 终端节点之前,您必须获得两件事。SMTP 凭据和 SMTP 终结点地址。

获取 SMTP 端点接口详细信息

要为您的账户找到合适的 SMTP 终端节点信息,请转到Amazon SES 控制台中的SMTP 设置。您应该能够找到相关的 SMTP 接口信息,例如服务器名称端口。

如何使用亚马逊 SES 发送电子邮件插图20

获取 SMTP 接口详细信息

创建 SMTP 凭证

SMTP 凭证与您的 AWS 凭证不同。要获取 SMTP 凭据,请单击“创建我的 SMTP 凭据”按钮。接下来,您可以输入要分配给凭据的名称或接受默认名称并单击创建。

在下面的演示中,创建了一个名为SMTP1的新 SMTP 凭据。

如何使用亚马逊 SES 发送电子邮件插图21

创建 SMTP 凭证

创建 SMTP 凭据后,请确保复制并保存 SMTP 用户名和密码。

使用 PowerShell 通过 Amazon SES SMTP 发送电子邮件

现在您已经创建了 SMTP 凭证并拥有 SMTP 详细信息,您可以使用它们通过此 AWS 电子邮件服务发送电子邮件。

在此示例中,将使用 PowerShell cmdlet 发送电子邮件Send-MailMessage。使用下面的代码。

确保在$smtpUserName和$smtpPassword变量中使用您的 SMTP 凭据。此外,更新电子邮件参数,如smtpServer、Port、From和To。

# Define username and password
$smtpUserName = '****SMTP USER NAME HERE****'
$smtpPassword = ConvertTo-SecureString '****SMTP PASSWORD HERE****' -AsPlainText -Force

# Convert to SecureString
[pscredential]$credential = New-Object System.Management.Automation.PSCredential ($smtpUserName, $smtpPassword)

# Send Email - change the values if needed.
Send-MailMessage -Credential $credential `
-useSSL `
-smtpServer 'email-smtp.ap-southeast-2.amazonaws.com' `
-port 587 `
-from 'mailer@lzex.cf' `
-to 'june@lzex.cf' `
-subject `
'Email via Amazon SES SMTP Endpoint' `
-body 'Email via Amazon SES SMTP Endpoint'

修改以上代码后,复制整个代码并将其粘贴到 PowerShell 中以运行它。请参阅下面的演示,其中显示了使用 PowerShell 发送的消息并由目标地址接收。

如何使用亚马逊 SES 发送电子邮件插图22

通过 Amazon SES SMTP 端点使用 PowerShell 发送电子邮件

除了使用 AWS Amazon SES SMTP 端点中的电子邮件服务以编程方式发送电子邮件外,您还可以将其与您的邮件服务器或电子邮件发送应用程序集成。

在下面的示例中,邮件服务器 ( hMailServer ) 配置为使用 Amazon SES SMTP 终端节点作为其智能主机发送出站消息。

与您现有的电子邮件服务器或应用程序集成

如何使用亚马逊 SES 发送电子邮件插图23

使用 Amazon SES SMTP 作为智能主机

设置 SMTP 中继器设置后,如上面的屏幕截图所示,邮件服务器现在通过 Amazon SES 路由所有出站邮件。在下面的示例中,测试邮件已发送到外部收件人 ( gmail.com ) 并已收到。

如何使用亚马逊 SES 发送电子邮件插图24

作为 SMTP 智能主机通过 Amazon SES 发送的电子邮件

发送统计数字

回到 SES 控制台,单击 Sending Statistics。您首先会注意到一个蓝色的大文本框,它告诉我们这个 SES 帐户当前具有沙箱访问权限。

如何使用亚马逊 SES 发送电子邮件插图25

要开始发送没有沙箱限制的电子邮件,您将需要点击请求发送限制增加。然后你需要填写这张表格提交一个新的案件。我不想在这里经历这些。

如何使用亚马逊 SES 发送电子邮件插图26

发送限制

如果我们向下滚动发送统计信息页面,就会看到一些与发送限制相关的统计信息。你可以在这里看到你是如何对我们目前的发送限制。我在这里有一些发送的电子邮件从测试这篇文章,但我可以看到,我在我的200电子邮件每24小时期间很好。

如何使用亚马逊 SES 发送电子邮件插图27

再往下一点,我们可以看到一些 SES 指标,它们将显示发送、拒绝、跳转和投诉的电子邮件数量。

如何使用亚马逊 SES 发送电子邮件插图28

结论

Amazon Simple Email Service 确实是一种配置、使用和习惯的“简单”电子邮件服务。使用 Amazon SES 而不是构建您自己的电子邮件基础设施可以真正为您节省硬件、维护和管理成本。

在本文中,您了解了如何准备域或电子邮件地址以用于 Amazon SES。您已了解如何使用 Amazon SES 控制台发送格式化电子邮件和原始电子邮件。

您还了解了如何使用 Amazon SES SMTP 接口以编程方式发送消息,以及如何作为现有电子邮件服务器和应用程序的 SMTP 出站智能主机。

您可以了解通过 Amazon SES 发送电子邮件的其他方法,例如使用API和SDK。但是,这些是针对高级使用场景的,最适合开发目的。

声明:部分内容来自互联网,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。