Zurück zum Blog
HermesEmailIMAPAI Agents

Hermes Agent als E-Mail-Assistenten betreiben

Richten Sie Hermes Agent mit IMAP und SMTP als E-Mail-Assistenten ein. App-Passwörter, Allowlist-Sicherheit, Threading, Anhänge und verwaltete Optionen.

Von Hermify Team||8 Min. Lesezeit
Symbol eines E-Mail-Umschlags neben einer Terminal-Eingabeaufforderung, das darstellt, wie Hermes Agent E-Mails über IMAP und SMTP beantwortet

Warum E-Mail eine unterschätzte Schnittstelle für einen KI-Agenten ist

Telegram, Slack und Discord erhalten die meiste Aufmerksamkeit, wenn die Rede davon ist, einen KI-Agenten auf einer echten Oberfläche bereitzustellen. E-Mail ist älter und stiller, aber sie hat eine Eigenschaft, die den Chat-Apps fehlt: Jedes Gerät auf dem Planeten beherrscht sie bereits von Haus aus, und jeder Arbeitsablauf, den Sie schon haben - Tickets, Rechnungen, Benachrichtigungen, Eingangsformulare, Lieferantenbestätigungen - landet irgendwann in einem Posteingang.

Hermes Agent als E-Mail-Assistenten zu betreiben, verwandelt diesen Posteingang in eine Konversation. Sie leiten einen Thread an Ihren Agenten weiter, er liest den vollständigen Kontext und antwortet im selben Thread mit demselben dauerhaften Gedächtnis, das er auf Telegram oder im Terminal verwendet. Kein neuer Client, keine API zum Aufrufen, keine zusätzliche App, die die Personen installieren müssen, an die Sie Nachrichten weiterleiten.

Diese Anleitung führt Sie durch die genaue Einrichtung: dediziertes E-Mail-Konto, App-Passwort, die EMAIL_*-Variablen, die Hermes erwartet, die Allowlist, die Fremde fernhält, und die Threading-Regeln, die Antworten menschlich wirken lassen. Am Ende können Sie mit Hermify starten, falls Sie die verwaltete Version bevorzugen, statt IMAP-Zugangsdaten von Hand zu verwalten.

Was der E-Mail-Adapter tatsächlich ist

Hermes liefert ein E-Mail-Gateway, das auf den Python-Standardmodulen imaplib, smtplib und email aufbaut. Es gibt keine zusätzlichen Pakete, kein Drittanbieter-SaaS im Pfad und keinen Message Broker davor. Der Adapter ist eine Polling-Schleife, die:

  1. Sich über SSL mit Ihrem IMAP-Server verbindet.
  2. UNSEEN-Nachrichten in einem konfigurierbaren Intervall aus dem Posteingang abruft.
  3. Den Nachrichtentext (und alle erlaubten Anhänge) als Benutzernachricht an die Agenten-Laufzeitumgebung übergibt.
  4. Die Antwort per SMTP mit korrekten In-Reply-To- und References-Headern zurücksendet, sodass der Thread zusammenhängend bleibt.

Da er rohes IMAP und SMTP spricht, funktioniert er mit Gmail, Outlook, Yahoo, Fastmail, ProtonMail Bridge, Migadu oder jedem Anbieter, der die Standardports bereitstellt. Im Adapter selbst gibt es nichts Gmail-Spezifisches, was bedeutet, dass Sie Anbieter wechseln können, ohne den Agenten anzufassen.

Diagramm, das zeigt, wie E-Mails in einen IMAP-Posteingang fließen, durch die Hermes-Laufzeitumgebung laufen und über SMTP wieder hinausgehen

Bevor Sie beginnen: immer ein dediziertes Konto

Richten Sie Hermes nicht auf Ihre persönliche E-Mail aus. Drei Gründe:

  • Die IMAP-Zugangsdaten liegen im Klartext in .env. Jeder, der diese Datei liest, kann jede Nachricht lesen, die Sie jemals an dieser Adresse erhalten haben.
  • Der Adapter hat per Design vollen Lesezugriff auf den Posteingang. Ein Fehler in einem Skill könnte theoretisch Nachrichten als gelesen markieren, Entwürfe löschen oder Inhalte weiterleiten.
  • Kaltstarts, Wiederholungen und Zeitversatz können doppelte Antworten erzeugen. Die wollen Sie nicht in einem Thread mit Ihrem CEO landen sehen.

Erstellen Sie eine frische Adresse: [email protected], [email protected] oder etwas anderes, dessen Verlust nichts kostet. Leiten Sie die Nachrichten, die der Agent tatsächlich sehen soll, aus Ihrem echten Posteingang an diese Adresse weiter, mithilfe eines Gmail-Filters oder einer Outlook-Regel. Das gibt Ihnen eine harte Grenze zwischen „Dingen, die der Agent anfassen darf" und „allem anderen".

Schritt 1: Ein Gmail-App-Passwort erzeugen (oder das Äquivalent)

Wenn Sie Gmail verwenden, benötigt der IMAP/SMTP-Pfad ein App-Passwort, nicht Ihr normales Anmeldepasswort. Google hat im Januar 2025 die Möglichkeit entfernt, IMAP zu deaktivieren, daher ist es standardmäßig aktiviert, aber „Weniger sichere Apps" funktioniert nicht mehr und OAuth ist für ein einzelnes Konto überdimensioniert.

Der Ablauf:

  1. Aktivieren Sie die Bestätigung in zwei Schritten unter myaccount.google.com/security. App-Passwörter erscheinen erst, wenn 2FA aktiviert ist.
  2. Rufen Sie myaccount.google.com/apppasswords auf.
  3. Erzeugen Sie ein Passwort für „Mail". Google gibt eine 16-stellige Zeichenfolge in vier Viererblöcken zurück.
  4. Kopieren Sie es ohne die Leerzeichen. Die Leerzeichen sind nur visuell und brechen einige Clients.

Für Outlook/Microsoft 365 befindet sich das Äquivalent unter account.microsoft.com/security bei „App-Passwörter" (Sie benötigen ebenfalls 2FA). Für Fastmail erzeugen Sie ein App-spezifisches Passwort unter Einstellungen > Password & Security. Für selbst gehostetes Postfix/Dovecot verwenden Sie einfach das SMTP/IMAP-Passwort, das Sie beim Einrichten des Postfachs festgelegt haben.

Schritt 2: Die Hermes-E-Mail-Variablen einrichten

Der E-Mail-Adapter wird vollständig über EMAIL_*-Umgebungsvariablen konfiguriert. Das minimal funktionsfähige Setup für Gmail ist:

# 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 ist die Rate, in der der Adapter IMAP nach ungelesenen Nachrichten fragt. Der Standardwert von 15 Sekunden ist ein guter Kompromiss: niedrig genug, um reaktionsschnell zu wirken, hoch genug, dass Gmail Sie nicht zu drosseln beginnt. Wenn Sie ihn unter 5 Sekunden drücken, wird Google irgendwann temporäre Authentifizierungsfehler zurückgeben, und Sie werden eine Stunde damit verbringen, „falsches Passwort"-Fehler zu debuggen, die nichts mit dem Passwort zu tun haben.

Tragen Sie diese Variablen in .env ein (die Datei, die Hermes beim Start lädt) und führen Sie chmod 600 .env aus, damit sie nicht für alle lesbar ist. Wenn Sie Hermes in Docker betreiben, binden Sie die Datei schreibgeschützt ein und backen Sie niemals Zugangsdaten in das Image ein.

Schritt 3: Den Posteingang mit einer Allowlist absichern

Dies ist der einzige wichtigste Sicherheitsschritt der gesamten Einrichtung und derjenige, den die meisten Tutorials überspringen.

Standardmäßig antwortet ein Hermes-Agent, der auf E-Mail lauscht, jedem, der ihm eine E-Mail schreibt. Wenn Ihre Adresse [email protected] lautet, kann jeder, der diese Zeichenfolge errät, abgreift oder durch ein Leck erhält, Befehle senden. E-Mail ist öffentlich adressierbar. Es gibt kein Äquivalent zu Telegrams Filter „Nutzer müssen zuerst einen Chat starten".

Hermes bietet drei Modi:

Modus Verhalten
[email protected],[email protected] Nur diese Adressen werden verarbeitet. Alles andere wird stillschweigend verworfen.
Nicht gesetzt Unbekannte Absender erhalten einen einmaligen Kopplungscode, mit dem sie antworten müssen, um aufgenommen zu werden.
EMAIL_ALLOW_ALL_USERS=true Jeder Absender wird akzeptiert. Verwenden Sie dies nur bei einer privaten, niemals veröffentlichten Adresse.

Wählen Sie für jede echte Bereitstellung die explizite Allowlist:

[email protected],[email protected]

Fügen Sie sich selbst sowie die Handvoll Personen hinzu, die den Agenten steuern dürfen. Behandeln Sie die Allowlist so, wie Sie eine SSH-authorized_keys-Datei behandeln - klein, geprüft und nach Möglichkeit in einem privaten Repository versioniert.

Schritt 4: Threading und Anhänge

Wenn Hermes antwortet, setzt es In-Reply-To- und References-Header gemäß RFC 2822 und bewahrt den ursprünglichen Subject mit einem einzigen vorangestellten Re: (keine Re: Re: Re:-Ketten). Das Ergebnis ist, dass Antworten in Gmail, Apple Mail, Outlook Web, Spark und Fastmail innerhalb des ursprünglichen Threads landen. Einige ältere Outlook-Desktop-Versionen ignorieren die Header und beginnen trotzdem einen neuen Thread - das ist ein Client-Fehler, kein Agenten-Fehler.

Anhänge funktionieren in beide Richtungen:

  • Eingehend: Der Adapter speichert Anhänge unter ~/.hermes/inbox/email/<message-id>/, damit der Agent sie mit seinen Dateisystem-Tools lesen kann. PDFs werden über den mitgelieferten PDF-Skill in Text extrahiert, sofern dieser aktiviert ist, und Bilder werden an Modelle mit Bildverarbeitung übergeben, wenn der konfigurierte Anbieter dies unterstützt.
  • Ausgehend: Skills, die Dateien erzeugen, können sie der Antwort anhängen. Der Adapter setzt einen mehrteiligen MIME-Body, sodass Empfänger sowohl die Textantwort als auch die Datei sehen.

Die praktische Folge ist, dass Sie einen 40-seitigen Vertrag an Ihren Agenten weiterleiten, ihn um eine Zusammenfassung bitten und im selben Thread eine Antwort mit der Zusammenfassung im Text erhalten können. Kombinieren Sie das mit dem dauerhaften Gedächtnis aus Hermes Agent Gedächtnis und Skills, und der Agent erinnert sich drei Wochen später an den Vertrag, wenn Sie fragen „Was war das NDA, das wir im Mai erhalten haben".

Fotorealistische Aufnahme eines Serverraum-Racks mit einer einzelnen beleuchteten Höheneinheit, die einen ruhigen, stets aktiven Posteingangs-Listener andeutet

Schritt 5: Durchgängig verifizieren

Ein fünfminütiger Rauchtest:

  1. Starten Sie Hermes mit der neuen .env. Beobachten Sie die Logs - das erste IMAP-Polling sollte connected und eine idle-Zeile protokollieren. Wenn Sie 535 5.7.8 Username and Password not accepted sehen, ist Ihr App-Passwort falsch oder enthält Leerzeichen.
  2. Senden Sie eine einfache E-Mail von Ihrer eigenen (in der Allowlist eingetragenen) Adresse an den Agenten. Betreff: „ping". Text: „What can you do?".
  3. Warten Sie ein Polling-Intervall ab. Die Antwort sollte im selben Thread eintreffen, mit Re: ping als Betreff.
  4. Antworten Sie auf diese Antwort mit einer Folgefrage. Der Agent sollte mit dem vorherigen Schritt im Kontext reagieren, da das Gateway anhand der Message-ID threadet.
  5. Senden Sie eine E-Mail von einer nicht in der Allowlist eingetragenen Adresse. Vergewissern Sie sich, dass nichts zurückkommt. Vergewissern Sie sich, dass die Logs einen Eintrag über einen verworfenen Absender zeigen, nicht einen stillen Erfolg.

Wenn alle fünf bestehen, haben Sie einen funktionierenden E-Mail-Assistenten.

Wann Sie AgentMail statt des nativen IMAP verwenden sollten

Der native IMAP-Adapter ist die richtige Antwort für persönliche Konten und kleine Teams. Es gibt einen Fall, in dem ein separater Posteingang mehr Sinn ergibt: das Erstellen nutzerorientierter Apps, bei denen Endbenutzer E-Mails an Ihr Produkt senden und ein Agent ihnen im großen Maßstab antwortet. Für diesen Weg gibt der AgentMail MCP server dem Agenten einen strukturierten Posteingang pro Benutzer, ohne Ihre echte Domain anzufassen. Der Kompromiss ist ein weiterer Anbieter im Pfad; der Vorteil ist die Trennung pro Benutzer und eine saubere API für Produktanalysen.

Für alles andere - Ihren eigenen Assistenten, ein Ops-Postfach, einen Agenten für eingehende Formulare, einen Triagierer für Lieferantenbestätigungen - ist natives IMAP/SMTP schneller einzurichten und kostenlos.

Oder überspringen Sie all das mit verwaltetem Hosting

Jeder Schritt oben ist echte Arbeit. App-Passwörter laufen ab, wenn Sie 2FA rotieren, IMAP-Anbieter sperren Sie gelegentlich wegen „verdächtiger Aktivität" bei einer frischen Anmeldung aus, und eine einzelne Polling-Schleife auf einem Laptop stirbt in dem Moment, in dem der Laptop in den Ruhezustand geht. Die meiste Support-Last bei selbst gehosteten Hermes-Bereitstellungen ist genau diese Ebene: Zugangsdaten, Allowlists und Verfügbarkeit.

Hermify betreibt die Hermes Agent-Laufzeitumgebung als verwalteten Dienst. E-Mail, Telegram, Slack und Signal werden alle von einem Dashboard aus eingerichtet, Zugangsdaten sind im Ruhezustand verschlüsselt, die Polling-Schleife läuft auf einer Infrastruktur, die nicht schläft, und der Agent behält das Gedächtnis über Sitzungen hinweg, ohne dass Sie etwas pflegen müssen. Wenn Sie die E-Mail-Oberfläche ohne das IMAP-Babysitting möchten, starten Sie mit Hermify und überspringen Sie Schritt 1 bis Schritt 5 komplett. Wenn Sie das Bereitstellen von E-Mail mit dem Bereitstellen anderer Oberflächen vergleichen möchten, lesen Sie die Telegram-Bereitstellungsanleitung - die Kompromisse sind sehr ähnlich.

Quellen

Betreiben Sie Ihren eigenen Hermes Agent

Bringen Sie Ihren API-Schlüssel mit, verbinden Sie Telegram und erhalten Sie in 60 Sekunden einen selbstlernenden KI-Agenten.

Loslegen