C# 从ASP.Net Framework 3.5发送带有SendGrid API的电子邮件

C# 从ASP.Net Framework 3.5发送带有SendGrid API的电子邮件,c#,asp.net,sendgrid,sendgrid-api-v3,sendgrid-api-v2,C#,Asp.net,Sendgrid,Sendgrid Api V3,Sendgrid Api V2,我正在尝试使用SendGrid API发送一封电子邮件,其中包含我已经拥有的API密钥 问题是:我必须从一个旧的.net应用程序中执行此操作,它的asp.net framework版本是3.5(并且更改framework版本不是一个选项) 我没有找到关于如何实现这一目标的有用信息。我发现的唯一代码使用了,这些代码不支持asp.net framework 3.5 这是我找到的代码示例,但我无法从我的.net 3.5 web应用程序中执行此操作: // using SendGrid's C# Lib

我正在尝试使用SendGrid API发送一封电子邮件,其中包含我已经拥有的API密钥

问题是:我必须从一个旧的.net应用程序中执行此操作,它的asp.net framework版本是3.5(并且更改framework版本不是一个选项)

我没有找到关于如何实现这一目标的有用信息。我发现的唯一代码使用了,这些代码不支持asp.net framework 3.5

这是我找到的代码示例,但我无法从我的.net 3.5 web应用程序中执行此操作:

// 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();

有什么想法吗?

你有几个选择。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是不错的选择

    您有两个选择。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是不错的选择

    多谢各位。关于选项2,我相信你指的是,对吧?如果是这样,是否可以使用此方法发送,但使用API密钥而不是提供用户名和密码?谢谢。关于选项2,我相信你指的是,对吧?如果是这样,是否可以使用此方法发送,但使用API密钥而不是提供用户名和密码?