Pour les clients autres que Gmail, Gmail est compatible avec les protocoles standard IMAP, POP et SMTP. Les serveurs IMAP, POP et SMTP de Gmail ont été développés pour prendre en charge l'autorisation via le protocole OAuth 2.0, standard dans l'industrie.
Protocole
Les protocoles IMAP, POP et SMTP utilisent l'authentification Simple Authentication and Security Layer (SASL) standard, à l'aide des commandes IMAP AUTHENTICATE
natives, POP AUTH
et SMTP AUTH
pour authentifier les utilisateurs. Le mécanisme SASL XOAUTH2 permet aux clients de fournir des identifiants OAuth 2.0 pour l'authentification. La documentation du protocole SASL XOAUTH2 décrit le mécanisme SASL XOAUTH2 de manière très détaillée. Les bibliothèques et exemples qui mettent en œuvre le protocole sont disponibles.
SSL est requis pour les connexions entrantes au serveur IMAP à l'adresse imap.gmail.com:993
et au serveur POP à pop.gmail.com:995
. Le serveur SMTP sortant smtp.gmail.com
est compatible avec le protocole TLS. Si votre client commence par du texte brut, utilisez le port 465
(pour SSL) ou 587
(pour TLS) avant d'exécuter la commande STARTTLS.
Limites de durée des sessions
Les sessions POP Gmail sont limitées à environ sept jours. Les sessions IMAP de Gmail sont limitées à environ 24 heures. Si la session a été authentifiée à l'aide d'identifiants OAuth, elle est limitée à environ la période de validité du jeton d'accès utilisé (généralement une heure). Dans ce contexte, une session correspond à une connexion TCP continue.
Lorsque le temps est écoulé et que la session arrive à expiration, Gmail ferme la connexion en affichant un message indiquant que la session a expiré. Ensuite, le client peut se reconnecter, s'authentifier à nouveau et continuer. Si vous utilisez OAuth, assurez-vous que le jeton d'accès utilisé est valide (si vous essayez d'utiliser un jeton d'accès datant de plus d'une heure, il peut ne pas être valide).
Bibliothèques et exemples
Pour plus de commodité, l'accès aux messages via IMAP ou POP et l'envoi via SMTP sont souvent effectués à l'aide des bibliothèques IMAP et SMTP existantes. Tant que ces bibliothèques sont compatibles avec Simple Authentication and Security Layer (SASL), elles devraient être compatibles avec le mécanisme SASL XOAUTH2 compatible avec Gmail.
Outre la documentation sur le protocole SASL XOAUTH2, vous pouvez également consulter l'article Utiliser OAuth 2.0 pour accéder aux API Google pour en savoir plus sur l'implémentation d'un client OAuth 2.0.
La page Bibliothèques et exemples fournit des exemples de code dans plusieurs langues courantes à l'aide du mécanisme SASL XOAUTH2 avec IMAP ou SMTP.