Guide
Extrair códigos OTP de e-mails — pule a caixa de entrada
Pare de alternar para a caixa de entrada sempre que um código 2FA chega. nylas otp get varre e-mails recentes em busca de códigos de verificação e copia o resultado para a área de transferência em menos de um segundo. Funciona com todos os principais provedores — sem navegador.
Written by Nick Barraclough Product Manager
Reviewed by Qasim Muhammad
Por que é difícil extrair códigos OTP de e-mails?
Códigos OTP são difíceis de extrair de e-mails porque cada verificação interrompe seu fluxo de trabalho com 30–60 segundos de troca de contexto — abrir a caixa de entrada, procurar a mensagem, localizar o código de 6 dígitos dentro de um template estilizado, digitá-lo no prompt de login e voltar à tarefa original.
Para desenvolvedores que executam testes de integração ou fluxos end-to-end, o problema é pior. Extrair códigos programaticamente significa escrever lógica personalizada de polling de e-mail para cada provedor — Gmail API, Microsoft Graph, IMAP idle — antes que o teste real possa sequer começar. De acordo com o FIDO Alliance Online Authentication Barometer, usuários frequentemente abandonam cadastros quando a verificação é lenta, e código frágil de extração OTP é uma das principais causas de suítes de testes E2E instáveis.
O Nylas CLI elimina ambos os problemas com um único comando: nylas otp get varre mensagens recentes no Gmail, Outlook, Yahoo, iCloud e qualquer servidor IMAP, extrai o código e copia para a área de transferência em menos de 1 segundo.
1. Instalação
Instalar o Nylas CLI requer um único comando Homebrew e termina em menos de 30 segundos na maioria das máquinas. O binário CLI tem cerca de 25 MB e suporta macOS, Linux e Windows. Homebrew é o caminho mais rápido para usuários macOS e Linux.
brew install nylas/nylas-cli/nylasCaminhos de instalação via shell-script, PowerShell e Go estão disponíveis no guia de primeiros passos. Após a instalação, confirme que o CLI está disponível verificando a versão:
nylas --version2. Autenticação
A autenticação conecta o Nylas CLI à sua conta de e-mail para que ele possa varrer mensagens em busca de códigos OTP. O CLI suporta 6 tipos de provedores — Gmail, Outlook, Exchange (EWS), Yahoo Mail, iCloud Mail e IMAP genérico — tudo em uma única etapa de autenticação. Nenhuma configuração por provedor é necessária.
Gere uma chave de API no Nylas Dashboard, depois passe-a ao CLI. As credenciais são armazenadas localmente em ~/.config/nylas/ e nunca enviadas a terceiros.
nylas auth config --api-key YOUR_API_KEY3. Obter o código OTP mais recente
O comando nylas otp get varre e-mails recentes, extrai o código de verificação mais recente e copia para a área de transferência — normalmente em menos de 1 segundo. A maioria dos códigos OTP por e-mail tem 6 dígitos e expira em 5–10 minutos, conforme definido pela RFC 6238 (TOTP).
Executar o comando sem argumentos busca o código mais recente da conta padrão. O CLI pesquisa as mensagens mais recentes por padrões OTP comuns (códigos numéricos em e-mails de verificação) e retorna a correspondência.
nylas otp get✓ OTP found
Code: 847291
From: noreply@github.com
Subject: Your GitHub verification code
Copied to clipboardPara scripting e pipelines CI/CD — onde efeitos colaterais de área de transferência são indesejados — a flag --raw exibe apenas o código bruto. Isso facilita capturar o valor em uma variável shell.
nylas otp get --raw847291Para manter o código visível na saída do terminal sem copiá-lo para a área de transferência, use a flag --no-copy. Útil quando você quer ler o código na tela e digitá-lo manualmente.
nylas otp get --no-copy4. Monitorar códigos OTP recebidos
O comando nylas otp watch consulta sua caixa de entrada continuamente e exibe cada novo código OTP assim que chega. Útil quando você aciona uma ação que envia um e-mail de verificação e precisa capturar o código sem saber exatamente quando ele chegará. O intervalo padrão de consulta é 5 segundos, o que significa que a maioria dos códigos aparece dentro de 5–10 segundos da entrega.
Inicie o monitoramento sem argumentos. O CLI continua consultando até você pressionar Ctrl+C. Cada código é exibido com timestamp e endereço do remetente.
nylas otp watchWatching for OTP codes... (Ctrl+C to stop)
[14:23:05] 847291 — noreply@github.com
[14:31:18] 193047 — security@google.comA flag --interval define a frequência de consulta em segundos. Um intervalo mais curto captura códigos mais rápido, mas envia mais requisições de API. Para a maioria dos casos, 5–10 segundos equilibra velocidade e eficiência.
nylas otp watch --interval 5Combine --no-copy com um intervalo personalizado ao executar em um terminal sem acesso à área de transferência, como uma sessão SSH remota ou um container Docker.
nylas otp watch --no-copy --interval 105. Listar contas configuradas
O comando nylas otp list mostra cada conta de e-mail conectada ao Nylas CLI, junto com seu tipo de provedor. Desenvolvedores que trabalham com múltiplas contas — por exemplo, um Gmail pessoal e um tenant Outlook corporativo — podem usar isso para confirmar quais contas estão disponíveis antes de buscar códigos. O CLI suporta até 6 tipos de provedores em uma única configuração.
Cada linha na saída mapeia um endereço de e-mail ao seu provedor detectado. Isso facilita identificar qual conta direcionar ao chamar nylas otp get.
nylas otp list ACCOUNT PROVIDER
user@gmail.com Gmail
work@company.com Outlook
personal@icloud.com iCloudPara buscar um código de uma conta específica em vez da padrão, passe o endereço de e-mail como argumento. Isso evita ambiguidade quando múltiplas contas têm e-mails OTP recentes.
nylas otp get user@gmail.com6. Usar códigos OTP em scripts
A flag --raw transforma nylas otp get em um bloco de construção combinável para scripts shell, pipelines CI/CD e frameworks de testes end-to-end. Como ele só exibe o código bruto sem formatação, o resultado pode ser capturado diretamente em uma variável com substituição de comando padrão.
O script abaixo demonstra um fluxo completo de verificação OTP: aciona um e-mail de redefinição de senha via chamada de API, aguarda 3 segundos para a entrega, extrai o código e o submete. Em ambientes CI em produção, esse padrão substitui 20–50 linhas de lógica personalizada de polling específica do provedor.
#!/usr/bin/env bash
set -euo pipefail
EMAIL="user@example.com"
API_BASE="https://app.example.com/api"
# Acionar o e-mail OTP
curl -s -X POST "$API_BASE/auth/send-otp" \
-H "Content-Type: application/json" \
-d "{"email": "$EMAIL"}"
# Aguardar a entrega, depois obter o código
sleep 3
CODE=$(nylas otp get --raw)
echo "Got code: $CODE"
# Submeter o código
curl -s -X POST "$API_BASE/auth/verify-otp" \
-H "Content-Type: application/json" \
-d "{"email": "$EMAIL", "code": "$CODE"}"
echo "Verified."Em ambientes CI/CD como GitHub Actions, armazene a chave de API Nylas como secret do repositório. O exemplo abaixo mostra um workflow de 2 etapas: a primeira etapa configura a autenticação e a segunda executa o script de teste OTP. Essa abordagem mantém as credenciais totalmente fora do controle de versão.
# Exemplo GitHub Actions
- name: Authenticate Nylas CLI
run: nylas auth config --api-key ${{ secrets.NYLAS_API_KEY }}
- name: Run OTP flow test
run: ./scripts/test-otp-flow.shO CLI lê a variável de ambiente NYLAS_API_KEY automaticamente, então você pode pular a etapa nylas auth config em ambientes CI efêmeros. Essa é a abordagem recomendada para containers e runners serverless onde o sistema de arquivos não persiste entre jobs.
# Definir variável de ambiente — CLI detecta automaticamente
export NYLAS_API_KEY=your_key
CODE=$(nylas otp get --raw)Próximos passos
- Testes E2E de e-mail com Playwright — combine a extração OTP com fluxos completos de testes end-to-end
- E-mail como identidade para agentes de IA — autentique workflows de IA via verificação baseada em e-mail
- E-mail PowerShell em CI/CD — automação nativa Windows para pipelines dependentes de e-mail
- Primeiros passos com Nylas CLI — conecte sua primeira conta em menos de 5 minutos
- Referência de comandos — cada flag, subcomando e exemplo
- RFC 6238 -- TOTP: Time-Based One-Time Password — a especificação dos códigos com janela temporal que você está extraindo de e-mails