要在 Amazon Web Services (AWS) 的 Simple Email Service (SES) 中使用自己的域名发送电子邮件,你需要完成以下步骤:
1. 验证域名
AWS SES 要求你验证你的域名,以确保你有权限通过 SES 发送电子邮件。以下是如何验证你的域名的步骤:
1.1. 登录 AWS 管理控制台
- 打开 AWS 管理控制台 并登录。
- 导航到 SES 控制台。
1.2. 添加并验证域名
- 在 SES 控制台左侧的导航栏中,点击 Domains,然后点击 Verify a New Domain。
- 在弹出的页面中,输入你想使用的域名,例如
yourdomain.com
。 - 选中 Generate DKIM Settings,这将为你自动生成 DKIM(DomainKeys Identified Mail)设置,帮助提高电子邮件送达率。
1.3. 获取 DNS 设置
- SES 会生成一些 DNS 记录(包括
TXT
记录用于验证,CNAME
记录用于 DKIM)。 - 复制这些记录,并将它们添加到你域名的 DNS 管理系统中。例如,如果你使用 Cloudflare 或 Route 53 管理 DNS,你需要登录相应的平台并将这些记录粘贴到 DNS 设置中。
1.4. 等待验证
- DNS 记录更新后,验证过程可能需要几分钟到几小时。你可以在 SES 控制台查看域名的验证状态。
2. 配置 SPF 和 DKIM 记录
为了增加电子邮件的送达率,减少被标记为垃圾邮件的风险,建议你配置 SPF(Sender Policy Framework)和 DKIM(DomainKeys Identified Mail)记录。
2.1. 配置 SPF 记录
- SES 会给出一个
TXT
记录,用于配置 SPF。该记录的值通常为类似以下内容:v=spf1 include:amazonses.com ~all
- 你需要将此
TXT
记录添加到你的 DNS 配置中。
2.2. 配置 DKIM 记录
- 如果你在 SES 中启用了 DKIM,SES 会生成三个
CNAME
记录。你需要将这些CNAME
记录添加到 DNS 中。 - 这些记录将使得 SES 能够在发送电子邮件时对邮件进行数字签名,增强邮件的送达率和合法性。
3. 请求取消SES的发送限制
AWS SES 在“沙盒模式”下,发送邮件的地址和域名需要经过验证,并且每天有发送邮件的数量限制。如果你要发送到未验证的地址,或者发送大量电子邮件,你需要将账户移出沙盒。
3.1. 提交申请
- 登录 AWS 管理控制台。
- 打开 SES 控制台,点击 Sending Statistics。
- 找到并点击 Request a Sending Limit Increase。
- 按照页面提示填写表单,详细说明你如何使用 SES 以及你需要的发送限制。
4. 配置发件人电子邮件地址
4.1. 验证单个电子邮件地址
除了验证域名,你也可以直接验证某个发件人邮箱地址。可以通过以下步骤验证:
- 在 SES 控制台左侧导航栏中,点击 Email Addresses。
- 点击 Verify a New Email Address,输入要使用的邮箱地址。
- AWS SES 将发送一封验证邮件到该邮箱,点击邮件中的链接以完成验证。
4.2. 使用域名下的任意邮箱地址
如果你已经验证了整个域名(比如 yourdomain.com
),那么你可以使用该域名下的任何电子邮件地址(如 noreply@yourdomain.com
)发送邮件,而无需单独验证每个地址。
5. 在应用中使用 SES 发送邮件
你可以通过以下几种方式将 SES 集成到你的应用中,以发送电子邮件:
5.1. 通过 SMTP 使用 SES
- 使用 AWS SES 提供的 SMTP 端点发送电子邮件。你可以在 SES 控制台中创建 SMTP 凭据(用户名和密码),并使用以下 SMTP 服务器信息:
- SMTP 主机:
email-smtp.us-east-1.amazonaws.com
(替换为你的区域) - 端口:587(TLS),465(SSL),或25(明文)
- SMTP 主机:
- 将此信息配置到应用的 SMTP 设置中。
5.2. 通过 AWS SDK 使用 SES
- AWS 提供的 SDK(如
boto3
for Python 或 AWS SDK for JavaScript)可以方便地与 SES 集成。你可以通过 API 调用send_email
或send_raw_email
来发送邮件。
6. 测试电子邮件发送
在配置完成之后,使用你验证的域名或电子邮件地址发送测试邮件。你可以通过 AWS SES 控制台或者你的应用程序发送一封测试邮件,检查邮件是否能够顺利到达收件人的邮箱。
总结
- 验证域名:通过 SES 验证域名,确保你有权限发送邮件。
- 配置 SPF 和 DKIM:通过 DNS 配置这些记录,提升送达率和邮件的合法性。
- 取消沙盒限制:请求 AWS 提升邮件发送配额。
- 配置 SMTP 或 SDK:将 SES 集成到你的应用程序中,开始发送电子邮件。
这套流程将帮助你通过 AWS SES 使用自定义域名来发送可靠的电子邮件。