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',
}),
}
}