Usa Hermes Agent come assistente email
Configura Hermes Agent come assistente email con IMAP e SMTP. Password per le app, sicurezza con allowlist, threading, allegati e opzioni gestite.

Perché l'email è un'interfaccia sottovalutata per un agente AI
Telegram, Slack e Discord ricevono quasi tutta l'attenzione quando si parla di distribuire un agente AI su una superficie reale. L'email è più vecchia e più silenziosa, ma ha una proprietà che le app di chat non hanno: ogni dispositivo del pianeta la parla già in modo nativo, e ogni flusso di lavoro che hai già - ticket, fatture, avvisi, moduli di richiesta, conferme dei fornitori - prima o poi finisce in una casella di posta.
Usare Hermes Agent come assistente email trasforma quella casella di posta in una conversazione. Inoltri una conversazione al tuo agente, lui legge il contesto completo e risponde nello stesso thread con la stessa memoria persistente che usa su Telegram o nel terminale. Nessun nuovo client, nessuna API da chiamare, nessuna app extra da installare per le persone a cui inoltri i messaggi.
Questa guida ti accompagna attraverso la configurazione esatta: account email dedicato, password per le app, le variabili EMAIL_* che Hermes si aspetta, l'allowlist che tiene fuori gli sconosciuti e le regole di threading che fanno sembrare umane le risposte. Alla fine puoi Iniziare con Hermify se preferisci la versione gestita invece di gestire a mano le credenziali IMAP.
Cos'è davvero l'adapter Email
Hermes include un gateway Email costruito sui moduli standard di Python imaplib, smtplib ed email. Non ci sono pacchetti extra, nessun SaaS di terze parti nel percorso e nessun message broker davanti. L'adapter è un ciclo di polling che:
- Si connette al tuo server IMAP tramite SSL.
- Estrae i messaggi
UNSEENdalla casella di posta a un intervallo configurabile. - Passa il corpo (e gli eventuali allegati consentiti) al runtime dell'agente come messaggio dell'utente.
- Invia la risposta tramite SMTP con header
In-Reply-ToeReferencescorretti, in modo che il thread resti unito.
Poiché parla IMAP e SMTP puri, funziona con Gmail, Outlook, Yahoo, Fastmail, ProtonMail Bridge, Migadu o qualsiasi provider che esponga le porte standard. Non c'è nulla di specifico per Gmail nell'adapter stesso, il che significa che puoi cambiare provider senza toccare l'agente.

Prima di iniziare: sempre un account dedicato
Non puntare Hermes alla tua email personale. Per tre motivi:
- Le credenziali IMAP risiedono in chiaro nel file
.env. Chiunque legga quel file può leggere ogni messaggio che hai mai ricevuto su quell'indirizzo. - L'adapter ha pieno accesso in lettura alla casella di posta per progettazione. Un bug in una skill potrebbe, in teoria, segnare i messaggi come letti, eliminare bozze o inoltrare contenuti.
- Avvii a freddo, retry e disallineamenti dell'orologio possono produrre risposte duplicate. Non vuoi che finiscano in un thread con il tuo CEO.
Crea un indirizzo nuovo: [email protected], [email protected] o qualsiasi altro che non costi nulla buttare via. Inoltra i messaggi che vuoi davvero far vedere all'agente verso quell'indirizzo dalla tua casella di posta reale, usando un filtro Gmail o una regola di Outlook. Questo ti dà un confine netto tra "le cose che l'agente può toccare" e "tutto il resto".
Passo 1: genera una password per le app di Gmail (o l'equivalente)
Se usi Gmail, il percorso IMAP/SMTP ha bisogno di una password per le app, non della tua normale password di accesso. Google ha rimosso la possibilità di disattivare IMAP a gennaio 2025, quindi è attivo per impostazione predefinita, ma le App meno sicure non funzionano più e OAuth è eccessivo per un singolo account.
Il flusso:
- Attiva la verifica in due passaggi su
myaccount.google.com/security. Le password per le app non compaiono finché la 2FA non è attiva. - Vai su
myaccount.google.com/apppasswords. - Genera una password per "Mail". Google restituisce una stringa di 16 caratteri in quattro blocchi da quattro.
- Copiala rimuovendo gli spazi. Gli spazi sono solo visivi e mandano in errore alcuni client.
Per Outlook/Microsoft 365, l'equivalente si trova su account.microsoft.com/security sotto "App passwords" (serve anche la 2FA). Per Fastmail, genera una password per singola app sotto Settings > Password & Security. Per Postfix/Dovecot self-hosted, usa semplicemente la password SMTP/IMAP che hai impostato quando hai creato la casella di posta.
Passo 2: collega le variabili Email di Hermes
L'adapter Email si configura interamente tramite le variabili d'ambiente EMAIL_*. La configurazione minima funzionante per Gmail è:
# Identity
[email protected]
EMAIL_PASSWORD=abcd1234efgh5678 # 16-char app password, no spaces
# IMAP (incoming)
EMAIL_IMAP_HOST=imap.gmail.com
EMAIL_IMAP_PORT=993 # SSL
# SMTP (outgoing)
EMAIL_SMTP_HOST=smtp.gmail.com
EMAIL_SMTP_PORT=587 # STARTTLS
# Polling
EMAIL_POLL_INTERVAL=15 # seconds
EMAIL_POLL_INTERVAL è la frequenza con cui l'adapter chiede a IMAP i messaggi non letti. Il valore predefinito di 15 secondi è un buon equilibrio: abbastanza basso da risultare reattivo, abbastanza alto da non far iniziare a Gmail a limitarti. Se lo porti sotto i 5 secondi, Google finirà per restituire errori di autenticazione temporanei e passerai un'ora a fare il debug di errori "password sbagliata" che non hanno niente a che fare con la password.
Inserisci quelle variabili nel file .env (il file che Hermes carica all'avvio) ed esegui chmod 600 .env in modo che non sia leggibile da tutti. Se esegui Hermes in Docker, monta il file in sola lettura e non incorporare mai le credenziali nell'immagine.
Passo 3: blocca la casella di posta con un'allowlist
Questo è il singolo passaggio di sicurezza più importante dell'intera configurazione, ed è quello che la maggior parte dei tutorial salta.
Per impostazione predefinita, un agente Hermes in ascolto sull'email risponderà a chiunque gli scriva. Se il tuo indirizzo è [email protected], chiunque indovini, faccia trapelare o raccolga quella stringa può inviare comandi. L'email è indirizzabile pubblicamente. Non esiste un equivalente del filtro di Telegram "gli utenti devono prima avviare una chat".
Hermes espone tre modalità:
| Modalità | Comportamento |
|---|---|
[email protected],[email protected] |
Vengono elaborati solo quegli indirizzi. Tutto il resto viene scartato silenziosamente. |
| Non impostata | I mittenti sconosciuti ricevono un codice di abbinamento monouso a cui devono rispondere per essere registrati. |
EMAIL_ALLOW_ALL_USERS=true |
Qualsiasi mittente viene accettato. Usala solo su un indirizzo privato, mai pubblicato. |
Scegli l'allowlist esplicita per qualsiasi distribuzione reale:
[email protected],[email protected]
Aggiungi te stesso più la manciata di persone autorizzate a guidare l'agente. Tratta l'allowlist come tratteresti un file SSH authorized_keys: piccolo, revisionato e, se possibile, versionato in un repository privato.
Passo 4: threading e allegati
Quando Hermes risponde, imposta gli header In-Reply-To e References secondo l'RFC 2822 e conserva l'Subject originale preceduto da un singolo Re: (niente catene Re: Re: Re:). Il risultato è che le risposte finiscono all'interno del thread originale in Gmail, Apple Mail, Outlook web, Spark e Fastmail. Alcune versioni desktop più vecchie di Outlook ignorano gli header e avviano comunque un nuovo thread: questo è un bug del client, non dell'agente.
Gli allegati funzionano in entrambe le direzioni:
- In entrata: l'adapter salva gli allegati in
~/.hermes/inbox/email/<message-id>/così che l'agente possa leggerli con i suoi strumenti per il filesystem. I PDF vengono estratti in testo tramite la skill PDF inclusa se è abilitata, e le immagini vengono passate ai modelli con capacità di visione quando il provider configurato le supporta. - In uscita: le skill che producono file possono allegarli alla risposta. L'adapter imposta un corpo MIME multipart così che i destinatari vedano sia la risposta testuale sia il file.
L'implicazione pratica è che puoi inoltrare al tuo agente un contratto di 40 pagine, chiedergli un riassunto e ricevere una risposta nello stesso thread con il riassunto in linea. Combinalo con la memoria persistente descritta in memoria e skill di Hermes Agent e l'agente ricorderà il contratto tre settimane dopo, quando gli chiederai "qual era quell'NDA che abbiamo ricevuto a maggio".

Passo 5: verifica end-to-end
Un test rapido di cinque minuti:
- Avvia Hermes con il nuovo file
.env. Osserva i log: il primo polling IMAP dovrebbe registrare una rigaconnectede unaidle. Se vedi535 5.7.8 Username and Password not accepted, la tua password per le app è sbagliata o contiene spazi. - Invia una semplice email dal tuo indirizzo (incluso nell'allowlist) all'agente. Oggetto: "ping". Corpo: "What can you do?".
- Aspetta un intervallo di polling. La risposta dovrebbe arrivare nello stesso thread, con
Re: pingcome oggetto. - Rispondi a quella risposta con una domanda di follow-up. L'agente dovrebbe rispondere con il turno precedente nel contesto, perché il gateway organizza i thread in base al
Message-ID. - Invia un'email da un indirizzo non incluso nell'allowlist. Verifica che non torni nulla. Verifica che i log mostrino una voce di mittente scartato, non un successo silenzioso.
Se tutti e cinque i passaggi vanno a buon fine, hai un assistente email funzionante.
Quando usare AgentMail invece di IMAP nativo
L'adapter IMAP nativo è la risposta giusta per account personali e piccoli team. C'è un caso in cui una casella di posta separata ha più senso: la creazione di app rivolte agli utenti, dove gli utenti finali inviano la posta al tuo prodotto e un agente risponde loro su larga scala. Per quel percorso, il server MCP di AgentMail dà all'agente una casella di posta strutturata per ogni utente senza toccare il tuo dominio reale. Il compromesso è un fornitore in più nel percorso; il vantaggio è la separazione per utente e un'API pulita per l'analisi del prodotto.
Per tutto il resto - il tuo assistente personale, una casella di posta operativa, un agente per i moduli in entrata, un triager delle conferme dei fornitori - IMAP/SMTP nativo è più veloce da configurare e gratuito.
Oppure salta tutto questo con l'hosting gestito
Ogni passaggio sopra è lavoro vero. Le password per le app scadono quando ruoti la 2FA, i provider IMAP a volte ti bloccano per "attività sospetta" su un accesso nuovo, e un singolo ciclo di polling su un portatile muore nel momento in cui il portatile va in sospensione. Gran parte del carico di assistenza sulle distribuzioni self-hosted di Hermes è esattamente questo livello: credenziali, allowlist e uptime.
Hermify esegue il runtime di Hermes Agent come servizio gestito. Email, Telegram, Slack e Signal si collegano tutti da una dashboard, le credenziali sono cifrate a riposo, il ciclo di polling gira su un'infrastruttura che non va mai in sospensione e l'agente mantiene la memoria tra le sessioni senza che tu debba gestire nulla. Se vuoi la superficie email senza dover fare da babysitter a IMAP, Inizia con Hermify e salta interamente dal Passo 1 al Passo 5. Se vuoi confrontare la distribuzione dell'email con la distribuzione di altre superfici, consulta la guida alla distribuzione su Telegram: i compromessi sono molto simili.
Fonti
Avvia il tuo Hermes Agent
Porta la tua chiave API, collega Telegram e ottieni un agente IA che migliora da solo, online in 60 secondi.
Inizia ora