Zur Dokumentation springen
CLI

Mail

Mit jedem Body und Anhängen senden, das Postfach lesen und durchsuchen, antworten, Threads ablegen und Wegwerf-Postfächer nutzen.

Senden

Terminal
openemail send --to [email protected] --subject "Lunch?" --text "Thursday at noon works for me."

Der Body kommt aus der ersten dieser Quellen, die vorhanden ist:

  1. --text und --html, auch beide zusammen, wenn Sie beide Teile wollen.
  2. --body-file <path>. Eine .html- oder .htm-Datei wird als HTML gesendet, alles andere als Text, und - liest stdin.
  3. Was über stdin kommt. Eingabe, die mit einem HTML-Tag beginnt, wird als HTML gesendet.
  4. Ihr Editor ($VISUAL, dann $EDITOR), wenn Sie ihn in einem Terminal ausführen.

Ohne --from sendet die CLI von der einzigen Adresse, von der Sie senden können, oder lässt Sie in einem Terminal eine wählen. Unbeaufsichtigt und mit mehr als einer bricht sie ab und verlangt --from. In einem Terminal sehen Sie eine Zusammenfassung und bestätigen, bevor etwas rausgeht, was --yes überspringt.

FlagWas es tut
--to, --cc, --bccEmpfänger, durch Kommas getrennt oder wiederholt. Ada Lovelace <[email protected]> funktioniert auch
--from, --reply-toDie Absenderadresse und der Reply-To-Header
-s, --subjectDie Betreffzeile
-a, --attach <path>Eine Datei anhängen. Für weitere wiederholen
--at <when>Später senden: eine ISO-Zeit wie 2026-10-01T09:00:00Z oder eine Verzögerung wie 10m, 2h, 1d oder PT1H
--undo <seconds>Einen sofortigen Versand bis zu 900 Sekunden zurückhalten, damit er noch abgebrochen werden kann
--translate <language>Die E-Mail vor dem Versand in diese Sprache übersetzen
--template <id>, --props <json>Eine gespeicherte Vorlage mit ihren Props statt eines Bodys senden
--draft <id>Einen gespeicherten Entwurf genau so senden, wie er geschrieben wurde
--thread <id>Die gesendete E-Mail in diesen Thread einordnen
--tag <key=value>Die E-Mail taggen. Für weitere wiederholen
--idempotency-key <key>Den Befehl mit demselben Schlüssel erneut auszuführen, sendet nie doppelt
Weitere Sendungen
cat report.md | openemail send --to [email protected] --subject "Weekly report" --attach chart.pngopenemail send --to [email protected] --subject "Invoice" --body-file invoice.html --translate de --at 2hopenemail send --to [email protected] --template welcome --props '{"name":"Ada"}' --tag campaign=onboarding

Er gibt die E-Mail-ID und ihren Status aus. sent, partial und failed heißen, dass der Versand innerhalb der Anfrage versucht wurde, und queued und scheduled, dass er zurückgehalten wird. Ein failed-Versand endet mit Exit-Code 1, und --json gibt die ganze E-Mail aus.

Jeder Versand trägt einen Idempotenzschlüssel, Ihren oder einen von der CLI erzeugten, sodass ein erneuter Versuch nach einer abgebrochenen Verbindung die Nachricht nie doppelt sendet. Übergeben Sie Ihren eigenen, wenn eine Pipeline denselben Schritt erneut ausführen kann.

Anhänge

--attach nimmt bis zu 20 Dateien. Solange sie zusammen höchstens 5 MB groß sind, reisen sie in der Nachricht mit. Sind sie größer, wird jede zuerst in Dateien hochgeladen, und die Nachricht verweist darauf, sodass eine große Datei keinen zusätzlichen Schritt braucht. Der Inhaltstyp ergibt sich aus der Dateiendung.

Posteingang

Terminal
openemail inboxopenemail inbox --unread --limit 50openemail inbox archive --sort oldestopenemail inbox --all --json | jq -r ".items[].id"

Listet eine Seite Threads, neueste zuerst, mit dem Zeitpunkt der letzten Bewegung, wer zuletzt schrieb, dem Betreff, den Labels und der Thread-ID. Ein Punkt markiert ungelesene Mail. Der Ordner ist der Posteingang, außer Sie nennen einen anderen: sent, archive, starred, snoozed, spam, trash, draft oder eine Label-ID wie USER_RECEIPTS.

  • -u, --unread behält Threads mit ungelesener Mail, -l, --label behält Threads mit einem Label, und -q, --query grenzt die Liste mit einer Suche ein.
  • -n, --limit legt die Seitengröße fest, von 1 bis 100 (25, wenn Sie nichts angeben). Bleibt mehr übrig, wird der nächste Cursor auf stderr für --cursor ausgegeben, und --all liest jede Seite.
  • --from-contacts behält Threads, deren neueste Nachricht von einem gespeicherten Kontakt kam, und --sort ordnet sie nach newest, oldest, sender oder subject.
  • --json gibt { items, hasMore, nextCursor } aus, mit jedem Thread vollständig.

Einen Thread lesen

Terminal
openemail read CAHk7pQ2x9LmZ4openemail read CAHk7pQ2x9LmZ4 --message -1openemail read CAHk7pQ2x9LmZ4 --html --message 1 > first.html

Gibt jede Nachricht im Thread aus, älteste zuerst: wer sie an wen schickte, wann, den Betreff, die Anhänge mit Größe und ID und den Body. Ein Klartextteil wird so gezeigt, wie er ist, und eine reine HTML-Nachricht wird in lesbaren Text umgewandelt, der Listen, Zitate, Überschriften und Links behält. Lesen markiert den Thread als gelesen, außer Sie übergeben --no-mark-read.

  • -m, --message <n> zeigt eine Nachricht, von 1 an gezählt, oder mit einer negativen Zahl von der neuesten an.
  • --html gibt stattdessen das rohe HTML aus.
  • Eine verschlüsselte Nachricht wird hier nicht entschlüsselt, öffnen Sie sie also in der Web-App.

Antworten

Terminal
openemail reply CAHk7pQ2x9LmZ4 --text "Thanks, that works for me."openemail reply CAHk7pQ2x9LmZ4 --all --attach notes.pdfecho "Confirmed." | openemail reply CAHk7pQ2x9LmZ4 --yes

Antwortet im selben Thread demjenigen, der die letzte Nachricht schickte, oder an deren Reply-To-Adresse. Ist die letzte Nachricht Ihre, geht die Antwort an die Personen, an die sie ging. --all setzt alle anderen auf dieser Nachricht in Kopie und lässt Ihre eigenen Adressen weg. Der Betreff bekommt Re:, wenn er es noch nicht hat, und die Antwort geht von der Adresse, an die der Thread zugestellt wurde, wenn Sie von ihr senden können.

Sie nimmt die Body-, Anhang-, Planungs-, Übersetzungs-, Tag- und Idempotenz-Flags von send, dazu --from und --subject, und --to, --cc und --bcc überschreiben die Empfänger.

Threads ablegen

BefehlWas es tut
archive <thread-id...>Aus dem Posteingang, weiter durchsuchbar
unarchive <thread-id...>Zurück in den Posteingang
trash <thread-id...>In den Papierkorb. Er bittet um Bestätigung, weil kein Aufruf einen Thread wieder herausholt
star, unstarDen Stern setzen oder entfernen
mark read, mark unreadThreads als gelesen oder ungelesen markieren
snooze <thread-id...> --until <when>Threads bis zu einer Zeit ausblenden oder für eine Dauer wie 3h oder 1w. Sie kommen innerhalb von etwa einer Stunde danach zurück
unsnoozeZurückgestellte Threads jetzt zurückholen
label add, remove --label <id>Labels an Threads setzen oder entfernen. openemail labels list zeigt die IDs

Jeder nimmt mehrere Thread-IDs und meldet jede einzeln. Der erste Fehler bestimmt den Exit-Code, und --json gibt { results, succeeded, failed } aus. IDs aus einer Suche lassen sich direkt anschließen:

Terminal
openemail inbox --query "newer_than:30d from:alerts" --json | jq -r ".items[].id" | xargs openemail archive

Wegwerf-Postfächer

openemail temp erstellt kurzlebige Adressen, die weder Konto noch Anmeldung brauchen, passend für Registrierungstests und Einmalcodes. Jedes Postfach-Token wird in ~/.openemail/temp-mail.json aufbewahrt, sodass spätere Befehle ein Postfach über seine ID oder Adresse finden, oder von selbst, wenn Sie nur eines haben.

Terminal
ADDRESS=$(openemail temp new --ttl 15)openemail temp watch --first --json | jq -r .snippetopenemail temp listopenemail temp readopenemail temp read tinb_4f2a tmail_91c3openemail temp delete --yes
  • temp new gibt nur die Adresse auf stdout aus. Sie lebt 60 Minuten, außer --ttl sagt etwas anderes, höchstens 24 Stunden, und --name und --domain wählen die Adresse.
  • temp watch gibt aus, was angekommen ist, und prüft dann alle 3 Sekunden, bis Sie abbrechen oder das Postfach abläuft. --first hört bei der ersten Nachricht auf, und --json gibt eine JSON-Zeile pro Nachricht aus.
  • temp read listet die Nachrichten mit einer kurzen Vorschau oder gibt eine ganze Nachricht aus.
  • temp delete löscht das Postfach und seine Mail sofort. Die Adresse bleibt 7 Tage über das Ende ihrer Laufzeit hinaus reserviert.
  • --inbox-token erreicht ein Postfach, das diese CLI nicht angelegt hat, in temp read, watch und delete.
  • Der Absender von Mail in einem Wegwerf-Postfach ist nie verifiziert.

Der Posteingang,
nach eigenen Regeln.

E-Mail-Infrastruktur für Unternehmen, KI, Agenten und persönliche E-Mail. Gebaut für Skalierung, Privatsphäre und Kontrolle. Alles, was E-Mail vom ersten Tag an hätte haben sollen.

OpenEmail

E-Mail-Infrastruktur für Unternehmen, KI, Agenten und persönliche E-Mail. Gebaut für Skalierung, Privatsphäre und Kontrolle. Alles, was E-Mail vom ersten Tag an hätte haben sollen.

© 2026 OpenEmail. Alle Rechte vorbehalten.