Kommandozeile (Entwickler-Vorschau)
Der Befehl foldmail: sein aktueller Stand, Befehle, Optionen, Regeldateien und Exit-Codes.
Entwickler-Vorschau.
foldmailist 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
| Befehl | Was er tut |
|---|---|
foldmail accounts | Listet 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 help | Zeigt 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
| Option | Verwendet mit | Bedeutung |
|---|---|---|
--json | allen | Ausgabe als JSON (eingerückt, sortierte Schlüssel, Datumsangaben nach ISO 8601). Die Struktur ist noch nicht versioniert |
--quiet | allen | Nur IDs oder nur die Zahl der geänderten Nachrichten |
--limit <n> | search | Höchstzahl der Ergebnisse, Standard 100 |
--offset <n> | search | Die ersten n Ergebnisse überspringen |
--account <name> | mailboxes, send, compose --enqueue, outbox list | Anzeigename oder Adresse des Kontos |
--headers | read | Nur Kopfzeilen |
--add, --remove <flag> | flag | Zu setzendes oder zu entfernendes Flag oder Tag |
--from, --to, --cc, --bcc, --subject, --body | compose, send | Nachrichtenfelder; --to, --cc, --bcc lassen sich wiederholen. Ohne --body bilden die übrigen Argumente den Text |
--enqueue | compose | In die Warteschlange stellen statt ausgeben |
--delay <seconds> | send, compose --enqueue | Vor dem Senden warten, als Rückruffrist |
--rules <file> | filter run | Regeldatei in JSON |
--apply | filter run | Die 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
| Code | Bedeutung |
|---|---|
| 0 | Erfolg |
| 1 | Allgemeiner 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 |
| 2 | Bedienfehler: unbekannter Befehl, fehlende Option oder fehlender Optionswert, unlesbare Regeldatei, ungültige Anfrage oder Nachrichten-ID |
| 3 | Nichts gefunden: leeres Ergebnis, unbekannte Nachricht oder unbekannter Ordner, oder keine Regel hat getroffen |
| 4 | Die 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