Email — L'IA Invia e Riceve Mail
Email — AI Sends and Receives Mail — easy-to-understand guide based on official docs
Email — L’IA Invia e Riceve Mail
Immagina questo: invii un’email al tuo agente AI, e lui ti risponde — direttamente nella stessa conversazione. Niente app di chat sofisticate, niente API bot, niente software aggiuntivo. Solo la buona vecchia email. È esattamente ciò che l’adattatore gateway Email fa per Hermes.
In questo articolo, vedremo come configurarlo, come funziona internamente e come mantenere al sicuro la tua casella di posta.
Perché l’Email?
L’email è universale. Tutti hanno un indirizzo. Collegando Hermes alla tua casella di posta tramite IMAP standard (per la ricezione) e SMTP (per l’invio), ottieni un’IA conversazionale che funziona con Gmail, Outlook, Yahoo, Fastmail o qualsiasi provider che supporti questi protocolli.
E la parte migliore: zero dipendenze esterne. L’adattatore usa i moduli integrati di Python imaplib, smtplib ed email. Niente pacchetti aggiuntivi, niente servizi di terze parti.
Nota: Questo è diverso dalla skill email Himalaya inclusa, che permette all’agente di gestire la tua casella di posta tramite comandi da terminale. Quella richiede la CLI esterna
himalaya. Questo adattatore gateway è il percorso più semplice e autonomo.
Prima di Iniziare
Ti serviranno tre cose:
- Un account email dedicato per il tuo agente (per favore, non usare la tua casella personale)
- IMAP abilitato su quell’account
- Una password per app se usi Gmail o qualsiasi provider con autenticazione a due fattori
Per Gmail: attiva la 2FA, poi crea una Password per App su myaccount.google.com/apppasswords. Otterrai una password di 16 caratteri — usala al posto di quella normale.
Per Outlook/Microsoft 365: attiva la 2FA, crea una password per app sotto “Opzioni di sicurezza aggiuntive” e usa outlook.office365.com per IMAP e smtp.office365.com per SMTP.
Per altri provider, controlla la loro documentazione per host e porte IMAP/SMTP (di solito 993 per IMAP SSL, 587 per SMTP STARTTLS).
Passo 1: Configura Hermes
Il modo più semplice è la procedura guidata:
hermes gateway setup
Seleziona Email dal menu e segui le istruzioni. Ti chiederà indirizzo, password per app, host IMAP/SMTP e mittenti consentiti.
Preferisci la configurazione manuale? Aggiungi questo a ~/.hermes/.env:
# Obbligatorio
EMAIL_ADDRESS=hermes@gmail.com
EMAIL_PASSWORD=abcd efgh ijkl mnop # Password per app, non quella normale
EMAIL_IMAP_HOST=imap.gmail.com
EMAIL_SMTP_HOST=smtp.gmail.com
# Sicurezza (consigliato)
EMAIL_ALLOWED_USERS=your@email.com,colleague@work.com
# Opzionale
EMAIL_IMAP_PORT=993 # Default: 993
EMAIL_SMTP_PORT=587 # Default: 587
EMAIL_POLL_INTERVAL=15 # Secondi tra i controlli della casella
EMAIL_HOME_ADDRESS=your@email.com # Destinazione predefinita per i cron job
Passo 2: Avvia il Gateway
hermes gateway # Esegui in primo piano
hermes gateway install # Installa come servizio utente
sudo hermes gateway install --system # Linux: servizio di sistema all'avvio
All’avvio, l’adattatore testa sia le connessioni IMAP che SMTP, segna tutti i messaggi esistenti nella casella come “letti” (così elabora solo le nuove email) e inizia il polling.
Come Funziona
Ricezione dei messaggi. L’adattatore controlla le email NON LETTE ogni 15 secondi di default. Per ogni nuovo messaggio:
- La riga dell’oggetto viene inclusa come contesto (es.,
[Subject: Deploy to production]) - Le risposte (oggetto che inizia con
Re:) saltano il prefisso dell’oggetto — il contesto della conversazione è già presente - Gli allegati vengono salvati in cache localmente: le immagini diventano disponibili per lo strumento di visione, i documenti come PDF e ZIP per l’accesso ai file
- Le email solo HTML vengono ripulite dai tag per l’estrazione del testo semplice
- I messaggi auto-generati vengono filtrati per prevenire loop di risposta
- I mittenti automatici vengono ignorati silenziosamente —
noreply@,mailer-daemon@,bounce@e le email con headerAuto-Submitted,Precedence: bulkoList-Unsubscribe
Invio delle risposte. Le risposte partono via SMTP con un threading corretto: gli header In-Reply-To e References mantengono la conversazione unita, l’oggetto mantiene il prefisso Re: (niente doppi Re: Re:), e le risposte vengono inviate come testo semplice UTF-8.
Allegati di file. Vuoi che l’agente ti invii un file? Basta includere MEDIA:/percorso/al/file nella sua risposta e verrà allegato automaticamente.
Saltare gli allegati. Preoccupato per malware o larghezza di banda? Aggiungi questo a config.yaml:
platforms:
email:
skip_attachments: true
Il testo del corpo dell’email viene comunque elaborato normalmente — solo gli allegati vengono ignorati.
Controllo degli Accessi: Sii Severo di Default
L’email è più protetta delle piattaforme di chat per design:
EMAIL_ALLOWED_USERSimpostato → vengono elaborate solo le email da quegli indirizzi- Nessuna lista consentita impostata → i mittenti sconosciuti vengono ignorati silenziosamente
EMAIL_ALLOW_ALL_USERS=true→ qualsiasi mittente viene accettato (usare con cautela!)platforms.email.unauthorized_dm_behavior: pair→ i mittenti sconosciuti ricevono un codice di associazione
La regola d’oro: usa una casella dedicata e configura sempre EMAIL_ALLOWED_USERS. L’associazione via email è opt-in perché le caselle condivise contengono spesso messaggi non letti non correlati — Hermes non dovrebbe rispondere a quei contatti di default.
Risoluzione dei Problemi
| Problema | Soluzione |
|---|---|
| “Connessione IMAP fallita” all’avvio | Verifica EMAIL_IMAP_HOST e EMAIL_IMAP_PORT. Assicurati che IMAP sia abilitato sull’account (Gmail: Impostazioni → Inoltro e POP/IMAP) |
Conclusioni
L’adattatore gateway Email trasforma qualsiasi casella di posta standard in un canale di comunicazione per il tuo agente AI. Niente dipendenze esterne, niente client speciali — solo IMAP, SMTP e un po’ di configurazione. Crea un account dedicato, blocca i mittenti consentiti e lascia fluire le email.
Buona posta! 📧
📖 Documentazione ufficiale
この記事は Hermes Agent のDocumentazione ufficialeに基づいています:Documentazione ufficiale › user-guide/messaging/email