Отправка электронной почты с использованием OAuth и личной электронной почты MiscrosftC#

Место общения программистов C#
Ответить
Anonymous
 Отправка электронной почты с использованием OAuth и личной электронной почты Miscrosft

Сообщение Anonymous »

Я пытаюсь отправить электронное письмо с помощью библиотеки chilkat smtp, используя личную учетную запись Microsoft и oAuth.
вот часть кода, которую я использую:

Код: Выделить всё

//preparing Mail Object
Chilkat.MailMan mail = new Chilkat.MailMan()
{
SmtpHost = "smtp.office365.com",
SmtpPort = 587,
StartTLS = true,
SmtpUsername = sysConfig.Client.Email,
OAuth2AccessToken = token,
};

//opening smtp connection
bool bPass = mail.SmtpConnect();
if(bPass == false)
{
return false;
}

//authenticate smtp
bPass = mail.SmtpAuthenticate(); //it's fails here
if(bPass == false)
{
return false;
}
вот сообщение об ошибке, которое я получаю:

Код: Выделить всё

535 5.7.3 Authentication unsuccessful [SI2P153CA0005.APCP153.PROD.OUTLOOK.COM 2025-12-04T14:15:45.148Z 08DE31ECD6048A52]
итак, я подумал, что срок действия моего токена доступа/обновления может истечь, поэтому я повторно авторизовал свою учетную запись.. но все равно.. ошибка
затем я иду в чатGPT.. и он сказал (ядро):

Код: Выделить всё

Your code is correct for OAuth2, but Outlook/Hotmail SMTP (smtp.office365.com) NO LONGER accepts OAuth2 tokens for personal Hotmail/Outlook.com accounts.
это доказательство ответаchatGpt
Ответ Chat GPT о MS oAuth
Я забеспокоился, и, подумав, я спросил Google Gemini, и он сказал (ядро):

Код: Выделить всё

It is not true that Microsoft personal accounts (e.g., Outlook.com, Hotmail.com) do not support SMTP OAuth. In fact, Microsoft is phasing out basic authentication (username and password) for security reasons and requires the use of OAuth 2.0 (Modern Authentication) for applications connecting via SMTP
теперь у меня кружится голова... и я не понимаю, кто прав, а кто нет?
и если это поможет, мой токен доступа как доступ к следующим областям:

Код: Выделить всё

"openid",
"profile",
"User.Read",
"email",
"offline_access",
"Mail.ReadWrite",
"Mail.Send",
"SMTP.Send",
"MailboxSettings.ReadWrite",
"Files.ReadWrite",
что-нибудь поможет сделать это прямо здесь? (заставить код работать?)
С уважением

Подробнее здесь: https://stackoverflow.com/questions/798 ... onal-email
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»