IMAP, POP y SMTP

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 se extendieron 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 autenticación y seguridad simple (SASL) estándar, con los comandos nativos 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 con gran detalle, y hay disponibles 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 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 están limitadas a unos 7 días. Las sesiones de IMAP de Gmail tienen una duración máxima de aproximadamente 24 horas. Si la sesión se autenticó con credenciales de OAuth, se limita al período de validez del token de acceso utilizado (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 se usa sea válido (si intentas usar un token de acceso de más de 1 hora, es posible que no sea válido).

Bibliotecas y muestras

Por lo general, se accede al correo electrónico con IMAP o POP y se envía correo electrónico con SMTP usando las bibliotecas existentes de IMAP y SMTP para mayor comodidad. Siempre que 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 puedes leer Usa OAuth 2.0 para acceder a las APIs de Google para obtener más información sobre cómo implementar un cliente de OAuth 2.0.

En la página Libraries and Samples, se proporcionan muestras de código en una variedad de lenguajes populares que usan el mecanismo SASL XOAUTH2 con IMAP o SMTP.