IMAP, POP y SMTP

Para 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 extendieron para admitir la autorización mediante el protocolo OAuth 2.0 estándar de la industria.

Protocolo

IMAP, POP y SMTP usan la capa de autenticación y seguridad (SASL) estándar con los comandos incorporados IMAP AUTHENTICATE, POP AUTH y SMTP AUTH para autenticar a los usuarios. El mecanismo de SASL XOAUTH2 permite a los clientes proporcionar credenciales de OAuth 2.0 para la autenticación. La documentación del protocolo XOAUTH2 de SASL describe en detalle el mecanismo de SASL XOAUTH2 y las bibliotecas y las muestras que implementaron el protocolo están disponibles.

Las conexiones entrantes al servidor IMAP en imap.gmail.com:993 y el servidor POP en pop.gmail.com:995 requieren SSL. El servidor SMTP saliente, smtp.gmail.com, es compatible con 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 aproximadamente 7 días. Las sesiones IMAP de Gmail tienen un límite de aproximadamente 24 horas. Si se autenticó la sesión con credenciales de OAuth, se limitará al período de validez del token de acceso utilizado (generalmente, 1 hora). Una sesión en este contexto es una conexión TCP continua.

Cuando transcurre el tiempo y la sesión caduca, Gmail cierra la conexión con un mensaje que dice que la sesión caducó. 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 usaste 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

El acceso mediante correo IMAP o POP y el envío de correos mediante SMTP suele hacerse mediante bibliotecas IMAP y SMTP existentes para su comodidad. Siempre que estas bibliotecas admitan la capa simple de autenticación y seguridad (SASL), deben ser compatibles con el mecanismo SASL XOAUTH2 compatible con 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 API de Google a fin de obtener más información sobre la implementación de un cliente de OAuth 2.0.

En la página Bibliotecas y ejemplos, se proporcionan ejemplos de códigos en una variedad de lenguajes populares mediante el mecanismo SASL XOAUTH2 con IMAP o SMTP.