«SendGridMessage» не содержит определения «Text» или «Html» в .net mvc и SendGrid - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь интегрировать 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;

Я попробовал все, но не смог найти решение. Благодарим за любую помощь.

1 Ответ

0 голосов
/ 04 ноября 2018

использование

 myMessage.PlainTextContent = message.Body;
 myMessage.HtmlContent = message.Body;

это может решить.

...