Как отправить электронную почту, используя учетную запись электронной почты office365 с двухфакторной аутентификацией в asp.net C #? - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь отправить сообщение электронной почты, используя office365 учетную запись электронной почты, для которой включена двухфакторная аутентификация . Это дает ошибку проверки подлинности. Для учетных записей электронной почты, которые не включили двухфакторную аутентификацию, работает нормально. Как решить эту проблему?

using (SmtpClient client = new SmtpClient())
{
   client.Port = Convert.ToInt32(appSettings["Port"]);
   client.DeliveryMethod = SmtpDeliveryMethod.Network;
   client.Host = "smtp.office365.com"; 
   client.EnableSsl = true;
   client.UseDefaultCredentials = false;
   client.Credentials = new System.Net.NetworkCredential(SenderMailAddress, SenderMailPassword); 
   email.Subject = String.Format("{0}", txtMailSubject.Text);
   //                   
   email.Body = String.Format("{0}", text);

   email.IsBodyHtml = true;                  

   client.Send(email);
}

Сообщение об ошибке

System.Net.Mail.SmtpException: SMTP-сервер требует безопасного соединение или клиент не был аутентифицирован. Ответ сервера был: 5.7.1 Клиент не был аутентифицирован в System.Net.Mail.MailCommand.CheckResponse

...