Für Clients, die keine Gmail-Clients sind, unterstützt Gmail die Standardprotokolle IMAP, POP und SMTP. Die IMAP-, POP- und SMTP-Server von Gmail wurden erweitert, um die Autorisierung über das branchenübliche OAuth 2.0-Protokoll zu unterstützen.
Protokoll
IMAP, POP und SMTP verwenden den Standard Simple Authentication and Security Layer (SASL) und die integrierten nativen IMAP-AUTHENTICATE
-, POP-AUTH
- und SMTP-AUTH
-Befehle, um Nutzer zu authentifizieren. Mit dem SASL XOAUTH2-Mechanismus können Clients OAuth 2.0-Anmeldedaten für die Authentifizierung angeben. In der Dokumentation zum SASL XOAUTH2-Protokoll wird der SASL XOAUTH2-Mechanismus ausführlich beschrieben. Außerdem sind Bibliotheken und Beispiele verfügbar, in denen das Protokoll implementiert ist.
Für eingehende Verbindungen zum IMAP-Server unter imap.gmail.com:993
und zum POP-Server unter pop.gmail.com:995
ist SSL erforderlich. Der ausgehende SMTP-Server smtp.gmail.com
unterstützt TLS. Wenn Ihr Client mit Klartext beginnt, verwenden Sie vor dem Ausführen des Befehls STARTTLS den Port 465
(für SSL) oder den Port 587
(für TLS).
Beschränkungen der Sitzungsdauer
Gmail-POP-Sitzungen sind auf etwa sieben Tage begrenzt. Gmail-IMAP-Sitzungen sind auf etwa 24 Stunden begrenzt. Wenn die Sitzung mit OAuth-Anmeldedaten authentifiziert wurde, ist sie auf die Gültigkeitsdauer des verwendeten Zugriffstokens beschränkt (normalerweise 1 Stunde). Eine Sitzung in diesem Zusammenhang ist eine kontinuierliche TCP-Verbindung.
Wenn die Zeit abgelaufen ist und die Sitzung abgelaufen ist, schließt Gmail die Verbindung und zeigt eine entsprechende Meldung an. Danach kann der Client wieder eine Verbindung herstellen, sich noch einmal authentifizieren und fortfahren. Wenn du OAuth verwendest, achte darauf, dass das verwendete Zugriffstoken gültig ist. Wenn du versuchst, ein Zugriffstoken zu verwenden, das älter als eine Stunde ist, ist es möglicherweise ungültig.
Bibliotheken und Beispiele
Für den Zugriff auf E-Mails über IMAP oder POP und für das Senden von E-Mails über SMTP werden häufig vorhandene IMAP- und SMTP-Bibliotheken verwendet. Solange diese Bibliotheken die Simple Authentication and Security Layer (SASL) unterstützen, sollten sie mit dem von Gmail unterstützten SASL XOAUTH2-Mechanismus kompatibel sein.
Neben der SASL-XOAUTH2-Protokolldokumentation können Sie auch den Artikel Mit OAuth 2.0 auf Google-APIs zugreifen lesen, um weitere Informationen zur Implementierung eines OAuth 2.0-Clients zu erhalten.
Auf der Seite Bibliotheken und Beispiele finden Sie Codebeispiele in verschiedenen gängigen Sprachen, die den SASL XOAUTH2-Mechanismus mit IMAP oder SMTP verwenden.