IMAP, POP e SMTP

Para clientes que não são do Gmail, o Gmail oferece suporte aos protocolos padrão IMAP, POP e SMTP. Os servidores IMAP, POP e SMTP do Gmail foram estendidos para oferecer suporte à autorização por meio do protocolo padrão do setor OAuth 2.0.

Protocolo

Os protocolos IMAP, POP e SMTP usam a Camada de Autenticação e Segurança Simples (SASL, na sigla em inglês) padrão, usando os comandos nativos IMAP AUTHENTICATE, POP AUTH e SMTP AUTH para autenticar usuários. O mecanismo SASL XOAUTH2 permite que os clientes forneçam credenciais de OAuth 2.0 para autenticação. A documentação do protocolo SASL XOAUTH2 descreve o mecanismo do SASL XOAUTH2 em detalhes. Há bibliotecas e amostras que implementaram o protocolo estão disponíveis.

As conexões de entrada com o servidor IMAP em imap.gmail.com:993 e o servidor POP em pop.gmail.com:995 exigem SSL. O servidor SMTP de saída, smtp.gmail.com, é compatível com TLS. Se o cliente começar com texto simples, antes de emitir o comando STARTTLS, use a porta 465 (para SSL) ou a porta 587 (para TLS).

Limites de duração da sessão

As sessões POP do Gmail são limitadas a cerca de sete dias. As sessões IMAP do Gmail são limitadas a cerca de 24 horas. Se a sessão foi autenticada usando credenciais do OAuth, o limite é o período de validade do token de acesso usado (geralmente 1 hora). Neste contexto, uma sessão é uma conexão TCP contínua.

Quando o tempo se esgotar e a sessão expirar, o Gmail encerra a conexão com uma mensagem informando que a sessão expirou. Depois disso, o cliente pode se reconectar, autenticar novamente e continuar. Se estiver usando o OAuth, verifique se o token de acesso usado é válido. Se você tentar usar um token de acesso com mais de uma hora, talvez ele seja inválido.

Bibliotecas e exemplos

Para sua conveniência, o acesso a e-mail por IMAP ou POP e o envio de e-mail por SMTP geralmente são feitos usando as bibliotecas IMAP e SMTP existentes. Se essas bibliotecas forem compatíveis com a Simple Authentication and Security Layer (SASL), elas deverão ser compatíveis com o mecanismo SASL XOAUTH2 aceito pelo Gmail.

Além da documentação do protocolo SASL XOAUTH2, leia Como usar o OAuth 2.0 para acessar as APIs do Google para mais informações sobre a implementação de um cliente OAuth 2.0.

A página Bibliotecas e exemplos fornece exemplos de código em várias linguagens conhecidas usando o mecanismo SASL XOAUTH2 com IMAP ou SMTP.