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

如何在现有React/JS的AWS SES邮件代码中添加CC邮箱?

问题:如何给网站注册用户的邮件添加固定CC收件人?

现有代码用于给网站注册用户发送邮件,目前仅注册人能收到邮件,希望将support@mysite.com添加到每封邮件的CC中。请问现有代码是否支持该需求,是否需要大幅修改?

现有代码

import { UserModel } from '../user/model';
import { IMessageClient } from '../professional/types';
import { Professional } from '../professional/model';

const charset = 'UTF-8';

function sendSESEmail(
    recipient_email: string,
    subject: string,
    body: string,
    cb: (messageId: string, err?: Error) => void,
) {
    const aws = require('aws-sdk');
    aws.config.region = process.env.AWS_SES_REGION;
    const sender = process.env.AWS_SES_SENDER;
    const recipient = recipient_email;
    const ses = new aws.SES();

    const params = {
        Source: sender,
        Destination: {
            ToAddresses: [recipient],
        },
        Message: {
            Subject: {
                Data: subject,
                Charset: charset,
            },
            Body: {
                Html: {
                    Data: body,
                    Charset: charset,
                },
            },
        },
    };

    ses.sendEmail(params, (error: any, data: any) => {
        if (error) cb(undefined, error);
        else cb(data.messageId);
    });
}

export default function sendEmail(
    recipient: string,
    subject: string,
    body: string,
    cb: (err?: Error) => void,
) {
    sendSESEmail(recipient, subject, body, (_, err?) => {
        cb(err);
    });
}

回答

现有代码完全支持该需求,不需要大幅修改,只需要利用AWS SES的Destination参数自带的CcAddresses字段即可实现,具体修改步骤如下:

  1. 先定义固定的CC邮箱常量(方便后续维护),在代码开头添加:
const CC_EMAIL = 'support@mysite.com';
  1. 修改sendSESEmail函数中的params.Destination对象,添加CcAddresses数组:
Destination: {
    ToAddresses: [recipient],
    CcAddresses: [CC_EMAIL] // 新增这一行
},

修改后的完整代码(关键部分已标注)

import { UserModel } from '../user/model';
import { IMessageClient } from '../professional/types';
import { Professional } from '../professional/model';

const charset = 'UTF-8';
const CC_EMAIL = 'support@mysite.com'; // 新增:固定CC邮箱

function sendSESEmail(
    recipient_email: string,
    subject: string,
    body: string,
    cb: (messageId: string, err?: Error) => void,
) {
    const aws = require('aws-sdk');
    aws.config.region = process.env.AWS_SES_REGION;
    const sender = process.env.AWS_SES_SENDER;
    const recipient = recipient_email;
    const ses = new aws.SES();

    const params = {
        Source: sender,
        Destination: {
            ToAddresses: [recipient],
            CcAddresses: [CC_EMAIL] // 新增:添加CC收件人
        },
        Message: {
            Subject: {
                Data: subject,
                Charset: charset,
            },
            Body: {
                Html: {
                    Data: body,
                    Charset: charset,
                },
            },
        },
    };

    ses.sendEmail(params, (error: any, data: any) => {
        if (error) cb(undefined, error);
        else cb(data.messageId);
    });
}

export default function sendEmail(
    recipient: string,
    subject: string,
    body: string,
    cb: (err?: Error) => void,
) {
    sendSESEmail(recipient, subject, body, (_, err?) => {
        cb(err);
    });
}

如果后续需要动态设置CC(比如不同场景用不同CC邮箱),也可以给sendEmail和sendSESEmail函数新增一个可选的cc参数,不过当前固定CC的场景下,上面的修改足够简洁高效。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 07:55:27