Guide

CLI IMAP: ler e-mails de qualquer servidor

Use um CLI IMAP para listar, buscar e ler e-mails de Fastmail, Zoho, ProtonMail Bridge, Dovecot e outros servidores IMAP pelo terminal. IMAP é o protocolo por trás de todos os provedores de e-mail que não são Gmail, Outlook ou Exchange.

Written by Qasim Muhammad Staff SRE

Reviewed by Hazik

VerifiedCLI 3.1.1 · IMAP · last tested April 11, 2026

Como usar um CLI IMAP pelo terminal?

Conecte a conta IMAP uma vez, depois use nylas email list, nylas email search e nylas email read. Isso dá a caixas Fastmail, Zoho, ProtonMail Bridge, Dovecot e de provedores de internet o mesmo workflow de terminal que provedores com OAuth.

Como ferramenta de linha de comando IMAP, o CLI é útil quando você precisa testar o acesso IMAP via terminal uma vez e depois continuar usando comandos de e-mail normalizados em vez de manter configurações separadas de mutt, fetchmail ou imaplib.

IMAP ainda é a espinha dorsal do e-mail fora dos maiores provedores hospedados.

IMAP (RFC 3501, publicado em 2003) é o protocolo que sustenta o acesso a e-mail de provedores fora dos três grandes (Google, Microsoft, Apple). Enquanto Gmail e Outlook dominam o e-mail pessoal, uma parcela significativa do e-mail corporativo e institucional ainda roda em servidores exclusivamente IMAP.

Administradores de e-mail auto-hospedado, usuários de contas de provedor de internet, estudantes universitários e usuários de provedores focados em privacidade como Fastmail ou Posteo dependem de IMAP. O protocolo funciona, mas configurar clientes IMAP pela linha de comando é trabalhoso.

O problema da configuração IMAP

Cada servidor IMAP tem seu próprio hostname, porta, modo TLS e método de autenticação. Para conectar com mutt, fetchmail ou imaplib do Python, você precisa saber os quatro. Erre um e ficará olhando para um timeout de conexão por 30 segundos antes de ver um erro enigmático.

Veja como é uma configuração típica de .muttrc para um único provedor:

# .muttrc para Fastmail — 8 linhas de config para uma conta
set imap_user = "you@fastmail.com"
set imap_pass = "app-specific-password-here"
set folder = "imaps://imap.fastmail.com:993/"
set spoolfile = "+INBOX"
set record = "+Sent"
set postponed = "+Drafts"
set ssl_starttls = yes
set ssl_force_tls = yes

Multiplique isso por cada conta IMAP que você tem. Agora adicione um servidor auto-hospedado com certificado autoassinado, uma conta de provedor com porta diferente e uma conta universitária que só suporta STARTTLS na porta 143. São três blocos de configuração separados com configurações TLS diferentes, e qualquer troca de senha quebra a conexão silenciosamente.

1. Instale o Nylas CLI

O Nylas CLI se instala como um binário único sem dependências de runtime. No macOS e Linux, Homebrew é o método mais rápido — a instalação completa em menos de 30 segundos e inclui verificação automática de checksum SHA-256. O binário pesa aproximadamente 25 MB e suporta arquiteturas x86_64 e ARM64.

brew install nylas/nylas-cli/nylas

Para outras plataformas, o guia de primeiros passos cobre os métodos de instalação via shell script, PowerShell e Go.

2. Conecte sua conta IMAP

Conectar uma conta IMAP ao Nylas CLI requer uma configuração única pelo dashboard Nylas. O dashboard detecta automaticamente as configurações de servidor para mais de 50 provedores IMAP conhecidos, incluindo Fastmail, Zoho e Posteo. Para servidores auto-hospedados, você insere o hostname e a porta manualmente. Todo o processo leva cerca de 2 minutos.

Acesse dashboard-v3.nylas.com, crie uma aplicação e conecte sua conta IMAP. Depois configure o CLI com sua chave de API:

nylas auth config
# Cole sua chave de API quando solicitado

# Verifique a conexão
nylas auth whoami
# => Authenticated as you@fastmail.com (IMAP)

3. Liste seus e-mails

O comando nylas email list recupera mensagens de qualquer servidor IMAP conectado usando a mesma sintaxe que contas Gmail, Outlook ou Exchange. Por padrão, o comando retorna as 10 mensagens mais recentes ordenadas por data. Você pode filtrar por status de leitura ou ajustar a quantidade de resultados com flags.

O comando FETCH do RFC 3501 do IMAP normalmente requer a especificação de números de sequência de mensagem e itens de dados. O CLI abstrai isso em um único comando que funciona em todos os provedores.

# Listar mensagens recentes
nylas email list

# Mostrar apenas mensagens não lidas
nylas email list --unread

# Limitar a 25 resultados
nylas email list --limit 25

Servidores de e-mail auto-hospedados (Dovecot, Postfix, Zimbra)

Servidores de e-mail auto-hospedados funcionam com o Nylas CLI pelo mesmo fluxo de conexão IMAP de qualquer provedor comercial. Sozinho, o Dovecot alimenta cerca de 73% de todos os servidores IMAP no mundo, segundo dados de uso do próprio projeto Dovecot. Seja rodando Dovecot para IMAP, Postfix para SMTP, ou uma solução completa como Mail-in-a-Box ou Zimbra, a configuração no dashboard pede apenas hostname e porta.

A plataforma Nylas gerencia a negociação TLS, pool de conexões e keepalives IMAP IDLE para servidores auto-hospedados. Configurações comuns de servidores auto-hospedados e os valores a inserir no dashboard Nylas:

Stack do ServidorHostname IMAPPortaTLS
Dovecot (padrão)mail.yourdomain.com993Implicit TLS
Mail-in-a-Boxbox.yourdomain.com993Implicit TLS
Zimbramail.yourdomain.com993Implicit TLS
Courier IMAPmail.yourdomain.com993 or 143Implicit TLS or STARTTLS
Cyrus IMAPmail.yourdomain.com993Implicit TLS
hMailServer (Windows)mail.yourdomain.com993Implicit TLS

Após conectar um servidor auto-hospedado pelo dashboard Nylas, os comandos do CLI são idênticos aos de qualquer outro provedor. Não há nada específico de IMAP no uso do CLI — os mesmos comandos nylas email list e nylas email search funcionam independentemente de o servidor rodar Dovecot, Zimbra ou Cyrus.

# Servidor Dovecot auto-hospedado — mesmos comandos que Gmail ou Outlook
nylas email list --limit 10
nylas email search "from:client@example.com"
nylas email list --folder "Sent" --limit 5

Contas de e-mail de provedores de internet e telecoms

Contas de e-mail de provedores como Comcast, AT&T e Deutsche Telekom conectam pelo Nylas CLI usando credenciais IMAP padrão. Estima-se que 30-40 milhões de americanos ainda usam endereços de e-mail fornecidos pelo provedor de internet, segundo dados do Consumer Reports de 2023. Essas contas oferecem apenas acesso IMAP — sem OAuth2, sem REST API, apenas usuário e senha.

Domínios comuns de provedores incluem Comcast/Xfinity (@comcast.net), AT&T (@att.net, @sbcglobal.net), Deutsche Telekom (@t-online.de) e BT (@btinternet.com). Contas de e-mail de provedores são notoriamente frágeis com clientes IMAP tradicionais porque os provedores frequentemente mudam as configurações do servidor. A AT&T, por exemplo, migrou de imap.mail.att.net para a infraestrutura do Yahoo em 2017, quebrando todos os clientes configurados manualmente.

Estes são os hostnames de servidores IMAP dos principais provedores de internet. Insira os valores durante a configuração no dashboard Nylas se a detecção automática não encontrar o provedor.

# Servidores IMAP comuns de provedores (referência para configuração no dashboard Nylas)
# Comcast/Xfinity: imap.comcast.net:993
# AT&T:            imap.mail.att.net:993
# Verizon:         incoming.verizon.net:993
# Deutsche Telekom: secureimap.t-online.de:993
# BT Internet:     imap4.btconnect.com:993

# Após conectar pelo dashboard, os mesmos comandos funcionam:
nylas email list --limit 10

E-mail universitário e institucional

Sistemas de e-mail universitário e institucional frequentemente rodam servidores IMAP independentes que o Nylas CLI pode conectar pelo fluxo padrão de concessão IMAP. Segundo uma pesquisa EDUCAUSE de 2023, aproximadamente 40% das instituições de ensino superior na Europa ainda operam sua própria infraestrutura de e-mail em vez de terceirizar para Google Workspace ou Microsoft 365. MIT, Caltech e a maioria das universidades de pesquisa europeias se enquadram nessa categoria.

Essas contas frequentemente têm requisitos específicos que diferem dos provedores IMAP comerciais:

  • VPN pode ser necessária para acesso IMAP fora do campus
  • STARTTLS na porta 143 em vez de implicit TLS na porta 993
  • Autenticação Kerberos ou LDAP em vez de senhas simples
  • Timeouts de conexão agressivos (frequentemente 5 minutos vs o padrão IMAP de 30 minutos)

O Nylas CLI gerencia os detalhes de conexão — negociação TLS, keepalives IDLE e reconexão após timeout — depois que você fornece as informações do servidor durante a configuração no dashboard.

TLS, portas e a confusão do STARTTLS

IMAP usa dois números de porta — 993 para implicit TLS e 143 para STARTTLS ou texto plano — e escolher a errada causa falhas silenciosas de conexão. O RFC 8314, publicado em 2018, recomenda implicit TLS na porta 993 como padrão para todas as novas implantações. Apesar disso, uma pesquisa de 2022 do IETF constatou que mais de 35% dos servidores IMAP ativos ainda aceitam conexões STARTTLS na porta 143.

PortaMétodoComo funcionaStatus
993Implicit TLSO handshake TLS acontece primeiro, depois IMAPRecomendado (RFC 8314)
143STARTTLSIMAP conecta em texto plano, depois atualiza para TLSLegado (ainda comum)
143NenhumIMAP em texto plano (sem criptografia)Descontinuado — evitar

A abordagem STARTTLS tem uma vulnerabilidade conhecida: um atacante man-in-the-middle pode remover o comando STARTTLS antes que o cliente o veja, forçando uma conexão em texto plano. É por isso que o RFC 8314 recomenda implicit TLS. A plataforma Nylas sempre usa TLS para conexões IMAP.

IMAP vs POP3: por que IMAP importa

IMAP mantém as mensagens no servidor e sincroniza o estado entre dispositivos, enquanto POP3 baixa as mensagens e opcionalmente as exclui do servidor. O RFC 3501 (IMAP) foi publicado em 2003 como substituto do RFC 1939 (POP3, publicado em 1996). Algumas contas mais antigas de provedores ainda oferecem ambos os protocolos, mas IMAP é o único que suporta busca no servidor, navegação por pastas e download parcial de mensagens.

FuncionalidadeIMAP (RFC 3501)POP3 (RFC 1939)
Armazenamento de mensagensNo servidor (sincronizado)Baixadas para o cliente (excluídas do servidor por padrão)
Múltiplos dispositivosSim — todos os clientes veem o mesmo estadoNão — cada cliente baixa independentemente
Suporte a pastasSim (INBOX, Sent, pastas personalizadas)Não (apenas inbox)
BuscaComando SEARCH no servidorNão suportada — precisa baixar primeiro
Download parcialSim (buscar apenas cabeçalhos, buscar partes do corpo)Não (baixar mensagem inteira)
Largura de bandaMenor (sincroniza apenas alterações)Maior (baixa tudo novamente)
Acesso offlineCache local pelo clienteCópia local completa

Se seu provedor oferece ambos, sempre escolha IMAP. O Nylas CLI não suporta POP3 porque IMAP oferece uma interface estritamente superior para operações CLI — busca no servidor, navegação por pastas e download parcial de mensagens requerem IMAP.

Agregando múltiplas contas IMAP

O Nylas CLI pode agregar múltiplas contas IMAP em uma única interface de linha de comando usando a flag --grant. Cada conta IMAP conectada — seja Fastmail, Dovecot auto-hospedado ou um endereço de provedor — se torna uma concessão separada que você alterna com uma flag. Clientes IMAP tradicionais como mutt exigem um bloco de configuração separado por conta, o que significa manter 3-4 arquivos de credenciais para 3-4 contas.

O exemplo a seguir mostra como consultar três contas IMAP separadas e contar mensagens não lidas em todas elas em um único loop de shell.

# Alternar entre contas usando a flag --grant
nylas email list --grant "you@fastmail.com" --limit 5
nylas email list --grant "you@selfhosted.org" --limit 5
nylas email list --grant "you@comcast.net" --limit 5

# Buscar em uma conta específica
nylas email search "invoice" --grant "you@fastmail.com"

# Contar não lidas em todas as contas em um script
for grant in "you@fastmail.com" "you@selfhosted.org" "you@comcast.net"; do
  count=$(nylas email list --unread --json --grant "$grant" | jq length)
  echo "$grant: $count unread"
done

Nomes de pastas IMAP não são padronizados

Nomes de pastas IMAP variam entre servidores porque o RFC 3501 define apenas uma pasta obrigatória: INBOX. Todo outro nome de pasta — Sent, Drafts, Trash, Junk — é uma convenção, não um padrão. Courier IMAP usa nomes separados por ponto como INBOX.Sent, Dovecot usa simplesmente Sent, e Zimbra usa Sent com um namespace interno diferente. O RFC 6154 (2011) introduziu a extensão SPECIAL-USE para marcar pastas por função, mas a adoção permanece desigual — cerca de 60% dos servidores IMAP a suportam.

O comando nylas folder list mostra todas as pastas no servidor IMAP conectado. O Nylas CLI normaliza nomes comuns de pastas para que você possa usar Sent independentemente da convenção de nomenclatura interna do servidor.

# Listar todas as pastas no seu servidor IMAP
nylas folder list

# Diferenças de nomes de pastas entre provedores:
# Fastmail:   "Sent", "Trash", "Junk Mail", "Archive"
# Dovecot:    "Sent" or "INBOX.Sent" (namespace prefix varies)
# Zimbra:     "Sent", "Trash", "Junk"
# Zoho:       "Sent", "Trash", "Spam"
# Courier:    "INBOX.Sent", "INBOX.Trash" (dot-separated hierarchy)

# O Nylas CLI normaliza nomes comuns de pastas
nylas email list --folder "Sent"
nylas email list --folder "Drafts"
nylas email list --folder "Trash"

O prefixo INBOX. é uma convenção do Courier IMAP do início dos anos 2000. Se você o vê na saída do nylas folder list, seu servidor usa o namespace antigo. O CLI gerencia ambos os formatos.

Saída JSON para automação IMAP

O Nylas CLI converte respostas brutas do protocolo IMAP em JSON estruturado usando a flag --json. O IMAP nativo usa um formato baseado em texto definido no RFC 3501 com estruturas parentetizadas semelhantes a S-expressions — não é algo que você consiga enviar para jq sem um parser customizado. A flag --json gera cada mensagem como um objeto JSON com campos como subject, from, date e body, pronto para scripts ou consumo por agentes de IA.

Três padrões comuns de automação demonstram o valor da saída JSON: um resumo diário da caixa de entrada, uma exportação completa em JSON e uma análise de frequência de remetentes. Cada um usa jq para processar a saída JSON do CLI.

# Resumo diário da caixa de entrada do seu servidor auto-hospedado
nylas email list --unread --json --limit 50 | \
  jq -r '.[] | "\(.date | split("T")[0]) | \(.from[0].name // .from[0].email) | \(.subject)"' | \
  column -t -s '|'

# Exportar as últimas 100 mensagens como arquivo JSON para análise
nylas email list --limit 100 --json > inbox-export.json

# Encontrar os remetentes mais frequentes
nylas email list --limit 200 --json | \
  jq -r '[.[] | .from[0].email] | group_by(.) |
  map({sender: .[0], count: length}) |
  sort_by(-.count) | .[:10] |
  .[] | "\(.count)	\(.sender)"'

Referência de provedores IMAP

Esta referência cobre hostnames de servidores IMAP, portas e métodos de autenticação para 9 provedores IMAP populares. O dashboard Nylas detecta automaticamente as configurações da maioria desses provedores, mas você pode inseri-las manualmente se a detecção automática falhar. Todos os provedores listados usam a porta 993 com implicit TLS exceto ProtonMail Bridge, que roda localmente na porta 1143.

ProvedorServidor IMAPPortaMétodo de autenticação
Fastmailimap.fastmail.com993App password ou OAuth2
Zoho Mailimap.zoho.com993Senha específica de app
ProtonMail Bridge127.0.0.11143Senha gerada pelo Bridge
Posteoposteo.de993Senha da conta
GMXimap.gmx.com993Senha da conta
mail.comimap.mail.com993Senha da conta
Comcast/Xfinityimap.comcast.net993Senha da conta
AT&Timap.mail.att.net993Senha da conta
Dovecot (auto-hospedado)Hostname do seu servidor993Sua configuração de auth

Próximos passos

Após listar e-mails IMAP, o Nylas CLI suporta envio, busca e gerenciamento de calendários e contatos em todos os provedores conectados. Estes guias cobrem workflows relacionados para IMAP e outros provedores de e-mail.