使用PHP对接okamos/php-ses库发Amazon SES邮件出现MessageRejected错误如何解决
可能的配置遗漏点如下:
- SES沙箱环境限制:如果你的AWS SES账号尚未申请解除沙箱限制,仅允许向已完成核验的收件邮箱/域名发送邮件,若你使用的收件地址
ffffff@hhhhh.com未提前完成核验,会直接触发该报错。 - 核验身份区域不匹配:SES的发件人域名、邮箱核验结果是区域独立的,你初始化客户端时指定的区域为
us-east-1,需要确认你之前核验的发件邮箱noreply@xxxxxxxx.com或所属域名,是在us-east-1区域完成的核验,跨区域的核验身份不生效。 - IAM权限缺失:你传入的AK/SK对应的IAM身份,需要提前配置
ses:SendEmail接口的调用权限,权限不足也会返回MessageRejected错误。 - 接口入参格式问题:你使用的php-ses库的SimpleEmailServiceEnvelope类初始化时,可检查是否遗漏了必填参数,部分版本需要明确指定文本/HTML邮件类型,避免参数缺失导致请求被拒绝。
你可以先修改代码输出完整的错误响应体,当前你拿到的仅为通用描述,完整返回结果中会包含具体的子错误码,可直接定位根因。
内容的提问来源于stack exchange,提问作者sonutup
相关产品推荐
相关产品推荐

