Use o Hermes Agent como assistente de email
Configure o Hermes Agent como assistente de email com IMAP e SMTP: senhas de aplicativo, allowlist, threads, anexos e opções gerenciadas.

Por que email é uma interface subestimada para um agente de IA
Telegram, Slack e Discord recebem quase toda a atenção quando o assunto é colocar um agente de IA em uma superfície de uso real. Email é mais velho e mais discreto, mas tem uma propriedade que os apps de chat não têm: todo dispositivo do planeta já fala email de forma nativa, e todo fluxo de trabalho que você já tem - tickets, faturas, alertas, formulários de contato, confirmações de fornecedores - cedo ou tarde cai numa caixa de entrada.
Rodar o Hermes Agent como assistente de email transforma essa caixa numa conversa. Você encaminha uma thread para o agente, ele lê o contexto inteiro e responde dentro da mesma thread com a mesma memória persistente que usa no Telegram ou no terminal. Sem cliente novo, sem API para chamar, sem app extra para instalar nas pessoas para quem você encaminha mensagens.
Este guia cobre a configuração exata: conta de email dedicada, senha de aplicativo, as variáveis EMAIL_* que o Hermes espera, a allowlist que mantém estranhos fora e as regras de thread que fazem as respostas parecerem humanas. No final você pode começar com o Hermify se preferir a versão gerenciada em vez de operar credenciais IMAP na mão.
O que o adaptador de email realmente é
O Hermes traz um gateway de email construído sobre os módulos padrão do Python imaplib, smtplib e email. Não há pacotes extras, nenhum SaaS de terceiro no caminho e nenhum broker de mensagens na frente. O adaptador é um loop de polling que:
- Conecta ao seu servidor IMAP via SSL.
- Pega mensagens
UNSEENda caixa em um intervalo configurável. - Entrega o corpo (e os anexos permitidos) ao runtime do agente como mensagem de usuário.
- Devolve a resposta via SMTP com os headers
In-Reply-ToeReferencescorretos para que a thread continue agrupada.
Como fala IMAP e SMTP puros, funciona com Gmail, Outlook, Yahoo, Fastmail, ProtonMail Bridge, Migadu ou qualquer provedor que exponha as portas padrão. Não há nada específico do Gmail no adaptador, o que significa que você pode trocar de provedor sem mexer no agente.

Antes de começar: uma conta dedicada, sempre
Não aponte o Hermes para o seu email pessoal. Três motivos:
- As credenciais IMAP ficam em texto puro no
.env. Qualquer pessoa que conseguir ler esse arquivo consegue ler todas as mensagens que você já recebeu nesse endereço. - O adaptador tem acesso de leitura total à caixa por design. Um bug numa skill poderia, em tese, marcar mensagens como lidas, apagar rascunhos ou encaminhar conteúdo.
- Restart frio, retries e desvios de relógio podem produzir respostas duplicadas. Você não quer que isso aconteça numa thread com o seu CEO.
Crie um endereço novo: [email protected], [email protected] ou qualquer outro que você possa descartar sem dó. Encaminhe para esse endereço só as mensagens que você realmente quer que o agente veja, usando um filtro do Gmail ou uma regra do Outlook. Isso cria uma fronteira clara entre "o que o agente pode tocar" e "todo o resto".
Passo 1: gere uma senha de aplicativo no Gmail (ou o equivalente)
Se você usa Gmail, o caminho IMAP/SMTP exige uma senha de aplicativo, não a senha normal. O Google removeu a opção de desligar o IMAP em janeiro de 2025, então ele já vem ligado, mas "Apps menos seguros" não funciona mais e OAuth é exagero para uma conta só.
O fluxo:
- Ative a verificação em duas etapas em
myaccount.google.com/security. As senhas de aplicativo não aparecem até o 2FA estar ativo. - Acesse
myaccount.google.com/apppasswords. - Gere uma senha para "Mail". O Google devolve uma string de 16 caracteres em quatro blocos de quatro.
- Copie sem os espaços. Os espaços são só visuais e quebram alguns clientes.
Para Outlook/Microsoft 365, o equivalente fica em account.microsoft.com/security em "Senhas de aplicativo" (também precisa de 2FA). Para o Fastmail, gere uma senha por aplicativo em Settings > Password & Security. Para Postfix/Dovecot self-hosted, use a senha SMTP/IMAP que você definiu ao provisionar a caixa.
Passo 2: ligue as variáveis de email do Hermes
O adaptador de email é configurado inteiramente por variáveis de ambiente EMAIL_*. O mínimo viável para Gmail é:
# Identidade
[email protected]
EMAIL_PASSWORD=abcd1234efgh5678 # 16 caracteres, sem espaços
# IMAP (entrada)
EMAIL_IMAP_HOST=imap.gmail.com
EMAIL_IMAP_PORT=993 # SSL
# SMTP (saída)
EMAIL_SMTP_HOST=smtp.gmail.com
EMAIL_SMTP_PORT=587 # STARTTLS
# Polling
EMAIL_POLL_INTERVAL=15 # segundos
EMAIL_POLL_INTERVAL é a taxa com que o adaptador pergunta ao IMAP por mensagens novas. Os 15 segundos padrão são um bom equilíbrio: baixo o suficiente para sentir responsivo, alto o suficiente para o Gmail não começar a limitar. Se você baixar para menos de 5 segundos o Google acaba devolvendo falhas de autenticação temporárias e você vai gastar uma hora caçando erro de "senha errada" que não tem nada a ver com a senha.
Coloque essas variáveis em .env (o arquivo que o Hermes carrega ao iniciar) e rode chmod 600 .env para que ele não seja legível por todo mundo. Se você roda o Hermes no Docker, monte o arquivo como read-only e nunca embuta credenciais na imagem.
Passo 3: feche a caixa com uma allowlist
Este é o passo de segurança mais importante de toda a configuração, e o que mais tutoriais pulam.
Por padrão, um agente Hermes ouvindo email responde para quem mandar mensagem. Se o seu endereço é [email protected], qualquer um que adivinhar, vazar ou raspar essa string consegue mandar comandos. Email é público por endereço. Não existe o equivalente ao filtro do Telegram "o usuário precisa iniciar a conversa primeiro".
O Hermes expõe três modos:
| Modo | Comportamento |
|---|---|
| [email protected],[email protected] | Só esses endereços são processados. O resto é descartado em silêncio. |
| Não definido | Remetentes desconhecidos recebem um código de pareamento de uso único e precisam responder com ele para serem registrados. |
| EMAIL_ALLOW_ALL_USERS=true | Qualquer remetente é aceito. Só use em um endereço privado que nunca foi publicado em lugar nenhum. |
Use a allowlist explícita em qualquer deploy de verdade:
[email protected],[email protected]
Adicione o seu endereço e o punhado de pessoas autorizadas a operar o agente. Trate a allowlist como um arquivo SSH authorized_keys: pequena, revisada e, se possível, versionada num repo privado.
Passo 4: threading e anexos
Quando o Hermes responde, ele seta os headers In-Reply-To e References conforme a RFC 2822 e preserva o Subject original com um único Re: na frente (sem cadeias Re: Re: Re:). O resultado é que as respostas caem dentro da thread original no Gmail, Apple Mail, Outlook web, Spark e Fastmail. Algumas versões antigas do Outlook desktop ignoram os headers e abrem uma thread nova: isso é bug do cliente, não do agente.
Os anexos funcionam nos dois sentidos:
- Entrada: o adaptador salva os anexos em
~/.hermes/inbox/email/<message-id>/para que o agente consiga lê-los com as ferramentas de sistema de arquivos. PDFs são extraídos para texto pela skill de PDF embutida, se estiver ativa, e imagens são enviadas para modelos com visão quando o provedor configurado suporta. - Saída: skills que produzem arquivos podem anexá-los à resposta. O adaptador monta um corpo MIME multiparte para que o destinatário veja tanto o texto quanto o arquivo.
Na prática, isso quer dizer que você pode encaminhar um contrato de 40 páginas ao agente, pedir um resumo e receber a resposta na mesma thread com o resumo no corpo. Combine isso com a memória persistente de Memória e skills do Hermes Agent e o agente vai lembrar daquele contrato três semanas depois quando você perguntar "qual era aquele NDA que chegou em maio?".

Passo 5: valide ponta a ponta
Um smoke test de cinco minutos:
- Suba o Hermes com o novo
.env. Olhe os logs: o primeiro poll IMAP deve registrarconnectede uma linhaidle. Se aparecer535 5.7.8 Username and Password not accepted, a senha de aplicativo está errada ou tem espaços. - Mande um email simples do seu próprio endereço (que está na allowlist) para o agente. Assunto: "ping". Corpo: "o que você consegue fazer?".
- Espere um intervalo de polling. A resposta deve chegar dentro da thread, com
Re: pingno assunto. - Responda a essa resposta com uma pergunta de follow-up. O agente deve responder com o turno anterior em contexto, porque o gateway agrupa por
Message-ID. - Mande um email de um endereço que não está na allowlist. Confirme que nada volta. Confirme que os logs mostram um descarte de remetente, não um sucesso silencioso.
Se os cinco passos passarem, você tem um assistente de email funcionando.
Quando usar AgentMail no lugar de IMAP nativo
O adaptador IMAP nativo é a resposta certa para contas pessoais e times pequenos. Há um caso em que uma caixa separada faz mais sentido: construir produtos em que usuários finais mandam email para o produto e um agente responde em escala. Para esse caminho, o servidor MCP do AgentMail dá ao agente uma caixa estruturada por usuário sem encostar no seu domínio real. O custo é mais um fornecedor no caminho; o benefício é a separação por usuário e uma API limpa para analytics de produto.
Para todo o resto - seu próprio assistente, uma caixa de operações, um agente de formulários, um triador de confirmações de fornecedor - IMAP/SMTP nativo é mais rápido de montar e de graça.
Ou pule tudo isso com hosting gerenciado
Cada passo acima dá trabalho real. Senhas de aplicativo expiram quando você roda o 2FA, provedores de IMAP vez ou outra te bloqueiam por "atividade suspeita" em um login novo e um único loop de polling num notebook morre no momento em que o notebook dorme. A maior parte do suporte que um Hermes self-hosted gera é exatamente essa camada: credenciais, allowlists e uptime.
O Hermify roda o runtime do Hermes Agent como serviço gerenciado. Email, Telegram, Slack e Signal se ligam a partir de um painel, as credenciais ficam criptografadas em repouso, o loop de polling roda numa infra que não dorme e o agente mantém a memória entre sessões sem você manter nada. Se você quer a superfície de email sem ficar babá do IMAP, comece com o Hermify e pule os passos 1 ao 5 inteiros. Se quiser comparar deploy de email com outras superfícies, veja o guia de deploy no Telegram: as trade-offs são parecidas.
Fontes
Lance seu próprio agente Hermes
Traga sua chave de API, conecte o Telegram e tenha um agente de IA que evolui sozinho no ar em 60 segundos.
Começar agora