Я пытался отправить почту в моем ASP. NET CORE проекте C#. Я запускал код в эмуляции (IIS Express), но я получаю сообщение об ошибке:
Для SMTP-сервера требуется безопасное соединение или клиент не прошел проверку подлинности.
Пожалуйста Вы можете мне помочь?
Мой код:
MailMessage msg = new MailMessage();
msg.To.Add(new MailAddress("formail@mail.com", "John Doe"));
msg.From = new MailAddress("frommail@mail.com", "Jane Doe");
msg.Subject = "This is a Test Mail";
msg.Body = "This is a test message using Exchange OnLine";
msg.IsBodyHtml = true;
SmtpClient client = new SmtpClient();
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("frommail@mail.com", "Password");
client.Port = 587;
client.Host = "smtp.office365.com";
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
try
{
client.Send(msg);
return Content("Message sent successfully");
}
catch (Exception ex)
{
return Content(ex.ToString());
}
Полная ошибка:
Система. Net .Mail.SmtpException: SMTP-сервер требует безопасное соединение или клиент не был аутентифицирован. Ответ сервера: 5.7.57 SMTP; Клиент не прошел аутентификацию для отправки анонимной почты во время ПОЧТЫ ОТ [AM3PR07CA0113.eurprd07.prod.outlook.com]
Большое спасибо.
РЕДАКТИРОВАТЬ: Я использовал код с этот вопрос . Но я получаю ошибку
System. Net .Sockets.SocketException (11001): такой хост не известен. Мой почтовый адрес: me@gjb-spgs.cz.
Мой новый код:
var sClient = new SmtpClient("gjbspgs-cz.mail.protection.outlook.com");
var message = new MailMessage();
sClient.Port = 25;
sClient.EnableSsl = true;
sClient.Credentials = new NetworkCredential("me@gjb-spgs.cz", "Password");
sClient.UseDefaultCredentials = false;
message.Body = "Test";
message.From = new MailAddress("me@gjb-spgs.cz");
message.Subject = "Test";
message.To.Add(new MailAddress("someone@gmail.com"));
sClient.Send(message);
}
catch (Exception ex)
{
Console.Write(ex.ToString());
}