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

Vapor项目用SotoSESV2调用Amazon SES发送成功却未送达邮件?

SES V2 调用成功但邮件未送达的排查方向

你在Vapor项目中使用SotoSESV2调用sendEmail返回成功,但邮件长时间未送达且无退信记录,可从以下几个方向排查:

  • 账户处于沙箱模式限制:AWS SES沙箱环境下,发件人和收件人都必须是经过验证的邮箱地址,未验证的地址会导致邮件被静默保留,不会实际投递。同时沙箱的发送量限制也可能导致邮件积压延迟。
  • 邮件处于SES投递队列中:sendEmail返回成功仅代表请求已被SES接收,并非立即完成投递。如果发送量突增或账户有异常记录,邮件可能会被放入待处理队列。可在SES控制台查看「发送统计」或「队列状态」确认是否有积压。
  • 域名认证未完成:SPF、DKIM、DMARC这三项配置未正确设置时,收件人邮件系统可能会静默拦截邮件(不生成退信):
    • 检查SPF记录是否包含SES的官方IP段或域名
    • 确认DKIM密钥已在域名服务商处正确配置并生效
    • 确保DMARC记录设置合理,测试阶段可设为p=none避免误拦截
  • 请求参数存在隐性问题:
    • 核实sendEmailRequest中Destination的收件人地址格式正确,无拼写错误
    • 检查邮件主题、内容是否包含触发反垃圾规则的敏感词汇或违规话术
    • 确认FromEmailAddress与已验证的发件人域名完全匹配,避免被标记为伪造地址
  • 收件人邮件系统静默拦截:部分企业邮箱或服务商的反垃圾策略会直接拦截可疑邮件,不生成退信通知。可尝试更换不同域名的收件邮箱测试,比如用个人邮箱替代企业邮箱。

相关代码片段:

return ses.sendEmail(sendEmailRequest).flatMapAlways { re in
    print(re)
    fflush(stdout)
    switch re {
    case .success:
        print("Welcome message sent to: \(emailTo)")
    // 此处省略其他分支逻辑
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 08:25:17