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

使用Amazon SES发送邮件时,调用SendEmailRequest出现收件人地址异常

问题原因与解决方案

这不是Amazon SES的故障,问题出在你复用了同一个Destination对象实例。

AWS SDK的withToAddresses()方法是在原对象上修改并返回自身,而非创建全新的Destination对象。如果你的destination变量是被多次复用的实例:

  • 第一次调用destination.withToAddresses(janeDoe@gmail.com)时,对象的收件人列表会被设置为包含jane的邮箱;
  • 第二次调用destination.withToAddresses(jamesSmith@gmail.com)时,SDK会把james的邮箱追加到已有的收件人列表中,而非替换原有内容,最终导致第二封邮件的收件人同时包含两个邮箱。

修复方法

每次发送邮件时,创建全新的Destination实例,不要复用旧对象:

sendEmailRequest
        .withDestination(
                new Destination().withToAddresses(to)) // 每次创建新的Destination对象
        .withMessage(message
                .withBody(body
                        .withHtml(new Content()
                                .withCharset("UTF-8").withData(htmlBody))
                        .withText(new Content()
                                .withCharset("UTF-8").withData(textBody)))
                .withSubject(new Content()
                        .withCharset("UTF-8").withData(subject)))
        .withSource(from);

amazonSimpleEmailServiceClient.sendEmail(sendEmailRequest);

另外需要注意:AWS SDK的大部分withXxx()方法都是修改原对象并返回,而非创建新对象,如果你复用message、body这类对象,也可能出现类似的配置残留问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 00:36:24