En el caso de los clientes que no son de Gmail, Gmail admite los protocolos estándar IMAP, POP y SMTP. Los servidores IMAP, POP y SMTP de Gmail admiten la autorización con el protocolo OAuth 2.0 estándar de la industria.
Protocolo
IMAP, POP y SMTP usan la capa de autenticación y seguridad simple (SASL) estándar, con comandos integrados de IMAP AUTHENTICATE, POP AUTH y SMTP AUTH para autenticar a los usuarios. El mecanismo SASL XOAUTH2 permite que los clientes proporcionen credenciales de OAuth 2.0 para la autenticación. La documentación del protocolo SASL XOAUTH2 describe el mecanismo SASL XOAUTH2 en detalle, y hay bibliotecas y muestras disponibles que implementan el protocolo.
Las conexiones entrantes al servidor IMAP en imap.gmail.com:993 y al servidor POP en pop.gmail.com:995 requieren SSL. El servidor SMTP saliente, smtp.gmail.com, admite TLS. Si tu cliente comienza con texto sin formato antes de emitir el comando STARTTLS, usa el puerto 465 (para SSL) o el puerto 587 (para TLS).
Límites de duración de las sesiones
Las sesiones de POP de Gmail duran hasta 7 días aproximadamente. Las sesiones de IMAP de Gmail duran hasta 24 horas aproximadamente. Si autenticaste la sesión con credenciales de OAuth, durará aproximadamente el período de validez del token de acceso que se usó (por lo general, 1 hora). En este contexto, una sesión es una conexión TCP continua.
Cuando transcurre el tiempo y vence la sesión, Gmail cierra la conexión con un mensaje que indica que venció la sesión. Después de eso, el cliente puede volver a conectarse, autenticarse de nuevo y continuar. Si usas OAuth, asegúrate de que el token de acceso que uses sea válido (si intentas usar un token de acceso con más de 1 hora de antigüedad, es posible que no sea válido).
Bibliotecas y muestras
Para mayor comodidad, los desarrolladores suelen acceder al correo electrónico con IMAP o POP y enviarlo con SMTP usando las bibliotecas existentes de IMAP y SMTP. Siempre y cuando estas bibliotecas admitan la capa de seguridad y autenticación simple (SASL), deberían ser compatibles con el mecanismo SASL XOAUTH2 que admite Gmail.
Además de la documentación del protocolo SASL XOAUTH2, también te recomendamos que leas Cómo usar OAuth 2.0 para acceder a las APIs de Google para obtener más información sobre la implementación de un cliente de OAuth 2.0.
En la página Bibliotecas y muestras de OAuth 2.0, se proporcionan muestras de código en una variedad de lenguajes populares que usan el mecanismo SASL XOAUTH2 con IMAP o SMTP.