🤖HermesBlog
Hermes Messaging Platforms · Partie 78/9/2026

Email — L'IA envoie et reçoit des messages

Email — AI Sends and Receives Mail — easy-to-understand guide based on official docs

messaging-email

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 :

  1. Une adresse email dédiée pour votre agent (merci de ne pas utiliser votre boîte personnelle)
  2. IMAP activé sur ce compte
  3. 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êtes Auto-Submitted, Precedence: bulk, ou List-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 :

  1. EMAIL_ALLOWED_USERS défini → seuls les emails provenant de ces adresses sont traités
  2. Pas de liste blanche → les expéditeurs inconnus sont ignorés silencieusement
  3. EMAIL_ALLOW_ALL_USERS=true → tout expéditeur est accepté (à utiliser avec prudence !)
  4. 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