我尝试使用带有我已经拥有的API密钥的SendGrid API发送电子邮件。
问题是:我必须从旧的.net应用程序执行此操作,其asp.net框架版本为3.5(并且不能更改框架版本)
我没有找到有关如何实现它的有用信息。我发现的唯一代码使用SendGrid csharp libraries,而这些代码不支持asp.net framework 3.5
这是我找到的代码示例here,但我不能通过我的.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();
有什么想法吗?
答案 0 :(得分:0)
你有几个选择。 SendGrid API使用HttpClient类来发出请求,这需要.NET 4+依赖。
您可以尝试使用RestSharp实现自己的实现,这与.NET 3.5兼容,SendGrid API使用您可以实现的接口。它只需要从github上的源代码进行调整。
使用.Net SMTP类发送电子邮件并根据SendGrid文档中的指南进行配置。
通过另一个运行.NET 4+的WebAPI代理请求,并通过实现自己的API简化进行这些调用所需的内容。使用类似WebClient类或RestSharp的方式进行调用。
**报废,选项1比它看起来更难** ISendGridClient是一个奇怪的例子。它使用接口内部的实现来获取一些参数。看起来像2和3是不错的选择!