Email — L'IA envoie et reçoit des messages
Email — AI Sends and Receives Mail — easy-to-understand guide based on official docs
Email — L’IA envoie et reçoit des messages
Imaginez ceci : vous envoyez un email à votre agent IA, et il vous répond — directement dans le même fil de discussion. Pas d’application de chat sophistiquée, pas d’API de bot, pas de logiciel supplémentaire. Juste du bon vieil email. C’est exactement ce que fait l’adaptateur de passerelle Email pour Hermes.
Dans cet article, nous allons voir comment le configurer, comment il fonctionne en coulisses, et comment garder votre boîte de réception sécurisée.
Pourquoi l’Email ?
L’email est universel. Tout le monde a une adresse. En branchant Hermes sur votre boîte mail via les protocoles standard IMAP (pour la réception) et SMTP (pour l’envoi), vous obtenez une IA conversationnelle qui fonctionne avec Gmail, Outlook, Yahoo, Fastmail, ou tout autre fournisseur supportant ces protocoles.
Et voici le meilleur : zéro dépendance externe. L’adaptateur utilise les modules imaplib, smtplib et email intégrés à Python. Pas de paquets supplémentaires, pas de services tiers.
Note : Ceci est différent de la compétence Himalaya incluse, qui permet à l’agent de gérer votre boîte mail via des commandes terminal. Celle-ci nécessite le CLI externe
himalaya. Cet adaptateur de passerelle est la solution plus simple et autonome.
Avant de Commencer
Vous aurez besoin de trois choses :
- Une adresse email dédiée pour votre agent (merci de ne pas utiliser votre boîte personnelle)
- IMAP activé sur ce compte
- Un mot de passe d’application si vous utilisez Gmail ou tout fournisseur avec authentification à deux facteurs
Pour Gmail : activez la 2FA, puis créez un mot de passe d’application sur myaccount.google.com/apppasswords. Vous obtiendrez un mot de passe de 16 caractères — utilisez-le à la place de votre mot de passe habituel.
Pour Outlook/Microsoft 365 : activez la 2FA, créez un mot de passe d’application sous « Options de sécurité supplémentaires », et utilisez outlook.office365.com pour IMAP et smtp.office365.com pour SMTP.
Pour les autres fournisseurs, consultez leur documentation pour les hôtes et ports IMAP/SMTP (généralement 993 pour IMAP SSL, 587 pour SMTP STARTTLS).
Étape 1 : Configurer Hermes
Le plus simple est d’utiliser l’assistant de configuration :
hermes gateway setup
Sélectionnez Email dans le menu et suivez les instructions. Il vous demandera votre adresse, le mot de passe d’application, les hôtes IMAP/SMTP, et les expéditeurs autorisés.
Vous préférez la configuration manuelle ? Ajoutez ceci à ~/.hermes/.env :
# Requis
EMAIL_ADDRESS=hermes@gmail.com
EMAIL_PASSWORD=abcd efgh ijkl mnop # Mot de passe d'application, pas votre mot de passe habituel
EMAIL_IMAP_HOST=imap.gmail.com
EMAIL_SMTP_HOST=smtp.gmail.com
# Sécurité (recommandé)
EMAIL_ALLOWED_USERS=your@email.com,colleague@work.com
# Optionnel
EMAIL_IMAP_PORT=993 # Défaut : 993
EMAIL_SMTP_PORT=587 # Défaut : 587
EMAIL_POLL_INTERVAL=15 # Secondes entre les vérifications de la boîte de réception
EMAIL_HOME_ADDRESS=your@email.com # Destination par défaut pour les tâches cron
Étape 2 : Démarrer la Passerelle
hermes gateway # Exécuter au premier plan
hermes gateway install # Installer comme service utilisateur
sudo hermes gateway install --system # Linux : service système au démarrage
Au démarrage, l’adaptateur teste les connexions IMAP et SMTP, marque tous les messages existants de la boîte de réception comme « lus » (afin de ne traiter que les nouveaux emails), et commence à interroger la boîte.
Comment Ça Fonctionne
Réception des messages. L’adaptateur vérifie les emails NON LUS toutes les 15 secondes par défaut. Pour chaque nouveau message :
- La ligne d’objet est incluse comme contexte (ex. :
[Subject: Deploy to production]) - Les réponses (objet commençant par
Re:) omettent le préfixe d’objet — le contexte du fil est déjà là - Les pièces jointes sont mises en cache localement : les images deviennent disponibles pour l’outil de vision, les documents comme les PDF et ZIP pour l’accès aux fichiers
- Les emails en HTML uniquement sont nettoyés de leurs balises pour une extraction en texte brut
- Les auto-messages sont filtrés pour éviter les boucles de réponse
- Les expéditeurs automatisés sont ignorés silencieusement —
noreply@,mailer-daemon@,bounce@, et les emails avec les en-têtesAuto-Submitted,Precedence: bulk, ouList-Unsubscribe
Envoi des réponses. Les réponses partent via SMTP avec un bon threading : les en-têtes In-Reply-To et References maintiennent la conversation groupée, l’objet conserve son préfixe Re: (pas de double Re: Re:), et les réponses sont envoyées en texte brut UTF-8.
Pièces jointes. Vous voulez que l’agent vous envoie un fichier en retour ? Il suffit d’inclure MEDIA:/chemin/vers/fichier dans sa réponse et il sera joint automatiquement.
Ignorer les pièces jointes. Vous craignez les malwares ou la bande passante ? Ajoutez ceci à config.yaml :
platforms:
email:
skip_attachments: true
Le corps du texte de l’email est toujours traité normalement — seules les pièces jointes sont ignorées.
Contrôle d’Accès : Strict par Défaut
L’email est plus verrouillé que les plateformes de chat par conception :
EMAIL_ALLOWED_USERSdéfini → seuls les emails provenant de ces adresses sont traités- Pas de liste blanche → les expéditeurs inconnus sont ignorés silencieusement
EMAIL_ALLOW_ALL_USERS=true→ tout expéditeur est accepté (à utiliser avec prudence !)platforms.email.unauthorized_dm_behavior: pair→ les expéditeurs inconnus reçoivent un code d’appairage
La règle d’or : utilisez une boîte de réception dédiée et configurez toujours EMAIL_ALLOWED_USERS. L’appairage par email est facultatif car les boîtes partagées contiennent souvent des messages non lus sans rapport — Hermes ne devrait pas répondre à ces contacts par défaut.
Dépannage
| Problème | Solution |
|---|---|
| « Échec de la connexion IMAP » au démarrage | Vérifiez EMAIL_IMAP_HOST et EMAIL_IMAP_PORT. Assurez-vous qu’IMAP est activé sur le compte (Gmail : Paramètres → Transfert et POP/IMAP) |
Pour Conclure
L’adaptateur de passerelle Email transforme n’importe quelle boîte mail standard en canal de communication pour votre agent IA. Aucune dépendance externe, aucun client spécial — juste IMAP, SMTP, et un peu de configuration. Créez un compte dédié, verrouillez vos expéditeurs autorisés, et laissez les emails circuler.
Bon emailing ! 📧
📖 Documentation officielle
Cet article est basé sur la documentation officielle de Hermes Agent :Docs officiels › user-guide/messaging/email