Я пытаюсь интегрировать SendGrid в проект ASP.NET MVC, но застрял, следуя руководству на странице Microsoft.
public class EmailService : IIdentityMessageService
{
public async Task SendAsync(IdentityMessage message)
{
await configSendGridasync(message);
}
// Use NuGet to install SendGrid (Basic C# client lib)
private async Task configSendGridasync(IdentityMessage message)
{
var myMessage = new SendGridMessage();
myMessage.AddTo(message.Destination);
myMessage.From = new EmailAddress(
"Joe@contoso.com", "Joe S.");
myMessage.Subject = message.Subject;
myMessage.Text = message.Body;
myMessage.Html = message.Body;
var credentials = new NetworkCredential(
ConfigurationManager.AppSettings["mailAccount"],
ConfigurationManager.AppSettings["mailPassword"]
);
// Create a Web transport for sending email.
var transportWeb = new Web(credentials);
// Send the email.
if (transportWeb != null)
{
await transportWeb.DeliverAsync(myMessage);
}
else
{
Trace.TraceError("Failed to create Web transport.");
await Task.FromResult(0);
}
}
}
}
Я поместил этот код в папку App_Start с именем IdentitiyConfig.cs
, но получил два сообщения об ошибке:
'SendGridMessage' не содержит определения для 'Text' и не имеет метода расширения 'Text', принимающего первый аргумент типа
'SendGridMessage'
'SendGridMessage' не содержит определения для 'Html' и не имеет метода расширения 'Html', принимающего первый аргумент типа
'SendGridMessage'
для строк:
myMessage.Text = message.Body;
myMessage.Html = message.Body;
Я включаю эти библиотеки:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using SendGrid;
using System.Net;
using System.Configuration;
using System.Diagnostics;
using SendGrid.Helpers.Mail;
using System.Threading.Tasks;
using Microsoft.AspNet.Identity;
using System.Web.UI;
Я попробовал все, но не смог найти решение. Благодарим за любую помощь.