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

使用AWS SDK v3 for Node.JS发送Raw邮件时Header未被解析的问题

问题解决:AWS SES发送原始邮件时Header被识别为正文的问题

核心原因:原始消息开头的多余换行

你定义的msg字符串开头有一个额外的换行,这会导致AWS SES将整个内容视为纯文本正文,而非带有标准MIME头部的邮件。根据RFC规范,邮件的头部必须从内容的第一行开始,不能以空行开头。空行只能用来分隔头部和正文,而不能出现在头部的最前面。

修正后的代码

把msg开头的换行去掉,确保头部从第一行开始:

const msg = `From: "No-Reply" <no-reply@foobar.com>
To: someone@foobar.com
Date: Wed, 4 Sep 2024 19:02:29 +0000
Subject: Test
Content-Type: text/plain
MIME-Version: 1.0

Hello, world!
`;

const ses = new SES({region: 'eu-west-1'});
const result = await ses.sendRawEmail({
  Destinations: ["someone@foobar.com"],
  RawMessage: {
    Data: Buffer.from(msg)
  },
  Source: 'No-Reply <no-reply@foobar.com>'
});

额外注意事项

  • 确保Source参数的值和From头部完全一致,避免SES触发额外的校验逻辑,导致邮件格式被异常处理。
  • 确认Date头部的格式严格符合RFC 5322规范,比如星期、日期、时区的格式不能出错,否则部分邮件客户端也可能解析异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 19:32:34