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

SendGrid邮件发送接口中data的to参数如何配置为body.email的值

配置方法

你只需要将data对象内的to字段直接赋值为解析好的body.email即可,同时建议优化异步逻辑避免未知错误,修改后的完整代码如下:

const mail = require('@sendgrid/mail');  

mail.setApiKey(process.env.SENDGRID_API_KEY);

export default async (req, res) => {
  try {
    const body = JSON.parse(req.body);
    // 简单参数校验,避免非法请求,可按需调整
    if (!body.email || !/^\S+@\S+\.\S+$/.test(body.email)) {
      return res.status(400).json({ status: 'error', msg: '邮箱格式非法' })
    }

    const message = `
      Name : ${body.name}\r\n
      Prenom : ${body.prenom}\r\n
      Adresse : ${body.adresse}\r\n
      Téléphone : ${body.telephone}\r\n
      email : ${body.email} \r\n
      Type de bien : ${body.message}\r\n
      Année de construction : ${body.annee}
    `;

    const data = {
      to: body.email, // 此处直接赋值前端传入的邮箱即可
      from: 'souleymanportfolio@souleymanportfolio.com',
      subject: 'Nouveau Lead!',
      text: message,
      html: message.replace(/\r\n/g, '<br>')
    };

    await mail.send(data);
    res.status(200).json({ status: 'Ok' });
  } catch (err) {
    console.error('发信失败:', err)
    res.status(500).json({ status: 'error', msg: '邮件发送失败' })
  }
}

补充说明

  • 你需要提前在SendGrid后台完成发件人邮箱souleymanportfolio@souleymanportfolio.com的身份验证,否则会被SendGrid拦截发信请求
  • 代码中新增的参数校验和异常捕获逻辑可按需调整,主要用于避免非法请求、方便定位发信失败的原因
  • 原代码未对mail.send加await异步等待,可能会出现接口已经返回响应但邮件还未发送的情况,补充后逻辑更严谨

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 18:06:00