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

在AWS Lambda(Node.js)中设置与发件人不同的Reply-To邮箱地址

解决AWS SES添加Reply-To回复地址的问题

在Node.js 14.x环境的AWS Lambda中,给SES的sendEmail请求添加Reply-To地址的正确语法有两种方式,你之前的写法不符合AWS SDK v2的参数规范,所以报错。

方式1:仅指定回复邮箱地址

直接在params中添加ReplyToAddresses字段,值为包含提交者邮箱的数组:

const aws = require("aws-sdk");
const ses = new aws.SES({ region: "eu-central-1" });
exports.handler = async function(event) {
  // Extract the properties from the event body
  const { senderEmail, senderName, messageSubject, message } = JSON.parse(event.body)
  const params = {
    Destination: {
      ToAddresses: ["my@emailaddress.com"],
    },
    Message: {
      Body: {
        Text: {
          Data: `Nom : ${senderName}
          Adresse mail : ${senderEmail}
          Sujet : ${messageSubject}
          Message : ${message}`
        },
      },
      Subject: { Data: `${messageSubject} (${senderName})` },
    },
    Source: "formsender@emailaddress.com",
    // 正确设置Reply-To地址(仅邮箱)
    ReplyToAddresses: [senderEmail]
  };

  return ses.sendEmail(params).promise();
};

方式2:指定回复邮箱的显示名称和地址

如果需要让回复时显示提交者的名字,可以使用ReplyTo字段,值为包含Name和Address的对象数组:

const aws = require("aws-sdk");
const ses = new aws.SES({ region: "eu-central-1" });
exports.handler = async function(event) {
  // Extract the properties from the event body
  const { senderEmail, senderName, messageSubject, message } = JSON.parse(event.body)
  const params = {
    Destination: {
      ToAddresses: ["my@emailaddress.com"],
    },
    Message: {
      Body: {
        Text: {
          Data: `Nom : ${senderName}
          Adresse mail : ${senderEmail}
          Sujet : ${messageSubject}
          Message : ${message}`
        },
      },
      Subject: { Data: `${messageSubject} (${senderName})` },
    },
    Source: "formsender@emailaddress.com",
    // 正确设置带显示名称的Reply-To地址
    ReplyTo: [
      {
        Name: senderName,
        Address: senderEmail
      }
    ]
  };

  return ses.sendEmail(params).promise();
};

注意事项

  • 确保senderEmail是合法的邮箱格式,SES会对邮件地址进行格式校验
  • 上述写法适用于你当前使用的AWS SDK v2(require("aws-sdk")),如果后续升级到SDK v3,参数格式会有所区别

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 04:26:25