У меня есть приложение для отправки электронной почты пользователями, использующими сервер outlook smtp.Это приложение прекрасно работает на локальном хосте с теми же привилегиями.Но когда я публикую свое приложение ASP.NET Core в Azure, я получаю следующее исключение:
Для SMTP-сервера требуется безопасное соединение или клиент не прошел проверку подлинности.Ответ сервера был: 5.7.57 SMTP;Клиент не прошел аутентификацию для отправки анонимной почты во время ПОЧТЫ ОТ [SN6PR04CA0015.namprd04.prod.outlook.com]
Для отправки электронных писем я использую код:
MailMessage mail = new MailMessage(
EmailServiceConfiguration.SenderMail(),
addresses.Aggregate((seed, value) => seed += "," + value)
);
SmtpClient client = new SmtpClient();
client.Port = 587;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.EnableSsl = true;
client.Credentials = new System.Net.NetworkCredential("account@contoso.com", "mypassword");
client.Host = "smtp-mail.outlook.com";
mail.Subject = "My subject";
mail.Body = "My text";
mail.IsBodyHtml = true;
client.Send(mail);
Помните, что это исключение происходит только тогда, когда приложение работает на Azure, локальный хост работает и работает нормально.
Спасибо.