En el caso de los clientes que no son de Gmail, Gmail admite los protocolos IMAP, POP y SMTP estándar. Los servidores IMAP, POP y SMTP de Gmail se ampliaron para admitir la autorización a través del protocolo OAuth 2.0 estándar de la industria.
Protocolo
IMAP, POP y SMTP usan la capa de seguridad y autenticación simple (SASL) estándar, con los comandos AUTHENTICATE
, AUTH
y AUTH
de IMAP, POP y SMTP nativos integrados para autenticar a los usuarios. El mecanismo SASL XOAUTH2 permite que los clientes proporcionen credenciales de OAuth 2.0 para la autenticación. En la documentación del protocolo SASL XOAUTH2, se describe el mecanismo SASL XOAUTH2 en gran detalle, y están disponibles las bibliotecas y muestras que implementaron 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 de salida, 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 tienen un límite de unos 7 días. Las sesiones de IMAP de Gmail tienen un límite de alrededor de 24 horas. Si la sesión se autenticó con credenciales de OAuth, se limita al período de validez del token de acceso que se usó (por lo general, 1 hora). Una sesión en este contexto 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 la sesión venció. Después de eso, el cliente puede volver a conectarse, autenticarse y continuar. Si usas OAuth, asegúrate de que el token de acceso que usas sea válido (si intentas usar un token de acceso que tenga más de 1 hora, es posible que no sea válido).
Bibliotecas y muestras
Para acceder al correo electrónico con IMAP o POP y enviarlo con SMTP, a menudo se usan las bibliotecas existentes de IMAP y SMTP por conveniencia. Siempre que estas bibliotecas admitan la capa de seguridad y autenticación simple (SASL), deberían ser compatibles con el mecanismo XOAUTH2 de SASL que admite Gmail.
Además de la documentación del protocolo de SASL XOAUTH2, también puedes leer 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, se proporcionan muestras de código en una variedad de lenguajes populares a través del mecanismo SASL XOAUTH2 con IMAP o SMTP.