SendGrid выдает «Ошибка при копировании контента в поток» - PullRequest
0 голосов
/ 09 января 2019

Я создаю решение Core 2.1 в Visual Studio 2017, где я отправляю электронные письма через Sendgrid. При попытке отправить электронное письмо с помощью SendGrid я получаю следующую ошибку:

Произошло необработанное исключение при обработке запроса.

IOException: сервер возвратил неверный или нераспознанный ответ. System.Net.Http.HttpConnection.FillAsync () HttpRequestException: ошибка при копировании контента в поток.

System.Net.Http.HttpContent.LoadIntoBufferAsyncCore (Задача serializeToStreamTask, MemoryStream tempBuffer)

Вот как выглядит мой код. Я ввожу следующее в параметрах:

получатели : список, содержащий "**** @ gmail.com"

Тема: «Привет»

Тело: HTML, созданный с помощью Heml. Компилируется в онлайн-редакторе без проблем.

private async Task<bool> SendAsync(List<string> recipients, string subject, string body)
{
    var client = new SendGridClient(this.configuration["Sendgrid:ApiKey"]);  
    var from = new EmailAddress( 
                       this.configuration["Administration:MainEmailAddress"],
                       this.configuration["Administration:MainEmailName"]);  
    var tos = await GetRecipientsForEnvironment(recipients);  
    var message = MailHelper.CreateSingleEmailToMultipleRecipients(
                                                          from, 
                                                          tos, 
                                                          subject, 
                                                          "", 
                                                          body, 
                                                          false);  
    var response = await client.SendEmailAsync(message);  
    return response.StatusCode == HttpStatusCode.Accepted;
}

В чем причина этой ошибки?

1 Ответ

0 голосов
/ 09 января 2019

Оказывается, в Sendgrid есть известная ошибка. Если введенный HTML-контент очень большой, правильное сообщение об ошибке не будет отправлено. Вместо этого эта ошибка будет отображаться. В моем случае мой apiKey не был найден, и поэтому я должен был получить сообщение об ошибке Unauthorized. Когда я изменил свой HTML-код на один намного меньше, это дало мне правильную ошибку.

Подробнее о проблеме здесь .

...