Only amazon.de, amazon.com and amazon.fr counted as a merchant, so an "Out for delivery" mail from amazon.co.uk gave no card. amazon.co.uk, amazon.ca, amazon.com.au, amazon.in and amazon.sg are now merchants too, and the Track button opens the storefront that sent the mail. A date like "23/10/2026" is read day first from the day-first storefronts, with the year required. "Arriving today" and "tomorrow" are counted on the account owner's clock instead of UTC. Closes #207 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
plMail-Dokumentation
Das Handbuch. Die README sagt, was plMail ist, und bringt dich zu einer laufenden Instanz; hier steht alles, was danach kommt — jede Funktion und ihre Bedienung, die Installation auf dem, was du zur Verfügung hast, die Registrierung der Google- und Microsoft-Anwendungen, mit denen plMail spricht, und wie die Teile darunter arbeiten.
Gespiegelt ins GitHub-Wiki, das aus diesen Dateien erzeugt wird. Bearbeite sie hier; im Wiki-Browser vorgenommene Änderungen überschreibt die nächste Spiegelung.
| Wenn du … willst | Fang an bei |
|---|---|
| eine Funktion benutzen | plMail verwenden |
| es installieren oder betreiben | Installieren und betreiben |
| Gmail, Outlook oder einen CalDAV-Server anbinden | Anbieter |
| die Interna verstehen oder erweitern | Wie es funktioniert |
plMail verwenden
Eine Seite pro Bereich. Jede endet mit Verweisen nach Wie es funktioniert, wo der Mechanismus dahinter steht.
| Seite | Worum es geht |
|---|---|
| Lesen, Konversationen, Labels, Suche und ihre Operatoren, Zurückstellen, Anhänge, Verfassen, Signaturen, Emoji und eingebettete Bilder, später senden, Lesebestätigungen, Entwürfe, Senden rückgängig machen | |
| Konten und Aliase | Gmail-, Outlook- und IMAP-Konten hinzufügen, Absendeadressen, Einstellungen pro Konto |
| Zustand der Konten | Was kaputt ist und was es behebt, ein Konto neu verbinden, ohne seine Post zu verlieren, die zwei Arten, wie Push kaputtgeht |
| Vorlagen | Wiederverwendbare Nachrichten, der Ordnerbaum, der deine Konten spiegelt, Variablen für Empfänger, Absender, Signatur und Datum, Einfügen beim Verfassen |
| Filter | Bedingungsbäume, Aktionen, die Rückübersetzung in einen Satz, eine Regel auf bereits eingetroffene Mail anwenden |
| Kalender | Die vier Ansichten und das Zeitraster, Termine anlegen und bearbeiten, Wiederholungen, eine einzelne Termininstanz bearbeiten, der angedockte Bereich |
| Einladungen und Termine aus E-Mails | Zu- und Absagen, Termine aus Einladungen und aus gewöhnlichem Fließtext, Vorschläge, „Demnächst“ |
| Erinnerungen | Erinnerungen setzen, wie sie zugestellt werden, was eine frische Installation braucht, damit sie ankommen |
| Verbundene Kalender | Google-, Microsoft- und CalDAV-Kalender abonnieren, Abgleich in beide Richtungen, ICS-Import, -Export und Feed-Abonnements, doppelte Termine |
| Teilen und Buchen | Freigabelinks und was jeder preisgibt, Buchungsseiten, wie eine Buchung ankommt |
| Dateien und Integrationen | Anhängen aus und Speichern in Drive, Photos, OneDrive, Dropbox, Nextcloud, Immich und Paperless-ngx |
| Sicherheit | Dein Passwort ändern, Zwei-Faktor-Authentifizierung, Wiederherstellungscodes, gemerkte Geräte, App-Passwörter, Sitzungen |
| Andere Clients | Einen JMAP-Client verbinden, Passwörter pro App, die PWA und Browser-Benachrichtigungen |
| Darstellung | Themes, eigene Farben und Hintergrund, die Live-Vorschau, was eine Listenzeile zeigt, Schriftart und Textgröße, Dichte je Bereich, Import und Export, Sprache |
| Administration | Benutzer und Rollen, ein Konto abschalten, Integrationen freischalten, Monitoring, Warteschlangen und der Versions-Chip |
Installieren und betreiben
| Seite | Worum es geht |
|---|---|
| Docker Compose | Der unterstützte Weg, von Anfang bis Ende |
| Hinweise zu den Plattformen | Linux, Windows über WSL2, macOS und NAS-Geräte |
| Hinter einem Reverse Proxy | TLS, APP_PUBLIC_URL, TRUSTED_PROXIES — und was ohne sie kaputtgeht |
| Konfigurationsreferenz | Jede Umgebungsvariable, was sie tut und was passiert, wenn sie falsch steht |
| Sichern und Wiederherstellen | Was zu sichern ist, der Verschlüsselungsschlüssel und die Wiederherstellung auf einem neuen Host |
| Konfigurationssicherung | Einstellungen und Zugangsdaten einer Installation als eine verschlüsselte Datei zu einer anderen tragen |
| Aktualisieren | Migrationen laufen beim Start, was das bedeutet, und wie du erkennst, welcher Build läuft |
| Demo-Modus | Eine öffentliche Demo betreiben: Wegwerf-Postfächer, Mail nach Drehbuch, und was dabei abgeschaltet wird |
| Fehlersuche | Health-Checks, die Warteschlange, Protokolle und die Fehler, die tatsächlich vorgekommen sind |
Anbieter
Jede Seite nennt die genaue Konsole, die genauen Häkchen und die genauen Redirect-URIs.
| Seite | Worum es geht |
|---|---|
| Cloud-Projekt, OAuth-Client, Scopes für Mail und Kalender, Pub/Sub für Gmail-Push, Watch-Kanäle für den Kalender und Domain-Verifizierung | |
| Microsoft | App-Registrierung in Azure, Redirect-URIs, delegierte Berechtigungen, Wahl des Tenants, Graph-Abonnements |
| IMAP und SMTP | Gewöhnliche Postfächer, IDLE, und die Einstellungen, über die sich die Server uneinig sind |
| CalDAV | Discovery, App-Passwörter, und die Server, die getestet wurden |
| ICS-Feeds | Einen veröffentlichten Kalender per URL abonnieren, und warum manche Adressen abgelehnt werden |
| Single Sign-on | Anmeldung bei plMail über Authentik, Keycloak oder einen anderen OpenID-Connect-Anbieter: Einrichtung, Verknüpfung von Konten und automatisches Anlegen |
Wie es funktioniert
Tiefer als die Notizen in CONTRIBUTING, und gedacht für jemanden, der plMail prüft oder erweitert, statt es zu betreiben.
| Seite | Worum es geht |
|---|---|
| Architektur | Die Schichten, was wo liegt, und die Regeln, die das so halten |
| Mail-Ingest | Der Weg vom Anbieter in die Datenbank, Zuordnung zu Konversationen, Kategorisierung |
| Das Kalendermodell | JSCalendar in jsonb, projizierte Spalten, Termininstanzen, Wiederholungen und Ausnahmen |
| Die Sync-Engine | Der Treibervertrag, den jeder Anbieter erfüllt, Push-Kanäle, Deduplizierung |
| KI-Unterstützung | Die optionalen Modell-Funktionen: was standardmäßig aus ist und warum das Vektor-Design ohne pgvector auskommt |
| Terminerkennung | Wie aus einer Einladung und wie aus einem Satz ein Kalendereintrag wird |
| JMAP | Was umgesetzt ist, was bewusst nicht, und die Id-Räume |
| Sicherheitsmodell | Verschlüsselung im Ruhezustand, die Geheimnisdatei, Token, und was ein öffentlicher Link erreicht |
Wer einen Client schreibt, sollte zusätzlich Client development lesen — die Referenz auf Protokollebene.
Konventionen auf diesen Seiten
- Befehle stehen so, wie du sie gegen eine Compose-Installation ausführen würdest:
docker compose exec php php bin/console <command>. Lass das Präfix weg, wenn du plMail direkt betreibst. - Pfade in den Einstellungen werden als
Einstellungen → Kalender → Verbundene Kalendergeschrieben. - Ein Abschnitt „Fallstricke“ am Ende einer Seite sammelt die Fallen — den Fehler, dessen Ursache sich aus dem Symptom nicht erschließt. Sie stehen dort, weil sie passiert sind.