Pour les clients autres que Gmail, Gmail est compatible avec les protocoles standards IMAP, POP et SMTP. Les serveurs IMAP, POP et SMTP Gmail sont compatibles avec l'autorisation via le protocole OAuth 2.0, qui est la norme du secteur.
Protocole
IMAP, POP et SMTP utilisent la Simple Authentication and Security Layer (SASL) standard, à l'aide des commandes IMAP AUTHENTICATE, POP AUTH et SMTP AUTH intégrées 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 en détail le mécanisme SASL XOAUTH2. Des bibliothèques et des exemples sont disponibles pour implémenter le protocole.
Les connexions entrantes au serveur IMAP à l'adresse imap.gmail.com:993 et au serveur POP à l'adresse pop.gmail.com:995 nécessitent SSL. Le serveur SMTP sortant, smtp.gmail.com, est compatible avec TLS. Si votre client commence par du texte brut avant d'émettre la commande STARTTLS, utilisez le port 465 (pour SSL) ou le port 587 (pour TLS).
Limites de durée des sessions
Les sessions POP Gmail durent environ sept jours. Les sessions IMAP Gmail durent environ 24 heures. Si vous avez authentifié la session à l'aide d'identifiants OAuth, elle dure environ la période de validité du jeton d'accès utilisé (généralement une heure). Dans ce contexte, une session est une connexion TCP continue.
Lorsque le délai est écoulé et que la session expire, Gmail ferme la connexion en affichant un message indiquant que la session a expiré. Le client peut ensuite 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 de plus d'une heure, il est possible qu'il ne soit pas valide).
Bibliothèques et exemples
Pour plus de commodité, les développeurs accèdent souvent aux e-mails à l'aide d'IMAP ou POP, et les envoient à l'aide de SMTP avec les bibliothèques IMAP et SMTP existantes. Tant que ces bibliothèques sont compatibles avec la Simple Authentication and Security Layer (SASL), elles devraient être compatibles avec le mécanisme SASL XOAUTH2 pris en charge par Gmail.
En plus de la documentation du protocole SASL XOAUTH2, vous pouvez également consulter Utiliser OAuth 2.0 pour accéder aux Google APIs pour en savoir plus sur l'implémentation d'un client OAuth 2.0.
La page Bibliothèques et exemples OAuth 2.0 fournit des exemples de code dans différents langages courants utilisant le mécanisme SASL XOAUTH2 avec IMAP ou SMTP.