如何配置SES规则以仅允许向特定域名发送邮件?
如何配置AWS SES仅向特定域名发送邮件
可以实现,主要有两种常用方法来限制AWS SES仅发送邮件到特定域名:
方法一:使用SES收件人过滤规则
这是在SES服务层面直接限制,对所有通过该账户发送的邮件生效:
- 登录AWS控制台,进入SES服务并切换到目标区域
- 找到「收件人过滤」(Recipient Filtering)选项卡
- 创建允许列表,添加你需要开放的目标域名(比如
example.com) - 开启「拒绝所有不在允许列表中的收件人」功能,这样SES会直接拒绝发送到允许列表外的任何收件地址
方法二:通过IAM策略限制发送权限
这种方式针对特定IAM用户/角色生效,适合分权限控制不同应用的发送范围:
- 给需要调用SES发送邮件的IAM身份(用户或角色)附加如下策略,将
*@example.com替换为你的目标域名:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["ses:SendEmail", "ses:SendRawEmail"], "Resource": "*", "Condition": { "StringLike": { "ses:Recipient": "*@example.com" } } } ] } - 该策略会限制该身份只能发送邮件到指定域名下的邮箱地址,超出范围的请求会被IAM拒绝
注意事项
- 收件人过滤是全局生效,IAM策略是身份级生效,两者可以结合使用,IAM限制优先级更高
- 如果需要更复杂的过滤逻辑,也可以在SES配置集的规则中结合Lambda实现,但上面两种方法是最直接的解决方案
内容的提问来源于stack exchange,提问作者Lee Goddard
相关产品推荐
相关产品推荐

