Вот часть кода, которую я использую:
Код: Выделить всё
// 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 fails here
if (bPass == false)
{
return false;
}
535 5.7.3 Аутентификация не удалась
[SI2P153CA0005.APCP153.PROD.OUTLOOK.COM 2025-12-04T14:15:45.148Z 08DE31ECD6048A52]
Я подумал, что срок действия моего токена доступа/обновления истек, поэтому я повторно авторизовал свою учетную запись. Но я все еще получаю ту же ошибку.
Затем я обратился к ChatGPT.. и он сказал (ядро):
Ваш код верен для OAuth2, но Outlook/Hotmail SMTP (smtp.office365.com) БОЛЬШЕ не принимает токены OAuth2 для личных учетных записей Hotmail/Outlook.com.
Это доказательство ответа ChatGpt:
Ответ Chat GPT о MS OAuth
Я забеспокоился и, подумав, спросил Google Gemini, и он сказал (ядро):
Неправда, что личные учетные записи Microsoft (например, Outlook.com, Hotmail.com) не поддерживают SMTP OAuth. Фактически, Microsoft постепенно отказывается от базовой аутентификации (имя пользователя и пароль) по соображениям безопасности и требует использования OAuth 2.0 (современная аутентификация) для приложений, подключающихся через 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
Мобильная версия