Я разрабатываю интернет-приложение MVC 5 и желаю отправить электронное письмо с помощью службы SendGrid
, когда мое приложение развернуто до Azure
.Identity 2.1 почтовый сервис
Я нашел некоторые ссылки на ресурсы, но каждая реализация кода, которую я использую, отправляет электронное письмо очень медленно. Я решил использовать код по этой ссылке: http://www.codeproject.com/Articles/762427/ASP-NET-Identity-Setting-Up-Account-Validation-and
Вот мой код:
public class EmailService : IIdentityMessageService
{
public Task SendAsync(IdentityMessage message)
{
// Credentials:
var sendGridUserName = "myusername";
var sentFrom = "[email protected]";
var sendGridPassword = "mypassword";
// Configure the client:
var client =
new System.Net.Mail.SmtpClient("smtp.sendgrid.net", Convert.ToInt32(587));
client.Port = 587;
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
// Creatte the credentials:
System.Net.NetworkCredential credentials =
new System.Net.NetworkCredential(sendGridUserName, sendGridPassword);
client.EnableSsl = true;
client.Credentials = credentials;
// Create the message:
var mail =
new System.Net.Mail.MailMessage(sentFrom, message.Destination);
mail.Subject = message.Subject;
mail.Body = message.Body;
// Send:
return client.SendMailAsync(mail);
}
}
Электронная почта занимает много минут, чтобы отправить. Почему это? Как быстро следует отправлять электронную почту в среднем, и мне нужно каким-то образом оптимизировать мой код? Кроме того, вместо использования SendGrid
, есть ли лучший ресурс для использования, который я должен использовать?
Заранее спасибо.
Могу ли я спросить, если вы столкнулись с ошибкой «Попытка получить доступ к сокете способом, запрещенным его правами доступа», и как вы его смягчили? –