2016-09-07 2 views
0

Я использую SendGrid mailhelper (как часть C# SDK) для отправки электронной почты. Мне нужно отправить несколько пользователей, и, следовательно, я использую персонализацию.Email SendGrid с помощью MailHelper

Я получаю сообщение об ошибке: Bad Request

Это мой код:

static async Task Execute(string sub, string body, List<Recipient> recipients) 
    { 
     string apiKey = Environment.GetEnvironmentVariable("SendGrid_ApiKey", EnvironmentVariableTarget.User); 

     dynamic sg = new SendGridAPIClient(apiKey); 

     SendGrid.Helpers.Mail.Email from = new SendGrid.Helpers.Mail.Email("[email protected]"); 
     string subject = sub; 
     Personalization personalization = new Personalization(); 

     SendGrid.Helpers.Mail.Email emails = new SendGrid.Helpers.Mail.Email(); 
     var i = 0; 
     foreach (var recp in recipients) 
     { 
      emails.Address = recp.Email; 
      emails.Name = recp.FirstName + " " + recp.LastName; 
      personalization.AddTo(emails); 
      i++; 
     } 
     SendGrid.Helpers.Mail.Email to = new SendGrid.Helpers.Mail.Email("[email protected]"); 

     Content content = new Content("text/plain", body); 
     Mail mail = new Mail(from, subject, to, content); 
     mail.AddPersonalization(personalization); 
     dynamic response = await sg.client.mail.send.post(requestBody: mail.Get()); 
    } 

Я признателен, если кто-то может посоветовать мне, что я делаю неправильно.

ответ

1

API-интерфейс Sendgrid отвечает с плохим запросом, если в объекте персонализации имеется более одного адреса электронной почты. Убедитесь, что все электронные письма уникальны.

+0

Спасибо @ KyleT12. Так было с моим. –

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