У меня есть следующий код VB.NET для отправки электронных писем из моей учетной записи Office 365, он работал нормально, пока Microsoft не принудительно включила MFA в учетных записях Office 365:
Imports System.Net.Mail
Sub main()
Dim message As MailMessage = New MailMessage()
message.From = New MailAddress("[email protected]")
message.To.Add(New MailAddress("[email protected]"))
message.Subject = "My subject"
message.Body = "My body message"
message.IsBodyHtml = True
message.BodyEncoding = System.Text.Encoding.UTF8
message.SubjectEncoding = System.Text.Encoding.UTF8
Dim smtp As New SmtpClient("smtp.office365.com", 587)
smtp.EnableSsl = True
smtp.Credentials = New Net.NetworkCredential("[email protected]", "my password")
smtp.Send(message)
End sub
Когда я запускаю приведенный выше код, я получаю следующую ошибку:
Необработанное исключение типа System.Net.Mail.SmtpException произошло в System.dll
Дополнительная информация: SMTP-серверу требуется безопасное соединение, или клиент не прошел аутентификацию. Ответ сервера был: 5.7.57 SMTP; Клиент не прошел аутентификацию для отправки анонимной почты во время MAIL FROM [DB6PR0501CA0038.eurprd05.prod.outlook.com]
Я уверен, что ошибка произошла после того, как я включил многофакторную аутентификацию в своей учетной записи, и я не могу отключить эту функцию, потому что Microsoft вынуждает пользователей Office 365 использовать эту функцию.
Есть ли способ решить эту проблему?