Senden Sie E-Mails mit OAuth und persönlicher Microsoft-E-MailC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Senden Sie E-Mails mit OAuth und persönlicher Microsoft-E-Mail

Post by Anonymous »

Ich versuche, E-Mails über die Chilkat-SMTP-Bibliothek mit einem persönlichen Microsoft-Konto und OAuth zu senden.
Hier ist der Teil des Codes, den ich verwende:

Code: Select all

// 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;
}
Hier ist die Fehlermeldung, die ich erhalte:

535 5.7.3 Authentifizierung fehlgeschlagen

[SI2P153CA0005.APCP153.PROD.OUTLOOK.COM 2025-12-04T14:15:45.148Z 08DE31ECD6048A52]

Ich dachte, dass mein Zugriffs-/Aktualisierungstoken möglicherweise abgelaufen ist, also habe ich mein Konto erneut autorisiert. Aber ich erhalte immer noch die gleiche Fehlermeldung.
Dann habe ich chatGPT konsultiert... und da stand (der Kern):

Ihr Code ist korrekt für OAuth2, aber Outlook/Hotmail SMTP (smtp.office365.com) akzeptiert KEINE OAuth2-Tokens mehr für persönliche Hotmail/Outlook.com-Konten.

Dies ist der Beweis für die ChatGpt-Antwort:
Chat GPT-Antwort zu MS OAuth
Ich mache mir Sorgen, und bei einem zweiten Gedanken habe ich Google Gemini gefragt, und da stand (der Kern):

Es stimmt nicht, dass persönliche Microsoft-Konten (z. B. Outlook.com, Hotmail.com) SMTP OAuth nicht unterstützen. Tatsächlich stellt Microsoft die Basisauthentifizierung (Benutzername und Passwort) aus Sicherheitsgründen schrittweise ein und verlangt die Verwendung von OAuth 2.0 (moderne Authentifizierung) für Anwendungen, die sich über SMTP verbinden.

Jetzt schwirrt mir der Kopf und ich bin verwirrt, welche KI richtig und welche falsch ist?
Und wenn das hilft, mein Zugriffstoken als Zugriff auf folgende Bereiche:

Code: Select all

"openid",
"profile",
"User.Read",
"email",
"offline_access",
"Mail.ReadWrite",
"Mail.Send",
"SMTP.Send",
"MailboxSettings.ReadWrite",
"Files.ReadWrite",
Irgendeine Hilfe, um die Sache hier richtig zu machen? (Den Code zum Laufen bringen?)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post