sendgrid: добавить копию по электронной почте

Я отправляю электронную почту, используя sendgrid из моего приложения. Теперь я хочу добавить cc или bcc, если пользователь ответит на мою почту. Как мне это сделать. позвольте мне сначала объяснить. Я отправляю ответ пользователя, который приходит в мое веб-приложение с помощью моего приложения. Допустим, я отправляю электронное письмо по адресу noreply@mydomain.com, и пользователь получает это письмо в своем почтовом ящике в gmail / yahoo или любом другом почтовом сервисе. В этом случае пользователь может щелкнуть ответ на это письмо. так что теперь ваш адрес "To:" содержит адрес ответа по умолчанию "noreply@mydomain.com". все в порядке. Теперь я хочу добавить 'cc:' (точную копию) следующим образом: feedback@mydomain.com. Как это сделать?

3 ответа

Вы можете передать значение cc при вызове модуля sendgrid npm. Увидеть ниже.

var sendgrid  = require('sendgrid')(api_user, api_key);
var email     = new sendgrid.Email({
  to:       'foo@bar.com',
  from:     'you@yourself.com',
  cc:       'someone@else.com',
  subject:  'Subject goes here',
  text:     'Hello world'
});
sendgrid.send(email, function(err, json) {
  if (err) { return console.error(err); }
  console.log(json);
});

Для sendGrid V3 вы можете добавить этот процесс.

var sgMailHelper = require('sendgrid').mail,
    sg = require('sendgrid')('apiKey');

var sender = new sgMailHelper.Email(sender, senderName||'');
var receiver = new sgMailHelper.Email(receiver);
var content = new sgMailHelper.Content("text/plain", "Test mail");
var subject = "Mail subject";

var mailObj = new sgMailHelper.Mail(sender, subject, receiver, content);

// add cc email
mailObj.personalizations[0].addCc(new sgMailHelper.Email('cc.email@gmail.com'));

var request = sg.emptyRequest({
        method: 'POST',
        path: '/v3/mail/send',
        body: mailObj.toJSON()
      });

sg.API(request, function(error, response) {
        if(error) {         
          console.log(error)
        } else {
          console.log('success')
        }
      });

Если вы используете @sendgrid/mail версии 7.6.2, ccатрибут, который работает:

      import sgMail from '@sendgrid/mail'

  sgMail.setApiKey(process.env.SENDGRID_API_KEY)
  const msg = {
    to: toAddress,
    from: fromAddress, // Use the email address or domain you verified above
    cc: ccAddress,
    subject: `Fresh message from - ${name}`,
    text: `A new message was sent by ${name} from ${ccAddress}.

    ${message}
    `,
    html: `
    <p>hello world</p>

    <blockquote>${message}</blockquote>



    `,
  }

//ES8
  try {
    await sgMail.send(msg)

    return {
      statusCode: 200,
      headers: {
        'Content-Type': 'application/json',
      },

      body: JSON.stringify({
        data: 'contactSubmission function',
      }),
    }
  } catch (error) {
    console.error(error)

    if (error.response) {
      console.error(error.response.body)
    }

    return {
      statusCode: 400,
      headers: {
        'Content-Type': 'application/json',
      },

      body: JSON.stringify({
        message: 'error in email submission',
      }),
    }
  }

Другие вопросы по тегам