Für Nicht-Gmail-Clients werden die Standardprotokolle IMAP, POP und SMTP unterstützt. Die Gmail-IMAP-, POP- und SMTP-Server wurden erweitert, um die Autorisierung über das branchenübliche OAuth 2.0-Protokoll zu unterstützen.
Protokoll
Für IMAP, POP und SMTP wird der Standard Simple Authentication and Security Layer (SASL) verwendet. Dabei werden die integrierten nativen IMAP-Befehle AUTHENTICATE, POP-Befehle AUTH und SMTP-Befehle AUTH zur Authentifizierung von Nutzern verwendet. Mit dem SASL XOAUTH2-Mechanismus können Clients OAuth 2.0-Anmeldedaten für die Authentifizierung bereitstellen. 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 wurde.
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 7 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 begrenzt (in der Regel 1 Stunde). Eine Sitzung ist in diesem Zusammenhang eine durchgehende TCP-Verbindung.
Wenn die Zeit abläuft und die Sitzung beendet wird, schließt Gmail die Verbindung mit einer Meldung, dass die Sitzung abgelaufen ist. Danach kann der Client die Verbindung wieder herstellen, sich noch einmal authentifizieren und fortfahren. Wenn Sie OAuth verwenden, prüfen Sie, ob das verwendete Zugriffstoken gültig ist. Wenn Sie versuchen, ein Zugriffstoken zu verwenden, das älter als eine Stunde ist, ist es möglicherweise ungültig.
Bibliotheken und Beispiele
Der Zugriff auf E-Mails über IMAP oder POP und das Senden von E-Mails über SMTP erfolgt häufig über vorhandene IMAP- und SMTP-Bibliotheken. Solange diese Bibliotheken den Simple Authentication and Security Layer (SASL) unterstützen, sollten sie mit dem von Gmail unterstützten SASL XOAUTH2-Mechanismus kompatibel sein.
Zusätzlich zur Dokumentation zum SASL XOAUTH2-Protokoll finden Sie unter Mit OAuth 2.0 auf Google APIs zugreifen weitere Informationen zur Implementierung eines OAuth 2.0-Clients.
Auf der Seite Bibliotheken und Beispiele finden Sie Codebeispiele in verschiedenen gängigen Sprachen, in denen der SASL XOAUTH2-Mechanismus mit IMAP oder SMTP verwendet wird.