Download

Kommandozeile (Entwickler-Vorschau)

Der Befehl foldmail: sein aktueller Stand, Befehle, Optionen, Regeldateien und Exit-Codes.

Entwickler-Vorschau. foldmail ist nicht in der FOLD-App enthalten. Es existiert derzeit als Build aus dem FOLD-Quellcode für Entwicklung und Tests. Es arbeitet mit seinem eigenen lokalen Datenspeicher, nicht mit den Daten der FOLD-App, die die macOS-Sandbox im Container der App hält. Die Kommandozeile sieht daher die Mails nicht, die du in der App hast, und Mails, die sie in die Warteschlange stellt, sendet die App nicht. Ihre Meldungen und Hilfetexte sind derzeit auf Deutsch.

Diese Seite beschreibt, was die Vorschau heute tut. Befehle, Optionen und Ausgaben können sich ändern, bevor die Kommandozeile erscheint.

Befehle

BefehlWas er tut
foldmail accountsListet die Konten auf
foldmail mailboxes --account <name>Listet die Ordner eines Kontos mit Zahl der ungelesenen und aller Nachrichten auf
foldmail search <query>Sucht mit der Suchsyntax; list ist ein Alias
foldmail read <id>Zeigt eine Nachricht an; --headers lässt den Text weg. Ohne lokal gespeicherten Nachrichtentext wird die Vorschau gezeigt
foldmail flag <id…> --add <flag> --remove <flag>Setzt oder entfernt Flags und Tags, zum Beispiel \Seen, \Flagged oder important; beide Optionen lassen sich wiederholen
foldmail delete <id…>Entfernt Nachrichten aus dem lokalen Speicher; ausdrückliche IDs sind Pflicht
foldmail compose --from <addr> --to <addr>Baut die Nachricht und schreibt sie auf die Standardausgabe
foldmail send --account <name> --from <addr> --to <addr>Wie compose --enqueue: legt die Nachricht in den Postausgang
foldmail outbox list --account <name>Listet den Postausgang auf
foldmail outbox cancel <id>Holt eine wartende Nachricht wieder aus dem Postausgang
foldmail filter run --rules <file>Führt eine Regeldatei aus; Vorschau, sofern nicht --apply angegeben ist
foldmail helpZeigt die Hilfe an, ebenso foldmail ohne Argumente

Die Kommandozeile sendet selbst keine Mails. send und compose --enqueue legen die Nachricht nur in den Postausgang der Kommandozeile; foldmail stellt sie nicht zu, und die FOLD-App liest diesen Postausgang nicht. Die eingebaute Hilfe zeigt ihre Beispiele noch mit fold; der Befehl heißt foldmail.

Optionen

OptionVerwendet mitBedeutung
--jsonallenAusgabe als JSON (eingerückt, sortierte Schlüssel, Datumsangaben nach ISO 8601). Die Struktur ist noch nicht versioniert
--quietallenNur IDs oder nur die Zahl der geänderten Nachrichten
--limit <n>searchHöchstzahl der Ergebnisse, Standard 100
--offset <n>searchDie ersten n Ergebnisse überspringen
--account <name>mailboxes, send, compose --enqueue, outbox listAnzeigename oder Adresse des Kontos
--headersreadNur Kopfzeilen
--add, --remove <flag>flagZu setzendes oder zu entfernendes Flag oder Tag
--from, --to, --cc, --bcc, --subject, --bodycompose, sendNachrichtenfelder; --to, --cc, --bcc lassen sich wiederholen. Ohne --body bilden die übrigen Argumente den Text
--enqueuecomposeIn die Warteschlange stellen statt ausgeben
--delay <seconds>send, compose --enqueueVor dem Senden warten, als Rückruffrist
--rules <file>filter runRegeldatei in JSON
--applyfilter runDie Regeln anwenden statt einer Vorschau

In der Kommandozeile filtern account: und from-account: nach Anzeigename oder Adresse des Kontos. in: hat auch hier keine Wirkung.

Übergib eine Anfrage als ein Argument in Anführungszeichen. Ein eigenes Argument, das mit einem Minus beginnt, wird als Option gelesen und verworfen, schreib also foldmail search 'from:anna -is:read', oder setze -- vor eine Anfrage, die mit einem Minus beginnt: foldmail search -- '-is:read'.

Regeldateien

filter run liest Regeln mit derselben Struktur wie die Filterregeln der App, geschrieben als JSON:

{
  "schemaVersion": 1,
  "rules": [
    {
      "name": "Newsletters",
      "match": "from:[email protected]",
      "actions": [{ "type": "markRead" }, { "type": "addFlag", "flag": "newsletter" }],
      "stopOnMatch": false
    }
  ]
}

Aktionstypen: markRead, markUnread, addFlag und removeFlag (mit flag), delete, move (mit mailbox), forward (mit to, einer Liste) und autoReply (mit body). Mit --apply wird eine Regeldatei, die move, forward oder autoReply enthält, abgelehnt, bevor sich etwas ändert; die Vorschau zeigt ihre Treffer trotzdem.

Exit-Codes

CodeBedeutung
0Erfolg
1Allgemeiner Fehler, zum Beispiel lässt sich der Speicher nicht öffnen, ein Suchoperator wird nicht unterstützt (has:attachment), ein Nachrichtentext oder Anhang ist nicht verfügbar, oder ein Eintrag im Postausgang lässt sich nicht mehr abbrechen
2Bedienfehler: unbekannter Befehl, fehlende Option oder fehlender Optionswert, unlesbare Regeldatei, ungültige Anfrage oder Nachrichten-ID
3Nichts gefunden: leeres Ergebnis, unbekannte Nachricht oder unbekannter Ordner, oder keine Regel hat getroffen
4Die Nachrichtendaten sind unvollständig oder unlesbar

Nutzt ein Konto im Speicher der Kommandozeile den Fortress-Modus, verweigert foldmail die Ausführung und endet mit 1, damit es nie unverschlüsselte Daten in einen verschlüsselten Speicher schreibt.

Beispiele

foldmail search 'from:anna is:unread' --json
foldmail search 'is:unread' --quiet | xargs foldmail flag --add '\Seen'
foldmail compose --from [email protected] --to [email protected] --subject Hi --body 'Test' > mail.eml
foldmail filter run --rules ~/rules.json
foldmail filter run --rules ~/rules.json --apply