Отправка электронной почты с помощью SendGrid API из ASP.Net Framework 3.5

Я пытаюсь отправить электронное письмо, используя SendGrid API с ключом API, который у меня уже есть.

Проблема в том, что я должен сделать это из старого приложения.net, чья версия фреймворка asp.net - 3.5 (и изменение версии фреймворка не вариант)

Я не могу найти полезную информацию о том, как этого добиться. Единственный найденный мной код использует библиотеки SendGrid csharp, и они не поддерживают asp.net framework 3.5.

Вот пример кода, который я нашел здесь, но я не могу сделать это из моего веб-приложения.net 3.5:

// using SendGrid's C# Library - https://github.com/sendgrid/sendgrid-csharp
using System.Net.Http;
using System.Net.Mail;

var myMessage = new SendGrid.SendGridMessage();
myMessage.AddTo("test@sendgrid.com");
myMessage.From = new MailAddress("you@youremail.com", "First Last");
myMessage.Subject = "Sending with SendGrid is Fun";
myMessage.Text = "and easy to do anywhere, even with C#";

var transportWeb = new SendGrid.Web("SENDGRID_APIKEY");
transportWeb.DeliverAsync(myMessage);
// NOTE: If you're developing a Console Application, use the following so that the API call has time to complete
// transportWeb.DeliverAsync(myMessage).Wait();

Есть идеи?

1 ответ

У вас есть несколько вариантов. SendGrid API использует класс HttpClient для выполнения запросов, для чего требуется зависимость.NET 4+.

  1. Вы можете попробовать реализовать свою собственную реализацию с помощью RestSharp, это совместимо с.NET 3.5, а API SendGrid использует интерфейс, который вы можете реализовать. Это просто нужно настроить из исходного кода на GitHub.

    1. Используйте классы.Net SMTP для отправки электронной почты и настройки в соответствии с инструкциями в документации SendGrid.

    2. Проксируйте запросы через другой WebAPI под управлением.NET 4+ и упростите то, что требуется для выполнения этих вызовов, внедрив собственный API. Используйте что-то вроде класса WebClient или RestSharp для совершения звонков.

** Отбросьте, вариант 1 сложнее, чем выглядел ** Что ISendGridClient - немного странный пример. Он использовал реализацию внутри интерфейса для некоторых параметров. Похоже, 2 и 3 хорошие варианты!

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