Para clientes que não são do Gmail, o Gmail oferece suporte aos protocolos IMAP, POP e SMTP padrão. Os servidores IMAP, POP e SMTP do Gmail foram estendidos para oferecer suporte à autorização pelo protocolo padrão do setor OAuth 2.0.
Protocolo
O IMAP, o POP e o SMTP usam a camada de autenticação e segurança simples (SASL) padrão, com os comandos AUTHENTICATE
do IMAP, AUTH
do POP e AUTH
do SMTP nativos integrados para autenticar os usuários. O mecanismo SASL XOAUTH2 permite que os clientes forneçam credenciais OAuth 2.0 para autenticação. A documentação do protocolo SASL XOAUTH2 descreve o mecanismo SASL XOAUTH2 em detalhes, e bibliotecas e amostras que implementaram o protocolo estão disponíveis.
As conexões de entrada para 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
, oferece suporte a TLS. Se o cliente começar com texto simples, use a porta 465
(para SSL) ou 587
(para TLS) antes de emitir o comando STARTTLS.
Limites de duração da sessão
As sessões POP do Gmail são limitadas a cerca de 7 dias. As sessões do IMAP do Gmail são limitadas a cerca de 24 horas. Se a sessão foi autenticada usando credenciais OAuth, ela é limitada ao período de validade do token de acesso usado (geralmente 1 hora). Uma sessão nesse contexto é uma conexão TCP contínua.
Quando o tempo passa e a sessão expira, o Gmail fecha a conexão com uma mensagem informando que a sessão expirou. Depois disso, o cliente pode se reconectar, fazer a autenticação novamente e continuar. Se você 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, ele poderá ser inválido.
Bibliotecas e exemplos
Para facilitar, o acesso a e-mails usando IMAP ou POP e o envio de e-mails usando SMTP geralmente são feitos com bibliotecas IMAP e SMTP. Se essas bibliotecas oferecem suporte à camada de autenticação e segurança simples (SASL), elas precisam ser compatíveis com o mecanismo SASL XOAUTH2 aceito pelo Gmail.
Além da documentação do protocolo SASL XOAUTH2, leia também 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 que usam o mecanismo SASL XOAUTH2 com IMAP ou SMTP.