2013-07-03 3 views
1

У меня возникла проблема при отправке писем нескольким получателям.Ошибка NodeJS Sendrgrid при отправке письма нескольким получателям

Мой сценарий

var SendGrid = require('sendgrid').SendGrid; 
var sendgrid = new SendGrid('<<username>>', '<<password>>');  
    sendgrid.send({ 
    to: '[email protected]', 
from: '[email protected]', 
bcc: ["[email protected]","[email protected]"], 

У меня есть два вопроса здесь

  1. Могу ли я иметь массив получателей, чтобы перечислить?
  2. Как получить массив получателей в списке экземпляров?

Решения, связанные с выше двух запросов будет действительно полезным

Благодаря Набарун

ответ

2

Вы можете использовать массив получателей в обоих to и bcc полей.

Например:

var SendGrid = require('sendgrid').SendGrid; 
var sendgrid = new SendGrid('{{sendgrid username}}', '{{sendgrid password}}');  
sendgrid.send({ 
    to: ['[email protected]', '[email protected]'], 
    from: '[email protected]', 
    bcc: ['[email protected]', '[email protected]'], 
    subject: 'This is a demonstration of SendGrid sending email to mulitple recipients.', 
    html: '<img src="http://3.bp.blogspot.com/-P6jNF5dU_UI/TTgpp3K4vSI/AAAAAAAAD2I/V4JC33e6sPM/s1600/happy2.jpg" style="width: 100%" />' 
}); 

Если это не работает для вас и Node не выплевывая никаких ошибок, проверьте, чтобы увидеть, если письма будут отправлены, войдя в сайт SendGrid и глядя на Email Activity Log.

Одна вещь, с которой я столкнулся при тестировании вашего образца кода, заключается в том, что вы отправляете to и bcc на тот же адрес gmail, gmail объединит все это в одно электронное письмо (так что, похоже, оно не работает). Убедитесь, что при тестировании вы отправляете электронную почту на совершенно разные учетные записи.

Если вам нужны некоторые учетные записи электронной почты для тестирования с Guerrilla Mail, это отличный вариант для создания временных тестовых учетных записей.

1

Новое обновление sendgrid-nodejs отменило предыдущие методы реализации, и поэтому принятый ответ не поможет вам сейчас.

Итак ... просто обновление в случае, если кто-либо приземляется на эту тему с конкретным результатом поиска.

to: [ 
     { 
     email: '[email protected]', 
     }, 
     { 
     email: '[email protected]', 
     }, 
    ], 
3

Для v3 API Sendgrid, я нашел их "kitchen sink" example полезным. Вот соответствующий бит от него:

var helper = require('sendgrid').mail 

mail = new helper.Mail() 
email = new helper.Email("[email protected]", "Example User") 
mail.setFrom(email) 

mail.setSubject("Hello World from the SendGrid Node.js Library") 

personalization = new helper.Personalization() 
email = new helper.Email("[email protected]", "Example User") 
personalization.addTo(email) 
email = new helper.Email("[email protected]", "Example User") 
personalization.addTo(email) 

// ... 

mail.addPersonalization(personalization) 
+0

После [читает больше о персонализации Sendgrid в] (https://sendgrid.com/docs/Classroom/Send/v3_Mail_Send/personalizations.html), я думаю, что вы могли бы сделать несколько к одной персонализации. Это отправит одно общее электронное письмо с двумя людьми в поле, а не по 2 письма по одному электронному письму. –

Смежные вопросы