You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony Mailer通过AWS SES发送邮件报535认证凭证无效错误

你遇到的535 Authentication Credentials Invalid错误是SMTP服务端判定认证凭证无效导致的,结合AWS SES的使用场景,常见原因和排查解决方法如下:

常见原因

  • 凭证类型误用:AWS SES的SMTP凭证和普通IAM用户的访问密钥是两套体系,直接将IAM访问密钥填入DSN会认证失败。
  • 区域不匹配:你配置中使用的是eu-central-1区域的SES SMTP端点,生成的SMTP凭证必须属于同一区域,跨区域凭证无法使用。
  • 特殊字符未转义:如果SMTP密码中包含+、/、@、:这类URL特殊字符,未做URL编码会被DSN解析器截断,导致实际传入的密码错误。
  • IAM权限缺失:SMTP凭证关联的IAM用户没有ses:SendRawEmail权限,也会触发认证失败错误。
  • SES沙箱限制:如果你的SES账号还处于沙箱环境,发件人和收件人地址都需要先在SES控制台完成验证,否则也可能触发类似报错。

排查解决步骤

  • 确认凭证正确性:进入AWS SES控制台eu-central-1区域的「SMTP设置」页面,单独生成SMTP凭证,替换DSN中的XXX和YYY。
  • 转义特殊字符:如果SMTP密码包含URL特殊字符,先对密码做URL编码后再填入DSN。
  • 补全IAM权限:给SMTP凭证关联的IAM用户附加包含ses:SendRawEmail操作的权限策略。
  • 适配沙箱规则:处于沙箱环境时,先将代码中使用的发件地址hello@example.com和收件地址you@example.com都添加到SES的验证地址列表,完成验证后再测试;需要发往任意地址可申请脱离SES沙箱。
  • 明确DSN加密参数:465端口为隐式TLS端口,可修改DSN为smtp://XXX:YYY@email-smtp.eu-central-1.amazonaws.com:465?encryption=ssl&auth_mode=login,避免Symfony自动识别加密规则出错。
  • 本地测试凭证:用桌面邮件客户端填入相同的SMTP地址、端口、凭证测试发信,排除代码层面的配置问题。

内容的提问来源于stack exchange,提问作者dosad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 21:36:02