Se você tentou usar o Fetchmail com o Gmail recentemente e recebeu erros de autenticação, o motivo é simples:
O Google agora exige OAuth2 para quase todas as conexões IMAP/POP3, abandonando o suporte a senhas comuns ou senhas de app em muitos cenários.
Configurar o OAuth2 no Fetchmail exige um passo extra (obter um Token de Acesso), mas garante que seu servidor local continue coletando e-mails com o nível máximo de segurança exigido em 2026.
1. Criando as Credenciais no Google Cloud
Antes de mexer no Linux, você precisa “avisar” ao Google que o seu servidor tem permissão para acessar sua conta:
- Acesse o Google Cloud Console e crie um novo projeto.
- Vá em APIs e Serviços > Biblioteca e ative a Gmail API.
- Em Tela de consentimento OAuth, configure como “Externo” e adicione seu e-mail como usuário de teste.
- Vá em Credenciais > Criar Credenciais > ID do cliente OAuth. Selecione “App de Desktop” e anote o seu Client ID e Client Secret.
2. Gerando o Refresh Token
O Fetchmail não consegue abrir um navegador para você fazer login.
Por isso, usamos scripts como o fetchmail-oauth2.py (disponível no repositório oficial do Fetchmail) para gerar um Refresh Token permanente.
# Exemplo de comando para gerar o token:
python3 fetchmail-oauth2.py --client_id=SEU_ID --client_secret=SEU_SECRET --refresh_token_file=.fetchmail-gmail-token
Siga o link que aparecerá no terminal, faça o login no Gmail e cole o código de verificação de volta no script.
3. Configurando o .fetchmailrc para OAuth2
Agora, em vez de uma senha, o Fetchmail usará o protocolo OAUTH2 e o token que você gerou. Edite seu .fetchmailrc:
poll imap.gmail.com
protocol imap
user "seu-email@gmail.com"
# Em vez de password, usamos a diretiva de autenticação moderna:
auth oauth2
password "COLE_AQUI_O_CONTEUDO_DO_REFRESH_TOKEN"
ssl
sslcertck
is "usuario-local" here
💡 Dica de Admin (Marco): Por que usar OAuth2?
Muitos sysadmins resistem ao OAuth2 por ser mais trabalhoso de configurar, mas a vantagem é clara: você nunca mais precisará trocar a senha no servidor se mudar a senha da conta do Google, e se o seu servidor for comprometido, você pode revogar apenas aquele “Token” específico no painel do Google, sem expor sua senha principal.
Conclusão
Configurar o OAuth2 no Fetchmail é um mal necessário para manter a compatibilidade com o ecossistema moderno de e-mails.
Uma vez configurado, o sistema é extremamente estável e seguro.
Dificuldades com o script de geração de token ou erros de ‘Authentication Failed’? Deixe seu comentário e vamos debugar esse log!