как отправить почту с помощью SendGrid Api Key на портале Azure, используя asp.net c # - PullRequest
0 голосов
/ 06 июля 2018
//in class a create object to classb and send data to classb sendmail method

class a{
classb b=new classb();
b.sendmail(jsonData);

}


// classb class recevie data and send the mail

class classb(){

//method
public void sendmail(classname obj){

        string to = "test.123@gmail.com";
        string from = "test@mail";
        MailMessage message = new MailMessage(from, to);
        message.Subject = "Demo Requsted from User";
        message.Body = mailbody;
        message.BodyEncoding = Encoding.UTF8;
        message.IsBodyHtml = true;

// where to give azure api key .i have only send-grid api key .please help me

        var smtp = new SmtpClient
        {
            Host = "smtp.sendgrid.net",// azure server
            Port = 587,
            EnableSsl = false,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            UseDefaultCredentials = true,
            Credentials = new System.Net.NetworkCredential("mail", "pwd")
        };

        try
        {
            smtp.Send(message);

        }
        catch (Exception ex)
        {
            throw ex;


        }

}
}

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

Вы должны использовать класс SendGridClient для отправки почты по SendGrid, а затем передать apiKey в качестве параметра

        static async Task Execute()
        {
            var apiKey = // your key
            var client = new SendGridClient(apiKey);
            var msg = new SendGridMessage()
            {
                From = new EmailAddress("test@example.com", "DX Team"),
                Subject = "Hello World from the SendGrid CSharp SDK!",
                PlainTextContent = "Hello, Email!",
                HtmlContent = "<strong>Hello, Email!</strong>"
            };
            msg.AddTo(new EmailAddress("test@example.com", "Test User"));
            var response = await client.SendEmailAsync(msg);
        }

Подробнее см. Здесь https://docs.microsoft.com/en-us/azure/sendgrid-dotnet-how-to-send-email

0 голосов
/ 06 июля 2018

Ваша проблема в том, что вы вообще не используете SendGrid , вы используете SmtpClient

Если вы хотите использовать SendGrid , вам нужно будет загрузить нюгеты и написать SendGrid код, ничего из того, что вы есть.

Пожалуйста, просмотрите следующие примеры и пакет nuget

https://sendgrid.com/docs/Integrate/Code_Examples/v2_Mail/csharp.html

https://github.com/sendgrid/sendgrid-csharp

...