2017-10-20 33 views
1

我使用看起來就像這樣的例子很多代碼 但是,「網絡」是一個未定義的類型。 即使ReSharper不能告訴我在哪裏可以找到它。 我是否需要使用另一個參考或已在'v9.9.0'中重命名'Web'?使用SendGrid包用C#「網絡」作爲例子所示,是未定義

var myMessage = new SendGridMessage(); 
      myMessage.AddTo(message.Destination); 
      myMessage.From = new EmailAddress("[email protected]", "Fff 
Lll"); 
      myMessage.Subject = message.Subject; 
      myMessage.PlainTextContent = message.Body; 
      myMessage.HtmlContent = message.Body; 

      var credentials = new NetworkCredential(
       ConfigurationManager.AppSettings["mailAccount"], 
       ConfigurationManager.AppSettings["mailPassword"] 
      ); 

      // Create a Web transport for sending email. 
      var transportWeb = new Web(credentials); 
+0

您使用的是舊版本的SDK。在9.9.0中,您必須使用V3 api和'SendGrid.Helpers.Mail,SendGrid.' namespaces – Niladri

回答

1

您正在關注現在已過時的V2 api文檔。您可以改用V3 api SDK。示例代碼是像下面

  var apiKey = Environment.GetEnvironmentVariable("NAME_OF_THE_ENVIRONMENT_VARIABLE_FOR_YOUR_SENDGRID_KEY"); 
      var client = new SendGridClient(apiKey); 
      var from = new EmailAddress("[email protected]", "Example User"); 
      var subject = "Sending with SendGrid is Fun"; 
      var to = new EmailAddress("[email protected]", "Example User"); 
      var plainTextContent = "and easy to do anywhere, even with C#"; 
      var htmlContent = "<strong>and easy to do anywhere, even with C#</strong>"; 
      var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent); 
      var response = await client.SendEmailAsync(msg); 

你需要參考下面的命名空間

using SendGrid; 
using SendGrid.Helpers.Mail; 

您也可以發送郵件沒有郵件輔助類。按照下面的鏈接,更多的使用和演示

https://github.com/sendgrid/sendgrid-csharp/blob/master/USE_CASES.md

的NuGet鏈接:

https://www.nuget.org/packages/Sendgrid/

+0

完美!非常感謝你! –

相關問題