E-Mail RFC-Protokollunterstützung – Vollständiger Leitfaden zu Standards & Spezifikationen
Über dieses Dokument
Dieses Dokument beschreibt die RFC (Request for Comments) Protokollunterstützung für Forward Email. Da Forward Email unter der Haube WildDuck für IMAP/POP3-Funktionalität verwendet, spiegeln die hier dokumentierten Protokollunterstützungen und Einschränkungen die Implementierung von WildDuck wider.
Important
Forward Email verwendet für die Nachrichtenablage SQLite anstelle von MongoDB (welches WildDuck ursprünglich nutzte). Dies beeinflusst bestimmte unten dokumentierte Implementierungsdetails.
Quellcode: https://github.com/forwardemail/forwardemail.net
Architekturübersicht
Vergleich von E-Mail-Diensten – Protokollunterstützung & RFC-Standardkonformität
Important
Sandboxed und quantensichere Verschlüsselung: Forward Email ist der einzige E-Mail-Dienst, der individuell verschlüsselte SQLite-Postfächer mit deinem Passwort speichert (das nur du hast). Jedes Postfach ist mit sqleet (ChaCha20-Poly1305) verschlüsselt, eigenständig, sandboxed und portabel. Wenn du dein Passwort vergisst, verlierst du dein Postfach – nicht einmal Forward Email kann es wiederherstellen. Details siehe Quantum-Safe Encrypted Email.
Vergleiche die Unterstützung von E-Mail-Protokollen und die Implementierung von RFC-Standards bei großen E-Mail-Anbietern:
| Feature | Forward Email | Postfix/Dovecot | Gmail | iCloud Mail | Outlook.com | Fastmail | Yahoo/AOL (Verizon) | ProtonMail | Tutanota |
|---|---|---|---|---|---|---|---|---|---|
| Preis für eigene Domain | Kostenlos | Kostenlos | $7,20/Monat | $0,99/Monat | $7,20/Monat | $5/Monat | $3,19/Monat | $4,99/Monat | $3,27/Monat |
| IMAP4rev1 (RFC 3501) | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ⚠️ Über Bridge | ❌ Nicht unterstützt |
| IMAP4rev2 (RFC 9051) | ⚠️ Teilweise | ⚠️ Teilweise | ⚠️ 31% | ⚠️ 92% | ⚠️ 46% | ⚠️ 69% | ⚠️ 85% | ⚠️ Über Bridge | ❌ Nicht unterstützt |
| POP3 (RFC 1939) | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ⚠️ Über Bridge | ❌ Nicht unterstützt |
| SMTP (RFC 5321) | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ⚠️ Über Bridge | ❌ Nicht unterstützt |
| JMAP (RFC 8620) | ❌ Nicht unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt |
| DKIM (RFC 6376) | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt |
| SPF (RFC 7208) | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt |
| DMARC (RFC 7489) | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt |
| ARC (RFC 8617) | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt |
| MTA-STS (RFC 8461) | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt |
| DANE (RFC 7671) | ✅ Unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt | ✅ Unterstützt | ✅ Unterstützt |
| DSN (RFC 3461) | ✅ Unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ✅ Unterstützt | ✅ Unterstützt | ⚠️ Unbekannt | ❌ Nicht unterstützt | ⚠️ Über Bridge | ❌ Nicht unterstützt |
| REQUIRETLS (RFC 8689) | ✅ Unterstützt | ✅ Unterstützt | ⚠️ Unbekannt | ⚠️ Unbekannt | ⚠️ Unbekannt | ⚠️ Unbekannt | ⚠️ Unbekannt | ⚠️ Über Bridge | ❌ Nicht unterstützt |
| ManageSieve (RFC 5804) | ✅ Unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt |
| OpenPGP (RFC 9580) | ✅ Unterstützt | ⚠️ Über Plugins | ⚠️ Drittanbieter | ⚠️ Drittanbieter | ⚠️ Drittanbieter | ⚠️ Drittanbieter | ⚠️ Drittanbieter | ✅ Nativ | ❌ Nicht unterstützt |
| S/MIME (RFC 8551) | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ⚠️ Teilweise | ❌ Nicht unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt |
| CalDAV (RFC 4791) | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ✅ Über Bridge | ❌ Nicht unterstützt |
| CardDAV (RFC 6352) | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ✅ Über Bridge | ❌ Nicht unterstützt |
| Aufgaben (VTODO) | ✅ Unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt |
| Sieve (RFC 5228) | ✅ Unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt |
| Catch-All | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ❌ Nicht unterstützt | ✅ Unterstützt |
| Unbegrenzte Aliase | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ✅ Unterstützt | ✅ Unterstützt |
| Zwei-Faktor-Authentifizierung | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt |
| Push-Benachrichtigungen | ✅ Unterstützt | ⚠️ Über Plugins | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ✅ Unterstützt | ✅ Unterstützt |
| Kalender/Kontakte Desktop | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt |
| Erweiterte Suche | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt | ✅ Unterstützt |
| API/Integrationen | ✅ 39 Endpunkte | ✅ Unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ✅ Unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt | ✅ Unterstützt | ❌ Nicht unterstützt |
Protokollunterstützungs-Visualisierung
Kern-E-Mail-Protokolle
E-Mail-Protokollablauf
IMAP4 E-Mail-Protokoll und Erweiterungen
Note
Forward Email unterstützt IMAP4rev1 (RFC 3501) mit teilweiser Unterstützung für IMAP4rev2 (RFC 9051) Funktionen.
Forward Email bietet robuste IMAP4-Unterstützung durch die WildDuck-Mailserver-Implementierung. Der Server implementiert IMAP4rev1 (RFC 3501) mit teilweiser Unterstützung für IMAP4rev2 (RFC 9051) Erweiterungen.
Die IMAP-Funktionalität von Forward Email wird durch die WildDuck-Abhängigkeit bereitgestellt. Die folgenden E-Mail-RFCs werden unterstützt:
| RFC | Titel | Implementierungshinweise |
|---|---|---|
| RFC 3501 | Internet Message Access Protocol (IMAP) - Version 4rev1 | Volle Unterstützung mit absichtlichen Unterschieden (siehe unten) |
| RFC 2177 | IMAP4 IDLE-Befehl | Push-Benachrichtigungen |
| RFC 2342 | IMAP4 Namespace | Unterstützung von Postfach-Namensräumen |
| RFC 2087 | IMAP4 QUOTA-Erweiterung | Verwaltung von Speicherquoten |
| RFC 2971 | IMAP4 ID-Erweiterung | Client-/Server-Identifikation |
| RFC 5161 | IMAP4 ENABLE-Erweiterung | Aktivierung von IMAP-Erweiterungen |
| RFC 4959 | IMAP-Erweiterung für SASL Initial Client Response (SASL-IR) | Initiale Client-Antwort |
| RFC 3691 | IMAP4 UNSELECT-Befehl | Postfach schließen ohne EXPUNGE |
| RFC 4315 | IMAP UIDPLUS-Erweiterung | Erweiterte UID-Befehle |
| RFC 7162 | IMAP-Erweiterungen: Schnelle Flag-Änderungen Resynchronisierung (CONDSTORE) | Bedingtes STORE |
| RFC 6154 | IMAP LIST-Erweiterung für spezielle Postfächer | Spezielle Postfachattribute |
| RFC 6851 | IMAP MOVE-Erweiterung | Atomarer MOVE-Befehl |
| RFC 6855 | IMAP-Unterstützung für UTF-8 | UTF-8-Unterstützung |
| RFC 3348 | IMAP4 Child Mailbox-Erweiterung | Informationen zu Unterordnern |
| RFC 7889 | IMAP4-Erweiterung zur Angabe der maximalen Upload-Größe (APPENDLIMIT) | Maximale Upload-Größe |
| Unterstützte IMAP-Erweiterungen: |
| Erweiterung | RFC | Status | Beschreibung |
|---|---|---|---|
| IDLE | RFC 2177 | ✅ Unterstützt | Push-Benachrichtigungen |
| NAMESPACE | RFC 2342 | ✅ Unterstützt | Unterstützung für Postfach-Namespace |
| QUOTA | RFC 2087 | ✅ Unterstützt | Speicherquotenverwaltung |
| ID | RFC 2971 | ✅ Unterstützt | Client-/Server-Identifikation |
| ENABLE | RFC 5161 | ✅ Unterstützt | Aktivierung von IMAP-Erweiterungen |
| SASL-IR | RFC 4959 | ✅ Unterstützt | Initiale Client-Antwort |
| UNSELECT | RFC 3691 | ✅ Unterstützt | Postfach schließen ohne EXPUNGE |
| UIDPLUS | RFC 4315 | ✅ Unterstützt | Erweiterte UID-Befehle |
| CONDSTORE | RFC 7162 | ✅ Unterstützt | Bedingtes STORE |
| SPECIAL-USE | RFC 6154 | ✅ Unterstützt | Spezielle Postfachattribute |
| MOVE | RFC 6851 | ✅ Unterstützt | Atomarer MOVE-Befehl |
| UTF8=ACCEPT | RFC 6855 | ✅ Unterstützt | UTF-8-Unterstützung |
| CHILDREN | RFC 3348 | ✅ Unterstützt | Informationen zu Unterordnern |
| APPENDLIMIT | RFC 7889 | ✅ Unterstützt | Maximale Upload-Größe |
| XLIST | Nicht standard | ✅ Unterstützt | Gmail-kompatible Ordnerauflistung |
| XAPPLEPUSHSERVICE | Nicht standard | ✅ Unterstützt | Apple Push Notification Service |
IMAP-Protokollunterschiede zu RFC-Spezifikationen
Warning
Die folgenden Abweichungen von RFC-Spezifikationen können die Kompatibilität von Clients beeinträchtigen.
Forward Email weicht bewusst von einigen IMAP-RFC-Spezifikationen ab. Diese Unterschiede stammen von WildDuck und sind unten dokumentiert:
- Kein \Recent-Flag: Das
\Recent-Flag ist nicht implementiert. Alle Nachrichten werden ohne dieses Flag zurückgegeben. - RENAME betrifft keine Unterordner: Beim Umbenennen eines Ordners werden Unterordner nicht automatisch umbenannt. Die Ordnerhierarchie ist in der Datenbank flach.
- INBOX kann nicht umbenannt werden: RFC 3501 erlaubt das Umbenennen von INBOX, Forward Email verbietet dies jedoch ausdrücklich. Siehe WildDuck Quellcode.
- Keine unaufgeforderten FLAGS-Antworten: Wenn Flags geändert werden, werden keine unaufgeforderten FLAGS-Antworten an den Client gesendet.
- STORE gibt NO für gelöschte Nachrichten zurück: Versuche, Flags bei gelöschten Nachrichten zu ändern, führen zu NO statt zu stillem Ignorieren.
- CHARSET wird bei SEARCH ignoriert: Das
CHARSET-Argument in SEARCH-Befehlen wird ignoriert. Alle Suchvorgänge verwenden UTF-8. - MODSEQ-Metadaten werden ignoriert:
MODSEQ-Metadaten in STORE-Befehlen werden ignoriert. - SEARCH TEXT und SEARCH BODY: Forward Email verwendet SQLite FTS5 (Volltextsuche) anstelle der
$text-Suche von MongoDB. Dies bietet:- Unterstützung für den
NOT-Operator (MongoDB unterstützt dies nicht) - Rangbasierte Suchergebnisse
- Suchzeiten unter 100 ms bei großen Postfächern
- Unterstützung für den
- Autoexpunge-Verhalten: Nachrichten, die mit
\Deletedmarkiert sind, werden automatisch gelöscht, wenn das Postfach geschlossen wird. - Nachrichtenintegrität: Einige Nachrichtenänderungen bewahren möglicherweise nicht die exakt ursprüngliche Nachrichtenstruktur.
Teilweise Unterstützung von IMAP4rev2:
Forward Email implementiert IMAP4rev1 (RFC 3501) mit teilweiser Unterstützung von IMAP4rev2 (RFC 9051). Die folgenden IMAP4rev2-Funktionen werden noch nicht unterstützt:
- LIST-STATUS – Kombinierte LIST- und STATUS-Befehle
- LITERAL- – Nicht-synchronisierende Literale (Minus-Variante)
- OBJECTID – Eindeutige Objektkennungen
- SAVEDATE – Attribut für Speicherdatum
- REPLACE – Atomarer Nachrichtenaustausch
- UNAUTHENTICATE – Authentifizierung beenden ohne Verbindungsabbruch
Entspannte Behandlung der Body-Struktur:
Forward Email verwendet eine „entspannte Body“-Behandlung für fehlerhafte MIME-Strukturen, die von der strikten RFC-Auslegung abweichen kann. Dies verbessert die Kompatibilität mit realen E-Mails, die nicht perfekt den Standards entsprechen. METADATA-Erweiterung (RFC 5464):
Die IMAP METADATA-Erweiterung wird nicht unterstützt. Weitere Informationen zu dieser Erweiterung finden Sie in RFC 5464. Eine Diskussion über die Hinzufügung dieser Funktion finden Sie in WildDuck Issue #937.
Nicht unterstützte IMAP-Erweiterungen
Die folgenden IMAP-Erweiterungen aus dem IANA IMAP Capabilities Registry werden NICHT unterstützt:
| RFC | Titel | Grund |
|---|---|---|
| RFC 2086 | IMAP4 ACL-Erweiterung | Gemeinsame Ordner nicht implementiert. Siehe WildDuck Issue #427 |
| RFC 5256 | IMAP SORT- und THREAD-Erweiterungen | Threading intern implementiert, aber nicht über das RFC 5256-Protokoll. Siehe WildDuck Issue #12 |
| RFC 5162 | IMAP4-Erweiterungen für schnelle Postfach-Resynchronisation (QRESYNC) | Nicht implementiert |
| RFC 5464 | IMAP METADATA-Erweiterung | Metadatenoperationen werden ignoriert. Siehe WildDuck Dokumentation |
| RFC 5258 | IMAP4 LIST-Befehls-Erweiterungen | Nicht implementiert |
| RFC 5267 | Kontexte für IMAP4 | Nicht implementiert |
| RFC 5465 | IMAP NOTIFY-Erweiterung | Nicht implementiert |
| RFC 5466 | IMAP4 FILTERS-Erweiterung | Nicht implementiert |
| RFC 6203 | IMAP4-Erweiterung für unscharfe Suche | Nicht implementiert |
| RFC 6785 | IMAP4 Implementierungsempfehlungen | Empfehlungen nicht vollständig befolgt |
| RFC 7162 | IMAP-Erweiterungen: Schnelle Flag-Änderungen Resynchronisation (CONDSTORE) und schnelle Postfach-Resynchronisation (QRESYNC) | Nicht implementiert |
| RFC 8437 | IMAP UNAUTHENTICATE-Erweiterung für Verbindungswiederverwendung | Nicht implementiert |
| RFC 8438 | IMAP-Erweiterung für STATUS=SIZE | Nicht implementiert |
| RFC 8457 | IMAP "$Important"-Schlüsselwort und "\Important"-Special-Use-Attribut | Nicht implementiert |
| RFC 8474 | IMAP-Erweiterung für Objektkennungen | Nicht implementiert |
| RFC 9051 | Internet Message Access Protocol (IMAP) - Version 4rev2 | Forward Email implementiert IMAP4rev1 (RFC 3501) |
POP3 Email-Protokoll und Erweiterungen
Note
Forward Email unterstützt POP3 (RFC 1939) mit Standarderweiterungen für den E-Mail-Abruf.
Die POP3-Funktionalität von Forward Email wird durch die WildDuck-Abhängigkeit bereitgestellt. Die folgenden E-Mail-RFCs werden unterstützt:
| RFC | Titel | Implementierungshinweise |
|---|---|---|
| RFC 1939 | Post Office Protocol - Version 3 (POP3) | Volle Unterstützung mit absichtlichen Unterschieden (siehe unten) |
| RFC 2595 | Verwendung von TLS mit IMAP, POP3 und ACAP | STARTTLS-Unterstützung |
| RFC 2449 | POP3 Erweiterungsmechanismus | CAPA-Befehl-Unterstützung |
Forward Email bietet POP3-Unterstützung für Clients, die dieses einfachere Protokoll gegenüber IMAP bevorzugen. POP3 ist ideal für Benutzer, die E-Mails auf ein einzelnes Gerät herunterladen und vom Server entfernen möchten.
Unterstützte POP3-Erweiterungen:
| Erweiterung | RFC | Status | Beschreibung |
|---|---|---|---|
| TOP | RFC 1939 | ✅ Unterstützt | Abruf von Nachrichtenkopfzeilen |
| USER | RFC 1939 | ✅ Unterstützt | Benutzername-Authentifizierung |
| UIDL | RFC 1939 | ✅ Unterstützt | Eindeutige Nachrichtenkennungen |
| EXPIRE | RFC 2449 | ✅ Unterstützt | Richtlinie zur Nachrichtenablauf |
POP3-Protokollunterschiede zu RFC-Spezifikationen
Warning
POP3 hat im Vergleich zu IMAP inhärente Einschränkungen.
Important
Kritischer Unterschied: Forward Email vs WildDuck POP3 DELE-Verhalten
Forward Email implementiert eine RFC-konforme permanente Löschung für POP3-DELE-Befehle, im Gegensatz zu WildDuck, das Nachrichten in den Papierkorb verschiebt.
Verhalten von Forward Email (Quellcode):
DELE→QUITlöscht Nachrichten dauerhaft- Entspricht exakt der RFC 1939-Spezifikation
- Entspricht dem Verhalten von Dovecot (Standard), Postfix und anderen RFC-konformen Servern
Verhalten von WildDuck (Diskussion):
DELE→QUITverschiebt Nachrichten in den Papierkorb (Gmail-ähnlich)- Bewusste Designentscheidung zum Schutz der Benutzer
- Nicht RFC-konform, verhindert aber versehentlichen Datenverlust
Warum Forward Email abweicht:
- RFC-Konformität: Hält sich an die RFC 1939-Spezifikation
- Benutzererwartungen: Download-und-Löschen-Workflow erwartet permanente Löschung
- Speicherverwaltung: Korrekte Rückgewinnung von Speicherplatz
- Interoperabilität: Konsistent mit anderen RFC-konformen Servern
Note
POP3 Nachrichtenauflistung: Forward Email listet ALLE Nachrichten aus dem INBOX ohne Limit auf. Dies unterscheidet sich von WildDuck, das standardmäßig auf 250 Nachrichten begrenzt. Siehe Quellcode.
Zugriff auf ein einzelnes Gerät:
POP3 ist für den Zugriff von einem einzelnen Gerät ausgelegt. Nachrichten werden typischerweise heruntergeladen und vom Server entfernt, was es für die Synchronisation mehrerer Geräte ungeeignet macht.
Keine Ordnerunterstützung:
POP3 greift nur auf den INBOX-Ordner zu. Andere Ordner (Gesendet, Entwürfe, Papierkorb usw.) sind über POP3 nicht zugänglich.
Begrenzte Nachrichtenverwaltung:
POP3 bietet grundlegenden Nachrichtenabruf und -löschung. Erweiterte Funktionen wie Markieren, Verschieben oder Suchen von Nachrichten sind nicht verfügbar.
Nicht unterstützte POP3-Erweiterungen
Die folgenden POP3-Erweiterungen aus dem IANA POP3 Extension Mechanism Registry werden NICHT unterstützt:
| RFC | Titel | Grund |
|---|---|---|
| RFC 6856 | Post Office Protocol Version 3 (POP3) Unterstützung für UTF-8 | Nicht im WildDuck POP3-Server implementiert |
| RFC 2595 | STLS-Befehl | Nur STARTTLS unterstützt, nicht STLS |
| RFC 3206 | Die SYS- und AUTH-POP-Antwortcodes | Nicht implementiert |
SMTP Email Protocol and Extensions
Note
Forward Email unterstützt SMTP (RFC 5321) mit modernen Erweiterungen für sichere und zuverlässige E-Mail-Zustellung.
Die SMTP-Funktionalität von Forward Email wird durch mehrere Komponenten bereitgestellt: smtp-server (nodemailer), zone-mta und eigene Implementierungen. Die folgenden E-Mail-RFCs werden unterstützt:
| RFC | Titel | Implementierungshinweise |
|---|---|---|
| RFC 5321 | Simple Mail Transfer Protocol (SMTP) | Volle Unterstützung |
| RFC 3207 | SMTP Service Extension for Secure SMTP over Transport Layer Security (STARTTLS) | TLS/SSL-Unterstützung |
| RFC 4954 | SMTP Service Extension for Authentication (AUTH) | PLAIN, LOGIN, CRAM-MD5, XOAUTH2 |
| RFC 6531 | SMTP Extension for Internationalized Email (SMTPUTF8) | Native Unicode-E-Mail-Adressen-Unterstützung |
| RFC 3461 | SMTP Service Extension for Delivery Status Notifications (DSN) | Volle DSN-Unterstützung |
| RFC 3463 | Enhanced Mail System Status Codes | Erweiterte Statuscodes in Antworten |
| RFC 1870 | SMTP Service Extension for Message Size Declaration (SIZE) | Maximale Nachrichten-Größenangabe |
| RFC 2920 | SMTP Service Extension for Command Pipelining (PIPELINING) | Unterstützung für Befehls-Pipelining |
| RFC 1652 | SMTP Service Extension for 8bit-MIMEtransport (8BITMIME) | 8-Bit-MIME-Unterstützung |
| RFC 6152 | SMTP Service Extension for 8-bit MIME Transport | 8-Bit-MIME-Unterstützung |
| RFC 2034 | SMTP Service Extension for Returning Enhanced Error Codes (ENHANCEDSTATUSCODES) | Erweiterte Statuscodes |
Forward Email implementiert einen voll ausgestatteten SMTP-Server mit Unterstützung für moderne Erweiterungen, die Sicherheit, Zuverlässigkeit und Funktionalität verbessern.
Unterstützte SMTP-Erweiterungen:
| Erweiterung | RFC | Status | Beschreibung |
|---|---|---|---|
| PIPELINING | RFC 2920 | ✅ Unterstützt | Befehls-Pipelining |
| SIZE | RFC 1870 | ✅ Unterstützt | Nachrichten-Größenangabe (52MB Limit) |
| ETRN | RFC 1985 | ✅ Unterstützt | Remote-Queue-Verarbeitung |
| STARTTLS | RFC 3207 | ✅ Unterstützt | Upgrade zu TLS |
| ENHANCEDSTATUSCODES | RFC 2034 | ✅ Unterstützt | Erweiterte Statuscodes |
| 8BITMIME | RFC 6152 | ✅ Unterstützt | 8-Bit-MIME-Transport |
| DSN | RFC 3461 | ✅ Unterstützt | Delivery Status Notifications |
| CHUNKING | RFC 3030 | ✅ Unterstützt | Chunked Message Transfer |
| SMTPUTF8 | RFC 6531 | ⚠️ Teilweise | UTF-8 E-Mail-Adressen (teilweise) |
| REQUIRETLS | RFC 8689 | ✅ Unterstützt | TLS für Zustellung erforderlich |
Zustellstatus-Benachrichtigungen (DSN)
Tip
DSN liefert detaillierte Informationen zum Zustellstatus von gesendeten E-Mails.
Forward Email unterstützt vollständig DSN (RFC 3461), das es Absendern ermöglicht, Zustellstatus-Benachrichtigungen anzufordern. Diese Funktion bietet:
- Erfolgsbenachrichtigungen, wenn Nachrichten zugestellt werden
- Fehlerbenachrichtigungen mit detaillierten Fehlermeldungen
- Verzögerungsbenachrichtigungen, wenn die Zustellung vorübergehend verzögert ist
DSN ist besonders nützlich für:
- Bestätigung der Zustellung wichtiger Nachrichten
- Fehlerbehebung bei Zustellproblemen
- Automatisierte E-Mail-Verarbeitungssysteme
- Compliance- und Prüfanforderungen
REQUIRETLS-Unterstützung
Important
Forward Email ist einer der wenigen Anbieter, die REQUIRETLS explizit bewerben und durchsetzen.
Forward Email unterstützt REQUIRETLS (RFC 8689), das sicherstellt, dass E-Mails nur über TLS-verschlüsselte Verbindungen zugestellt werden. Dies bietet:
- Ende-zu-Ende-Verschlüsselung für den gesamten Zustellweg
- Benutzerseitige Durchsetzung über eine Checkbox im E-Mail-Composer
- Ablehnung unverschlüsselter Zustellversuche
- Erhöhte Sicherheit für sensible Kommunikation
Nicht unterstützte SMTP-Erweiterungen
Die folgenden SMTP-Erweiterungen aus dem IANA SMTP Service Extensions Registry werden NICHT unterstützt:
| RFC | Titel | Grund |
|---|---|---|
| RFC 4865 | SMTP Submission Service Extension for Future Message Release (FUTURERELEASE) | Nicht implementiert |
| RFC 6710 | SMTP Extension for Message Transfer Priorities (MT-PRIORITY) | Nicht implementiert |
| RFC 7293 | The Require-Recipient-Valid-Since Header Field and SMTP Service Extension | Nicht implementiert |
| RFC 7372 | Email Auth Status Codes | Nicht vollständig implementiert |
| RFC 4468 | Message Submission BURL Extension | Nicht implementiert |
| RFC 3030 | SMTP Service Extensions for Transmission of Large and Binary MIME Messages (CHUNKING, BINARYMIME) | Nicht implementiert |
| RFC 2852 | Deliver By SMTP Service Extension | Nicht implementiert |
JMAP E-Mail-Protokoll
Caution
JMAP wird von Forward Email derzeit nicht unterstützt.
| RFC | Titel | Status | Grund |
|---|---|---|---|
| RFC 8620 | The JSON Meta Application Protocol (JMAP) | ❌ Nicht unterstützt | Forward Email verwendet stattdessen IMAP/POP3/SMTP und eine umfassende REST-API |
JMAP (JSON Meta Application Protocol) ist ein modernes E-Mail-Protokoll, das IMAP ersetzen soll.
Warum JMAP nicht unterstützt wird:
"JMAP ist ein Biest, das nicht hätte erfunden werden sollen. Es versucht, TCP/IMAP (bereits ein schlechtes Protokoll nach heutigem Standard) in HTTP/JSON umzuwandeln, verwendet dabei nur einen anderen Transport, behält aber den Geist bei." — Andris Reinman, HN Diskussion „JMAP ist über 10 Jahre alt und wird so gut wie gar nicht verwendet“ – Andris Reinman, GitHub-Diskussion
Siehe auch weitere Kommentare unter https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=jmap andris&sort=byDate&type=comment.
Forward Email konzentriert sich derzeit darauf, exzellenten IMAP-, POP3- und SMTP-Support sowie eine umfassende REST-API für die E-Mail-Verwaltung bereitzustellen. JMAP-Unterstützung könnte in Zukunft basierend auf Nutzerbedarf und Ökosystem-Adoption in Betracht gezogen werden.
Alternative: Forward Email bietet eine Vollständige REST-API mit 39 Endpunkten, die ähnliche Funktionalität wie JMAP für den programmatischen E-Mail-Zugriff bereitstellt.
E-Mail-Sicherheit
Architektur der E-Mail-Sicherheit
Protokolle zur Authentifizierung von E-Mail-Nachrichten
Note
Forward Email implementiert alle wichtigen E-Mail-Authentifizierungsprotokolle, um Spoofing zu verhindern und die Integrität der Nachrichten sicherzustellen.
Forward Email verwendet die mailauth-Bibliothek für die E-Mail-Authentifizierung. Folgende RFCs werden unterstützt:
| RFC | Titel | Implementierungshinweise |
|---|---|---|
| RFC 6376 | DomainKeys Identified Mail (DKIM) Signaturen | Vollständiges DKIM-Signieren und -Verifizieren |
| RFC 8463 | Eine neue kryptografische Signaturmethode für DKIM (Ed25519-SHA256) | Unterstützt sowohl RSA-SHA256 als auch Ed25519-SHA256 Signaturalgorithmen |
| RFC 7208 | Sender Policy Framework (SPF) | Validierung von SPF-Einträgen |
| RFC 7489 | Domain-basierte Nachrichten-Authentifizierung, Berichterstattung und Konformität (DMARC) | Durchsetzung der DMARC-Richtlinie |
| RFC 8617 | Authenticated Received Chain (ARC) | ARC-Versiegelung und -Validierung |
E-Mail-Authentifizierungsprotokolle prüfen, ob Nachrichten tatsächlich vom angegebenen Absender stammen und während der Übertragung nicht manipuliert wurden.
Unterstützung der Authentifizierungsprotokolle
| Protokoll | RFC | Status | Beschreibung |
|---|---|---|---|
| DKIM | RFC 6376 | ✅ Unterstützt | DomainKeys Identified Mail – Kryptografische Signaturen |
| SPF | RFC 7208 | ✅ Unterstützt | Sender Policy Framework – Autorisierung der IP-Adresse |
| DMARC | RFC 7489 | ✅ Unterstützt | Domain-basierte Nachrichten-Authentifizierung – Durchsetzung der Richtlinie |
| ARC | RFC 8617 | ✅ Unterstützt | Authenticated Received Chain – Authentifizierung über Weiterleitungen hinweg bewahren |
DKIM (DomainKeys Identified Mail)
DKIM fügt E-Mail-Headern eine kryptografische Signatur hinzu, die es Empfängern ermöglicht zu überprüfen, dass die Nachricht vom Domaininhaber autorisiert wurde und während der Übertragung nicht verändert wurde.
Forward Email verwendet mailauth für DKIM-Signierung und -Verifizierung.
Hauptmerkmale:
- Automatische DKIM-Signierung für alle ausgehenden Nachrichten
- Unterstützung für RSA- und Ed25519-Schlüssel
- Unterstützung mehrerer Selektoren
- DKIM-Verifizierung für eingehende Nachrichten
SPF (Sender Policy Framework)
SPF ermöglicht Domaininhabern, festzulegen, welche IP-Adressen berechtigt sind, E-Mails im Namen ihrer Domain zu senden.
Hauptmerkmale:
- SPF-Record-Validierung für eingehende Nachrichten
- Automatische SPF-Prüfung mit detaillierten Ergebnissen
- Unterstützung für include-, redirect- und all-Mechanismen
- Konfigurierbare SPF-Richtlinien pro Domain
DMARC (Domain-based Message Authentication, Reporting & Conformance)
DMARC baut auf SPF und DKIM auf, um Richtlinien-Durchsetzung und Berichterstattung bereitzustellen.
Hauptmerkmale:
- Durchsetzung von DMARC-Richtlinien (none, quarantine, reject)
- Alignment-Prüfung für SPF und DKIM
- DMARC-Aggregatberichte
- DMARC-Richtlinien pro Domain
ARC (Authenticated Received Chain)
ARC bewahrt E-Mail-Authentifizierungsergebnisse über Weiterleitungen und Mailinglistenänderungen hinweg.
Forward Email verwendet die mailauth Bibliothek für ARC-Verifizierung und -Versiegelung.
Hauptmerkmale:
- ARC-Versiegelung für weitergeleitete Nachrichten
- ARC-Validierung für eingehende Nachrichten
- Kettenverifizierung über mehrere Hops
- Bewahrt ursprüngliche Authentifizierungsergebnisse
Authentication Flow
Email Transport Security Protocols
Important
Forward Email implementiert mehrere Schichten von Transportsicherheitsmaßnahmen, um E-Mails während der Übertragung zu schützen.
Forward Email implementiert moderne Transportsicherheitsprotokolle:
| RFC | Titel | Status | Implementierungshinweise |
|---|---|---|---|
| RFC 8461 | SMTP MTA Strict Transport Security (MTA-STS) | ✅ Unterstützt | Umfangreiche Nutzung auf IMAP-, SMTP- und MX-Servern. Siehe create-mta-sts-cache.js und get-transporter.js |
| RFC 8460 | SMTP TLS Reporting | ✅ Unterstützt | Über die mailauth Bibliothek |
| RFC 7671 | Das DNS-basierte Authentifizierungsprotokoll für benannte Entitäten (DANE): Updates und Betriebshinweise | ✅ Unterstützt | Vollständige DANE-Verifizierung für ausgehende SMTP-Verbindungen. Siehe mx-connect PR #22 |
| RFC 6698 | Das DNS-basierte Authentifizierungsprotokoll für benannte Entitäten (DANE) Transport Layer Security (TLS) Protokoll: TLSA | ✅ Unterstützt | Vollständige Unterstützung von RFC 6698: PKIX-TA, PKIX-EE, DANE-TA, DANE-EE Nutzungstypen. Siehe mx-connect PR #22 |
| RFC 8314 | Klartext gilt als veraltet: Verwendung von Transport Layer Security (TLS) für E-Mail-Übermittlung und -Zugriff | ✅ Unterstützt | TLS ist für alle Verbindungen erforderlich |
| RFC 8689 | SMTP Service Extension zum Erzwingen von TLS (REQUIRETLS) | ✅ Unterstützt | Vollständige Unterstützung der REQUIRETLS SMTP-Erweiterung und des "TLS-Required"-Headers |
| Transport-Sicherheitsprotokolle stellen sicher, dass E-Mail-Nachrichten während der Übertragung zwischen Mailservern verschlüsselt und authentifiziert werden. |
Transport Security Support
| Protokoll | RFC | Status | Beschreibung |
|---|---|---|---|
| TLS | RFC 8314 | ✅ Unterstützt | Transport Layer Security – Verschlüsselte Verbindungen |
| MTA-STS | RFC 8461 | ✅ Unterstützt | Mail Transfer Agent Strict Transport Security |
| DANE | RFC 7671 | ✅ Unterstützt | DNS-basierte Authentifizierung benannter Entitäten |
| REQUIRETLS | RFC 8689 | ✅ Unterstützt | TLS für den gesamten Zustellweg erforderlich |
TLS (Transport Layer Security)
Forward Email erzwingt TLS-Verschlüsselung für alle E-Mail-Verbindungen (SMTP, IMAP, POP3).
Hauptmerkmale:
- Unterstützung für TLS 1.2 und TLS 1.3
- Automatisches Zertifikatsmanagement
- Perfect Forward Secrecy (PFS)
- Nur starke Chiffren-Suiten
MTA-STS (Mail Transfer Agent Strict Transport Security)
MTA-STS stellt sicher, dass E-Mails nur über TLS-verschlüsselte Verbindungen zugestellt werden, indem eine Richtlinie über HTTPS veröffentlicht wird.
Forward Email implementiert MTA-STS mit create-mta-sts-cache.js.
Hauptmerkmale:
- Automatische Veröffentlichung der MTA-STS-Richtlinie
- Zwischenspeicherung der Richtlinie für bessere Leistung
- Schutz vor Downgrade-Angriffen
- Durchsetzung der Zertifikatsvalidierung
DANE (DNS-based Authentication of Named Entities)
Note
Forward Email bietet jetzt vollständige DANE-Unterstützung für ausgehende SMTP-Verbindungen.
DANE verwendet DNSSEC, um TLS-Zertifikatsinformationen im DNS zu veröffentlichen, sodass Mailserver Zertifikate ohne Abhängigkeit von Zertifizierungsstellen überprüfen können.
Hauptmerkmale:
- ✅ Vollständige DANE-Verifizierung für ausgehende SMTP-Verbindungen
- ✅ Vollständige RFC 6698-Unterstützung: PKIX-TA, PKIX-EE, DANE-TA, DANE-EE Nutzungstypen
- ✅ Zertifikatsprüfung gegen TLSA-Einträge während des TLS-Upgrades
- ✅ Parallele TLSA-Auflösung für mehrere MX-Hosts
- ✅ Automatische Erkennung des nativen
dns.resolveTlsa(Node.js v22.15.0+, v23.9.0+) - ✅ Unterstützung benutzerdefinierter Resolver für ältere Node.js-Versionen via Tangerine
- Erfordert DNSSEC-signierte Domains
Tip
Implementierungsdetails: Die DANE-Unterstützung wurde über mx-connect PR #22 hinzugefügt, der umfassende DANE/TLSA-Unterstützung für ausgehende SMTP-Verbindungen bietet.
REQUIRETLS
Tip
Forward Email ist einer der wenigen Anbieter mit benutzerseitiger REQUIRETLS-Unterstützung.
REQUIRETLS stellt sicher, dass E-Mail-Nachrichten nur über TLS-verschlüsselte Verbindungen für den gesamten Zustellweg zugestellt werden.
Hauptmerkmale:
- Benutzerseitiges Kontrollkästchen im E-Mail-Composer
- Automatische Ablehnung unverschlüsselter Zustellungen
- Ende-zu-Ende TLS-Durchsetzung
- Detaillierte Fehlermeldungen
Tip
Benutzerseitige TLS-Durchsetzung: Forward Email bietet ein Kontrollkästchen unter Mein Konto > Domains > Einstellungen, um TLS für alle eingehenden Verbindungen zu erzwingen. Wenn aktiviert, lehnt diese Funktion jede eingehende E-Mail ab, die nicht über eine TLS-verschlüsselte Verbindung gesendet wurde, mit dem Fehlercode 530, wodurch sichergestellt wird, dass alle eingehenden Mails während der Übertragung verschlüsselt sind.
Transport Security Flow
E-Mail-Nachrichtenverschlüsselung
Note
Forward Email unterstützt sowohl OpenPGP als auch S/MIME für Ende-zu-Ende-E-Mail-Verschlüsselung.
Forward Email unterstützt OpenPGP- und S/MIME-Verschlüsselung:
| RFC | Titel | Status | Implementierungshinweise |
|---|---|---|---|
| RFC 9580 | OpenPGP (ersetzt RFC 4880) | ✅ Unterstützt | Über OpenPGP.js v6+ Integration. Siehe FAQ |
| RFC 8551 | Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 Nachrichtenspezifikation | ✅ Unterstützt | Sowohl RSA- als auch ECC-Algorithmen werden unterstützt. Siehe FAQ |
Nachrichtenverschlüsselungsprotokolle schützen den E-Mail-Inhalt davor, von jemand anderem als dem vorgesehenen Empfänger gelesen zu werden, selbst wenn die Nachricht während der Übertragung abgefangen wird.
Verschlüsselungsunterstützung
| Protokoll | RFC | Status | Beschreibung |
|---|---|---|---|
| OpenPGP | RFC 9580 | ✅ Unterstützt | Pretty Good Privacy - Public-Key-Verschlüsselung |
| S/MIME | RFC 8551 | ✅ Unterstützt | Secure/Multipurpose Internet Mail Extensions |
| WKD | Entwurf | ✅ Unterstützt | Web Key Directory - Automatische Schlüsselentdeckung |
OpenPGP (Pretty Good Privacy)
OpenPGP bietet Ende-zu-Ende-Verschlüsselung mittels Public-Key-Kryptographie. Forward Email unterstützt OpenPGP über das Web Key Directory (WKD) Protokoll.
Hauptmerkmale:
- Automatische Schlüsselentdeckung über WKD
- PGP/MIME-Unterstützung für verschlüsselte Anhänge
- Schlüsselverwaltung über den E-Mail-Client
- Kompatibel mit GPG, Mailvelope und anderen OpenPGP-Tools
Anwendung:
- Erstellen Sie ein PGP-Schlüsselpaar in Ihrem E-Mail-Client
- Laden Sie Ihren öffentlichen Schlüssel in Forward Emails WKD hoch
- Ihr Schlüssel ist für andere Benutzer automatisch auffindbar
- Senden und empfangen Sie verschlüsselte E-Mails nahtlos
S/MIME (Secure/Multipurpose Internet Mail Extensions)
S/MIME bietet E-Mail-Verschlüsselung und digitale Signaturen mittels X.509-Zertifikaten.
Hauptmerkmale:
- Zertifikatbasierte Verschlüsselung
- Digitale Signaturen zur Nachrichtenauthentifizierung
- Native Unterstützung in den meisten E-Mail-Clients
- Sicherheit auf Unternehmensniveau
Anwendung:
- Erhalten Sie ein S/MIME-Zertifikat von einer Zertifizierungsstelle
- Installieren Sie das Zertifikat in Ihrem E-Mail-Client
- Konfigurieren Sie Ihren Client zum Verschlüsseln/Signieren von Nachrichten
- Tauschen Sie Zertifikate mit Empfängern aus
SQLite-Mailbox-Verschlüsselung
Important
Forward Email bietet eine zusätzliche Sicherheitsebene mit verschlüsselten SQLite-Mailboxen.
Über die Nachrichtenverschlüsselung hinaus verschlüsselt Forward Email komplette Mailboxen mit sqleet (ChaCha20-Poly1305).
Hauptmerkmale:
- Passwortbasierte Verschlüsselung – Nur Sie kennen das Passwort
- Quantenresistent – ChaCha20-Poly1305-Chiffre
- Zero-Knowledge – Forward Email kann Ihre Mailbox nicht entschlüsseln
- Sandboxed – Jede Mailbox ist isoliert und portabel
- Nicht wiederherstellbar – Wenn Sie Ihr Passwort vergessen, ist Ihre Mailbox verloren
Verschlüsselungsvergleich
| Feature | OpenPGP | S/MIME | SQLite-Verschlüsselung |
|---|---|---|---|
| End-to-End | ✅ Ja | ✅ Ja | ✅ Ja |
| Schlüsselverwaltung | Selbstverwaltet | Von CA ausgestellt | Passwortbasiert |
| Client-Unterstützung | Plugin erforderlich | Nativ | Transparent |
| Anwendungsfall | Persönlich | Unternehmen | Speicherung |
| Quantenresistent | ⚠️ Abhängig vom Schlüssel | ⚠️ Abhängig vom Zertifikat | ✅ Ja |
Verschlüsselungsablauf
Erweiterte Funktionalität
Standards für E-Mail-Nachrichtenformat
Note
Forward Email unterstützt moderne E-Mail-Formatstandards für reichhaltige Inhalte und Internationalisierung.
Forward Email unterstützt standardisierte E-Mail-Nachrichtenformate:
| RFC | Titel | Implementierungshinweise |
|---|---|---|
| RFC 5322 | Internet Message Format | Vollständige Unterstützung |
| RFC 2045 | MIME Teil Eins: Format von Internet-Nachrichtenkörpern | Vollständige MIME-Unterstützung |
| RFC 2046 | MIME Teil Zwei: Medientypen | Vollständige MIME-Unterstützung |
| RFC 2047 | MIME Teil Drei: Nachrichtenkopf-Erweiterungen für Nicht-ASCII-Text | Vollständige MIME-Unterstützung |
| RFC 2048 | MIME Teil Vier: Registrierungsverfahren | Vollständige MIME-Unterstützung |
| RFC 2049 | MIME Teil Fünf: Konformitätskriterien und Beispiele | Vollständige MIME-Unterstützung |
E-Mail-Formatstandards definieren, wie E-Mail-Nachrichten strukturiert, kodiert und dargestellt werden.
Unterstützung der Formatstandards
| Standard | RFC | Status | Beschreibung |
|---|---|---|---|
| MIME | RFC 2045-2049 | ✅ Unterstützt | Multipurpose Internet Mail Extensions |
| SMTPUTF8 | RFC 6531 | ⚠️ Teilweise | Internationalisierte E-Mail-Adressen |
| EAI | RFC 6530 | ⚠️ Teilweise | Internationalisierung von E-Mail-Adressen |
| Nachrichtenformat | RFC 5322 | ✅ Unterstützt | Internet Message Format |
| MIME-Sicherheit | RFC 1847 | ✅ Unterstützt | Sicherheits-Multiparts für MIME |
MIME (Multipurpose Internet Mail Extensions)
MIME ermöglicht es E-Mails, mehrere Teile mit unterschiedlichen Inhaltstypen (Text, HTML, Anhänge usw.) zu enthalten.
Unterstützte MIME-Funktionen:
- Mehrteilige Nachrichten (mixed, alternative, related)
- Content-Type-Header
- Content-Transfer-Encoding (7bit, 8bit, quoted-printable, base64)
- Inline-Bilder und Anhänge
- Reichhaltige HTML-Inhalte
SMTPUTF8 und Internationalisierung von E-Mail-Adressen
Warning
Die Unterstützung von SMTPUTF8 ist teilweise – nicht alle Funktionen sind vollständig implementiert.
SMTPUTF8 erlaubt E-Mail-Adressen, nicht-ASCII-Zeichen zu enthalten (z. B. 用户@例え.jp).
Aktueller Status:
- ⚠️ Teilweise Unterstützung für internationalisierte E-Mail-Adressen
- ✅ UTF-8-Inhalt in Nachrichtenkörpern
- ⚠️ Eingeschränkte Unterstützung für nicht-ASCII lokale Teile
Kalender- und Kontaktprotokolle
Note
Forward Email bietet vollständige CalDAV- und CardDAV-Unterstützung für Kalender- und Kontaktsynchronisation.
Forward Email unterstützt CalDAV und CardDAV über die caldav-adapter-Bibliothek:
| RFC | Titel | Status | Implementierungshinweise |
|---|---|---|---|
| RFC 4791 | Kalendererweiterungen für WebDAV (CalDAV) | ✅ Unterstützt | Kalenderzugriff und -verwaltung |
| RFC 6352 | CardDAV: vCard-Erweiterungen für WebDAV | ✅ Unterstützt | Kontaktzugriff und -verwaltung |
| RFC 5545 | Internet-Kalender- und Terminplanung Kernobjektspezifikation (iCalendar) | ✅ Unterstützt | Unterstützung des iCalendar-Formats |
| RFC 6350 | vCard-Formatspezifikation | ✅ Unterstützt | Unterstützung des vCard 4.0-Formats |
| RFC 6638 | Terminplanungserweiterungen für CalDAV | ✅ Unterstützt | CalDAV-Terminplanung mit iMIP-Unterstützung. Siehe commit c4d1629 |
| RFC 5546 | iCalendar Transportunabhängiges Interoperabilitätsprotokoll (iTIP) | ✅ Unterstützt | iTIP-Unterstützung für REQUEST, REPLY, CANCEL und VFREEBUSY Methoden. Siehe commit c4d1629 |
| RFC 6047 | iCalendar Nachrichtenbasiertes Interoperabilitätsprotokoll (iMIP) | ✅ Unterstützt | E-Mail-basierte Kalendereinladungen mit Antwortlinks. Siehe commit c4d1629 |
CalDAV und CardDAV sind Protokolle, die den Zugriff, das Teilen und die Synchronisation von Kalender- und Kontaktdaten über Geräte hinweg ermöglichen.
CalDAV- und CardDAV-Unterstützung
| Protokoll | RFC | Status | Beschreibung |
|---|---|---|---|
| CalDAV | RFC 4791 | ✅ Unterstützt | Kalenderzugriff und Synchronisation |
| CardDAV | RFC 6352 | ✅ Unterstützt | Kontaktzugriff und Synchronisation |
| iCalendar | RFC 5545 | ✅ Unterstützt | Kalenderdatenformat |
| vCard | RFC 6350 | ✅ Unterstützt | Kontaktdatenformat |
| VTODO | RFC 5545 | ✅ Unterstützt | Aufgaben-/Erinnerungsunterstützung |
| CalDAV Scheduling | RFC 6638 | ✅ Unterstützt | Kalender-Terminplanungserweiterungen |
| iTIP | RFC 5546 | ✅ Unterstützt | Transportunabhängige Interoperabilität |
| iMIP | RFC 6047 | ✅ Unterstützt | E-Mail-basierte Kalendereinladungen |
CalDAV (Kalenderzugriff)
CalDAV ermöglicht den Zugriff auf und die Verwaltung von Kalendern von jedem Gerät oder jeder Anwendung aus.
Hauptfunktionen:
- Synchronisation auf mehreren Geräten
- Gemeinsame Kalender
- Kalenderabonnements
- Ereigniseinladungen und -antworten
- Wiederkehrende Ereignisse
- Zeitzonenunterstützung
Kompatible Clients:
- Apple Kalender (macOS, iOS)
- Mozilla Thunderbird
- Evolution
- GNOME Kalender
- Jeder CalDAV-kompatible Client
CardDAV (Kontaktzugriff)
CardDAV ermöglicht den Zugriff auf und die Verwaltung von Kontakten von jedem Gerät oder jeder Anwendung aus.
Hauptfunktionen:
- Synchronisation auf mehreren Geräten
- Gemeinsame Adressbücher
- Kontaktgruppen
- Foto-Unterstützung
- Benutzerdefinierte Felder
- vCard 4.0 Unterstützung
Kompatible Clients:
- Apple Kontakte (macOS, iOS)
- Mozilla Thunderbird
- Evolution
- GNOME Kontakte
- Jeder CardDAV-kompatible Client
Aufgaben und Erinnerungen (CalDAV VTODO)
Tip
Forward Email unterstützt Aufgaben und Erinnerungen über CalDAV VTODO.
VTODO ist Teil des iCalendar-Formats und ermöglicht die Aufgabenverwaltung über CalDAV.
Hauptfunktionen:
- Erstellung und Verwaltung von Aufgaben
- Fälligkeitsdaten und Prioritäten
- Nachverfolgung des Aufgabenstatus
- Wiederkehrende Aufgaben
- Aufgabenlisten/Kategorien
Kompatible Clients:
- Apple Erinnerungen (macOS, iOS)
- Mozilla Thunderbird (mit Lightning)
- Evolution
- GNOME To Do
- Jeder CalDAV-Client mit VTODO-Unterstützung
CalDAV/CardDAV Synchronisationsablauf
Nicht unterstützte Kalendererweiterungen
Die folgenden Kalendererweiterungen werden NICHT unterstützt:
| RFC | Titel | Grund |
|---|---|---|
| RFC 4918 | HTTP-Erweiterungen für verteiltes Web-Autorensystem und Versionierung (WebDAV) | CalDAV verwendet WebDAV-Konzepte, implementiert aber nicht das vollständige RFC 4918 |
| RFC 6578 | Sammlungssynchronisation für WebDAV | Nicht implementiert |
| RFC 3744 | WebDAV-Zugriffskontrollprotokoll | Nicht implementiert |
E-Mail-Nachrichtenfilterung
Important
Forward Email bietet volle Sieve- und ManageSieve-Unterstützung für serverseitige E-Mail-Filterung. Erstellen Sie leistungsstarke Regeln, um eingehende Nachrichten automatisch zu sortieren, filtern, weiterzuleiten und zu beantworten.
Sieve (RFC 5228)
Sieve ist eine standardisierte, leistungsstarke Skriptsprache für serverseitige E-Mail-Filterung. Forward Email implementiert umfassende Sieve-Unterstützung mit 24 Erweiterungen.
Quellcode: helpers/sieve/
Unterstützte Kern-Sieve-RFCs
| RFC | Titel | Status |
|---|---|---|
| RFC 5228 | Sieve: Eine Sprache zur E-Mail-Filterung | ✅ Volle Unterstützung |
| RFC 5429 | Sieve E-Mail-Filterung: Reject- und Extended Reject-Erweiterungen | ✅ Volle Unterstützung |
| RFC 5230 | Sieve E-Mail-Filterung: Urlaubs-Erweiterung | ✅ Volle Unterstützung |
| RFC 6131 | Sieve Urlaubs-Erweiterung: "Seconds"-Parameter | ✅ Volle Unterstützung |
| RFC 5232 | Sieve E-Mail-Filterung: Imap4flags-Erweiterung | ✅ Volle Unterstützung |
| RFC 5173 | Sieve E-Mail-Filterung: Body-Erweiterung | ✅ Volle Unterstützung |
| RFC 5229 | Sieve E-Mail-Filterung: Variablen-Erweiterung | ✅ Volle Unterstützung |
| RFC 5231 | Sieve E-Mail-Filterung: Relationale Erweiterung | ✅ Volle Unterstützung |
| RFC 4790 | Internet Application Protocol Collation Registry | ✅ Volle Unterstützung |
| RFC 3894 | Sieve-Erweiterung: Kopieren ohne Nebeneffekte | ✅ Volle Unterstützung |
| RFC 5293 | Sieve E-Mail-Filterung: Editheader-Erweiterung | ✅ Volle Unterstützung |
| RFC 5260 | Sieve E-Mail-Filterung: Datums- und Index-Erweiterungen | ✅ Volle Unterstützung |
| RFC 5435 | Sieve E-Mail-Filterung: Erweiterung für Benachrichtigungen | ✅ Volle Unterstützung |
| RFC 5183 | Sieve E-Mail-Filterung: Umgebungs-Erweiterung | ✅ Volle Unterstützung |
| RFC 5490 | Sieve E-Mail-Filterung: Erweiterungen zur Überprüfung des Postfachstatus | ✅ Volle Unterstützung |
| RFC 8579 | Sieve E-Mail-Filterung: Zustellung an spezielle Postfächer | ✅ Volle Unterstützung |
| RFC 7352 | Sieve E-Mail-Filterung: Erkennung doppelter Zustellungen | ✅ Volle Unterstützung |
| RFC 5463 | Sieve E-Mail-Filterung: Ihave-Erweiterung | ✅ Volle Unterstützung |
| RFC 5233 | Sieve E-Mail-Filterung: Subaddress-Erweiterung | ✅ Volle Unterstützung |
| draft-ietf-sieve-regex | Sieve E-Mail-Filterung: Regulärer Ausdruck Erweiterung | ✅ Volle Unterstützung |
Unterstützte Sieve-Erweiterungen
| Erweiterung | Beschreibung | Integration |
|---|---|---|
fileinto |
Nachrichten in bestimmte Ordner ablegen | Nachrichten werden im angegebenen IMAP-Ordner gespeichert |
reject / ereject |
Nachrichten mit einem Fehler ablehnen | SMTP-Ablehnung mit Bounce-Nachricht |
vacation |
Automatische Abwesenheits-/Urlaubsantworten | Warteschlange über Emails.queue mit Ratenbegrenzung |
vacation-seconds |
Feingranulare Abwesenheitsantwort-Intervalle | TTL aus dem :seconds Parameter |
imap4flags |
IMAP-Flags setzen (\Seen, \Flagged, etc.) | Flags werden während der Nachrichtenspeicherung angewendet |
envelope |
Absender/Empfänger im Umschlag testen | Zugriff auf SMTP-Umschlagdaten |
body |
Nachrichtentext-Inhalt testen | Vollständige Textsuche im Nachrichtentext |
variables |
Variablen in Skripten speichern und verwenden | Variablenerweiterung mit Modifikatoren |
relational |
Relationale Vergleiche | :count, :value mit gt/lt/eq |
comparator-i;ascii-numeric |
Numerische Vergleiche | Numerischer Stringvergleich |
copy |
Nachrichten beim Weiterleiten kopieren | :copy Flag bei fileinto/redirect |
editheader |
Nachrichten-Header hinzufügen oder löschen | Header werden vor der Speicherung geändert |
date |
Datums-/Zeitwerte testen | currentdate und Header-Datumsprüfungen |
index |
Zugriff auf bestimmte Header-Vorkommen | :index für mehrwertige Header |
regex |
Reguläre Ausdrücke verwenden | Vollständige Regex-Unterstützung bei Tests |
enotify |
Benachrichtigungen senden | mailto: Benachrichtigungen über Emails.queue |
environment |
Zugriff auf Umgebungsinformationen | Domain, Host, remote-ip aus der Sitzung |
mailbox |
Postfach-Existenz testen | mailboxexists Test |
special-use |
In spezielle Postfächer ablegen | Ordnerzuordnung für \Junk, \Trash, etc. |
duplicate |
Doppelte Nachrichten erkennen | Redis-basierte Duplikaterkennung |
ihave |
Verfügbarkeit von Erweiterungen testen | Laufzeit-Fähigkeitsprüfung |
subaddress |
Zugriff auf user+detail Adressteile | :user und :detail Adressteile |
Nicht unterstützte Sieve-Erweiterungen
| Erweiterung | RFC | Grund |
|---|---|---|
include |
RFC 6609 | Sicherheitsrisiko (Skripteinbindung), erfordert globale Skriptspeicherung |
mboxmetadata / servermetadata |
RFC 5490 | Erfordert IMAP METADATA Erweiterung |
fcc |
RFC 8580 | Erfordert Integration des Gesendet-Ordners |
encoded-character |
RFC 5228 | Parser-Anpassungen für ${hex:} Syntax erforderlich |
foreverypart / mime / extracttext |
RFC 5703 | Komplexe MIME-Baum-Manipulation |
Sieve-Verarbeitungsablauf
Sicherheitsfunktionen
Die Sieve-Implementierung von Forward Email beinhaltet umfassende Sicherheitsmaßnahmen:
- CVE-2023-26430 Schutz: Verhindert Weiterleitungsschleifen und Mail-Bombing-Angriffe
- Ratenbegrenzung: Limits für Weiterleitungen (10/Nachricht, 100/Tag) und Urlaubsantworten
- Denylist-Prüfung: Weiterleitungsadressen werden gegen die Sperrliste geprüft
- Geschützte Header: DKIM-, ARC- und Authentifizierungsheader können nicht über editheader verändert werden
- Skriptgrößenbegrenzung: Maximale Skriptgröße wird durchgesetzt
- Ausführungs-Timeouts: Skripte werden beendet, wenn die Ausführungszeit überschritten wird
Beispiel-Sieve-Skripte
Newsletter in einen Ordner ablegen:
require ["fileinto"];
if header :contains "List-Id" "newsletter" {
fileinto "Newsletters";
}
Urlaubs-Autoantwort mit feiner Zeitsteuerung:
require ["vacation", "vacation-seconds"];
vacation :seconds 3600 :subject "Abwesend"
"Ich bin derzeit nicht erreichbar und antworte innerhalb von 24 Stunden.";
Spam-Filterung mit Flags:
require ["fileinto", "imap4flags"];
if header :contains "X-Spam-Status" "Yes" {
setflag "\\Seen";
fileinto "Junk";
}
Komplexe Filterung mit Variablen:
require ["variables", "fileinto", "regex"];
if header :regex "From" "(.+)@example\\.com" {
set :lower "sender" "${1}";
fileinto "Contacts/${sender}";
}
Tip
Für vollständige Dokumentation, Beispielskripte und Konfigurationsanleitungen siehe FAQ: Unterstützen Sie Sieve-E-Mail-Filterung?
ManageSieve (RFC 5804)
Forward Email bietet vollständige ManageSieve-Protokollunterstützung zur Fernverwaltung von Sieve-Skripten.
Quellcode: managesieve-server.js
| RFC | Titel | Status |
|---|---|---|
| RFC 5804 | Ein Protokoll zur Fernverwaltung von Sieve-Skripten | ✅ Volle Unterstützung |
ManageSieve-Server-Konfiguration
| Einstellung | Wert |
|---|---|
| Server | imap.forwardemail.net |
| Port (STARTTLS) | 2190 (empfohlen) |
| Port (Implizites TLS) | 4190 |
| Authentifizierung | PLAIN (über TLS) |
Hinweis: Port 2190 verwendet STARTTLS (Upgrade von Plain zu TLS) und ist kompatibel mit den meisten ManageSieve-Clients, einschließlich sieve-connect. Port 4190 verwendet implizites TLS (TLS ab Verbindungsbeginn) für Clients, die dies unterstützen.
Unterstützte ManageSieve-Befehle
| Befehl | Beschreibung |
|---|---|
AUTHENTICATE |
Authentifizierung mit PLAIN-Mechanismus |
CAPABILITY |
Auflisten der Serverfähigkeiten und Erweiterungen |
HAVESPACE |
Prüfen, ob Skript gespeichert werden kann |
PUTSCRIPT |
Hochladen eines neuen Skripts |
LISTSCRIPTS |
Auflisten aller Skripte mit Aktivstatus |
SETACTIVE |
Aktivieren eines Skripts |
GETSCRIPT |
Herunterladen eines Skripts |
DELETESCRIPT |
Löschen eines Skripts |
RENAMESCRIPT |
Umbenennen eines Skripts |
CHECKSCRIPT |
Validierung der Skriptsyntax |
NOOP |
Verbindung aktiv halten |
LOGOUT |
Sitzung beenden |
Kompatible ManageSieve-Clients
- Thunderbird: Eingebaute Sieve-Unterstützung über das Sieve Add-on
- Roundcube: ManageSieve Plugin
- KMail: Native ManageSieve-Unterstützung
- sieve-connect: Kommandozeilen-Client
- Jeder RFC 5804 konforme Client
ManageSieve-Protokollablauf
Web-Oberfläche und API
Zusätzlich zu ManageSieve bietet Forward Email:
- Web-Dashboard: Erstellen und Verwalten von Sieve-Skripten über die Weboberfläche unter Mein Konto → Domains → Aliase → Sieve-Skripte
- REST API: Programmatischer Zugriff auf die Verwaltung von Sieve-Skripten über die Forward Email API
Tip
Für detaillierte Einrichtungshinweise und Client-Konfiguration siehe FAQ: Unterstützen Sie Sieve-E-Mail-Filterung?
Speicheroptimierung
Important
Branchenweit erste Speichertechnologie: Forward Email ist der einzige E-Mail-Anbieter weltweit, der Anhang-Deduplizierung mit Brotli-Kompression des E-Mail-Inhalts kombiniert. Diese zweischichtige Optimierung bietet Ihnen 2-3x mehr effektiven Speicherplatz im Vergleich zu traditionellen E-Mail-Anbietern.
Forward Email implementiert zwei revolutionäre Speicheroptimierungstechniken, die die Postfachgröße drastisch reduzieren und dabei volle RFC-Konformität und Nachrichtenintegrität bewahren:
- Anhang-Deduplizierung – Eliminierung doppelter Anhänge über alle E-Mails hinweg
- Brotli-Kompression – Reduziert den Speicherbedarf um 46-86 % für Metadaten und 50 % für Anhänge
Architektur: Zweischichtige Speicheroptimierung
Anhang-Deduplizierung
Forward Email implementiert Anhang-Deduplizierung basierend auf dem bewährten Ansatz von WildDuck, angepasst für SQLite-Speicherung.
Note
Was dedupliziert wird: „Anhang“ bezieht sich auf den kodierten MIME-Knoteninhalt (base64 oder quoted-printable), nicht auf die dekodierte Datei. Dies bewahrt die Gültigkeit von DKIM- und GPG-Signaturen.
Funktionsweise
WildDucks Originalimplementierung (MongoDB GridFS):
Wild Duck IMAP-Server dedupliziert Anhänge. „Anhang“ bedeutet in diesem Fall die base64- oder quoted-printable-kodierten MIME-Knoteninhalte, nicht die dekodierte Datei. Obwohl die Verwendung kodierter Inhalte viele False Negatives verursacht (dasselbe Datei in verschiedenen E-Mails als unterschiedliche Anhänge gezählt werden kann), ist dies notwendig, um die Gültigkeit verschiedener Signaturschemata (DKIM, GPG etc.) zu gewährleisten. Eine von Wild Duck abgerufene Nachricht sieht genau so aus wie die gespeicherte Nachricht, obwohl Wild Duck die Nachricht in ein baumartiges Objekt parst und die Nachricht beim Abruf wieder zusammensetzt. Forward Emails SQLite-Implementierung:
Forward Email passt diesen Ansatz für die verschlüsselte SQLite-Speicherung mit folgendem Prozess an:
- Hash-Berechnung: Wenn ein Anhang gefunden wird, wird ein Hash mit der
rev-hash-Bibliothek aus dem Anhangsinhalt berechnet - Nachschlagen: Prüfen, ob ein Anhang mit passendem Hash in der Tabelle
Attachmentsexistiert - Referenzzählung:
- Falls vorhanden: Referenzzähler um 1 erhöhen und Magic-Zähler um eine Zufallszahl erhöhen
- Falls neu: Neuen Anhangseintrag mit Zähler = 1 erstellen
- Löschungssicherheit: Verwendet ein Dual-Zähler-System (Referenz + Magic), um Fehlalarme zu vermeiden
- Garbage Collection: Anhänge werden sofort gelöscht, wenn beide Zähler null erreichen
Quellcode: helpers/attachment-storage.js
Deduplication Flow
Magic Number System
Forward Email verwendet WildDucks "Magic Number"-System (inspiriert von Mail.ru), um Fehlalarme bei der Löschung zu verhindern:
- Jede Nachricht erhält eine Zufallszahl zugewiesen
- Der Magic-Zähler des Anhangs wird beim Hinzufügen der Nachricht um diese Zufallszahl erhöht
- Der Magic-Zähler wird beim Löschen der Nachricht um dieselbe Zahl verringert
- Der Anhang wird nur gelöscht, wenn beide Zähler (Referenz + Magic) null erreichen
Dieses Dual-Zähler-System stellt sicher, dass bei Problemen während der Löschung (z. B. Absturz, Netzwerkfehler) der Anhang nicht zu früh gelöscht wird.
Hauptunterschiede: WildDuck vs Forward Email
| Feature | WildDuck (MongoDB) | Forward Email (SQLite) |
|---|---|---|
| Speicher-Backend | MongoDB GridFS (chunked) | SQLite BLOB (direkt) |
| Hash-Algorithmus | SHA256 | rev-hash (SHA-256 basiert) |
| Referenzzählung | ✅ Ja | ✅ Ja |
| Magic Numbers | ✅ Ja (Mail.ru inspiriert) | ✅ Ja (gleiches System) |
| Garbage Collection | Verzögert (separater Job) | Sofort (bei Null-Zählern) |
| Kompression | ❌ Keine | ✅ Brotli (siehe unten) |
| Verschlüsselung | ❌ Optional | ✅ Immer (ChaCha20-Poly1305) |
Brotli-Kompression
Important
Weltweit erste: Forward Email ist der einzige E-Mail-Dienst weltweit, der Brotli-Kompression auf E-Mail-Inhalte anwendet. Dies bietet 46-86% Speicherersparnis zusätzlich zur Anhangs-Deduplizierung.
Forward Email implementiert Brotli-Kompression sowohl für Anhangsinhalte als auch für Nachrichten-Metadaten und ermöglicht so enorme Speicherersparnisse bei gleichzeitiger Rückwärtskompatibilität.
Implementierung: helpers/msgpack-helpers.js
Was wird komprimiert
1. Anhangsinhalte (encodeAttachmentBody)
- Alte Formate: Hex-kodierter String (2x Größe) oder rohes Buffer
- Neues Format: Brotli-komprimierter Buffer mit "FEBR"-Magic-Header
- Kompressionsentscheidung: Komprimiert nur, wenn Speicher gespart wird (berücksichtigt 4-Byte-Header)
- Speicherersparnis: Bis zu 50% (Hex → nativer BLOB)
2. Nachrichten-Metadaten (
encodeMetadata)
Enthält: mimeTree, headers, envelope, flags
- Altes Format: JSON-Textstring
- Neues Format: Brotli-komprimierter Buffer
- Speichereinsparungen: 46-86% je nach Nachrichtenkomplexität
Kompressionskonfiguration
// Brotli-Kompressionsoptionen optimiert für Geschwindigkeit (Level 4 ist ein guter Kompromiss)
const BROTLI_COMPRESS_OPTIONS = {
params: {
[zlib.constants.BROTLI_PARAM_QUALITY]: 4
}
};
Warum Level 4?
- Schnelle Kompression/Dekompression: Verarbeitung in Sub-Millisekunden
- Gutes Kompressionsverhältnis: 46-86% Einsparungen
- Ausgewogene Leistung: Optimal für Echtzeit-E-Mail-Operationen
Magic Header: "FEBR"
Forward Email verwendet einen 4-Byte Magic Header, um komprimierte Anhangsinhalte zu identifizieren:
"FEBR" = Forward Email BRotli
Hex: 0x46 0x45 0x42 0x52
Warum ein Magic Header?
- Format-Erkennung: Sofortige Unterscheidung zwischen komprimierten und unkomprimierten Daten
- Abwärtskompatibilität: Alte Hex-Strings und rohe Buffer funktionieren weiterhin
- Kollisionsvermeidung: "FEBR" erscheint unwahrscheinlich am Anfang legitimer Anhangsdaten
Kompressionsprozess
Dekompressionsprozess
Abwärtskompatibilität
Alle Dekodierfunktionen erkennen automatisch das Speicherformat:
| Format | Erkennungsmethode | Behandlung |
|---|---|---|
| Brotli-komprimiert | Prüfung auf "FEBR" Magic Header | Dekomprimieren mit zlib.brotliDecompressSync() |
| Roher Buffer | Buffer.isBuffer() ohne Magic Header |
Unverändert zurückgeben |
| Hex-String | Prüfung auf gerade Länge + [0-9a-f] Zeichen | Dekodieren mit Buffer.from(value, 'hex') |
| JSON-String | Prüfung auf erstes Zeichen { oder [ |
Parsen mit JSON.parse() |
Dies gewährleistet keinen Datenverlust bei der Migration von alten zu neuen Speicherformaten.
Statistiken zu Speichereinsparungen
Gemessene Einsparungen anhand von Produktionsdaten:
| Datentyp | Altes Format | Neues Format | Einsparungen |
|---|---|---|---|
| Anhangsinhalte | Hex-kodierter String (2x) | Brotli-komprimiertes BLOB | 50% |
| Nachrichten-Metadaten | JSON-Text | Brotli-komprimiertes BLOB | 46-86% |
| Mailbox-Flags | JSON-Text | Brotli-komprimiertes BLOB | 60-80% |
Quelle: helpers/migrate-storage-format.js
Migrationsprozess
Forward Email bietet eine automatische, idempotente Migration von alten zu neuen Speicherformaten: // Verfolgte Migrationsstatistiken: { attachmentsMigrated: 0, messagesMigrated: 0, mailboxesMigrated: 0, bytesSaved: 0 // Insgesamt durch Kompression eingesparte Bytes }
**Migrationsschritte:**
1. Anhangsinhalte: Hex-Codierung → native BLOB (50% Einsparung)
2. Nachrichten-Metadaten: JSON-Text → brotli-komprimierter BLOB (46-86% Einsparung)
3. Postfach-Flags: JSON-Text → brotli-komprimierter BLOB (60-80% Einsparung)
**Quelle:** [`helpers/migrate-storage-format.js`](https://github.com/forwardemail/forwardemail.net/blob/master/helpers/migrate-storage-format.js)
---
### Kombinierte Speichereffizienz {#combined-storage-efficiency}
> \[!TIP]
> **Praxisrelevanter Effekt:** Mit Anhangs-Deduplizierung + Brotli-Kompression erhalten Forward Email Nutzer **2-3x mehr effektiven Speicher** im Vergleich zu traditionellen E-Mail-Anbietern.
**Beispielszenario:**
Traditioneller E-Mail-Anbieter (1GB Postfach):
* 1GB Speicherplatz = 1GB E-Mails
* Keine Deduplizierung: Derselbe Anhang 10-mal gespeichert = 10x Speicherverlust
* Keine Kompression: Volle JSON-Metadaten gespeichert = 2-3x Speicherverlust
Forward Email (1GB Postfach):
* 1GB Speicherplatz ≈ **2-3GB E-Mails** (effektiver Speicher)
* Deduplizierung: Derselbe Anhang einmal gespeichert, 10-mal referenziert
* Kompression: 46-86% Einsparung bei Metadaten, 50% bei Anhängen
* Verschlüsselung: ChaCha20-Poly1305 (kein Speicher-Overhead)
**Vergleichstabelle:**
| Anbieter | Speichertechnologie | Effektiver Speicher (1GB Postfach) |
| ----------------- | -------------------------------------------- | ---------------------------------- |
| Gmail | Keine | 1GB |
| iCloud | Keine | 1GB |
| Outlook.com | Keine | 1GB |
| Fastmail | Keine | 1GB |
| ProtonMail | Nur Verschlüsselung | 1GB |
| Tutanota | Nur Verschlüsselung | 1GB |
| **Forward Email** | **Deduplizierung + Kompression + Verschlüsselung** | **2-3GB** ✨ |
### Technische Implementierungsdetails {#technical-implementation-details}
**Leistung:**
* Brotli Stufe 4: Kompression/Dekompression unter einer Millisekunde
* Keine Leistungseinbußen durch Kompression
* SQLite FTS5: Suche unter 50ms mit NVMe SSD
**Sicherheit:**
* Kompression erfolgt **nach** der Verschlüsselung (SQLite-Datenbank ist verschlüsselt)
* ChaCha20-Poly1305 Verschlüsselung + Brotli-Kompression
* Zero-Knowledge: Nur der Nutzer besitzt das Entschlüsselungspasswort
**RFC-Konformität:**
* Abgerufene Nachrichten sehen **genau so aus** wie gespeichert
* DKIM-Signaturen bleiben gültig (kodierter Inhalt bleibt erhalten)
* GPG-Signaturen bleiben gültig (keine Änderung des signierten Inhalts)
### Warum kein anderer Anbieter das macht {#why-no-other-provider-does-this}
**Komplexität:**
* Erfordert tiefe Integration in die Speicherebene
* Rückwärtskompatibilität ist herausfordernd
* Migration von alten Formaten ist komplex
**Leistungsbedenken:**
* Kompression verursacht CPU-Overhead (gelöst mit Brotli Stufe 4)
* Dekompression bei jedem Lesen (gelöst durch SQLite-Caching)
**Vorteil von Forward Email:**
* Von Grund auf mit Optimierung im Blick entwickelt
* SQLite erlaubt direkte BLOB-Manipulation
* Pro-Nutzer verschlüsselte Datenbanken ermöglichen sichere Kompression
---
---
## Moderne Funktionen {#modern-features}
## Vollständige REST-API für E-Mail-Verwaltung {#complete-rest-api-for-email-management}
> \[!TIP]
> Forward Email bietet eine umfassende REST-API mit 39 Endpunkten für die programmatische E-Mail-Verwaltung.
> \[!TIP]
> **Einzigartiges Branchenmerkmal:** Im Gegensatz zu allen anderen E-Mail-Diensten bietet Forward Email vollständigen programmatischen Zugriff auf Ihr Postfach, Ihren Kalender, Kontakte, Nachrichten und Ordner über eine umfassende REST-API. Dies ist die direkte Interaktion mit Ihrer verschlüsselten SQLite-Datenbankdatei, die alle Ihre Daten speichert.
Forward Email bietet eine vollständige REST-API, die beispiellosen Zugriff auf Ihre E-Mail-Daten ermöglicht. Kein anderer E-Mail-Dienst (einschließlich Gmail, iCloud, Outlook, ProtonMail, Tuta oder Fastmail) bietet dieses Maß an umfassendem, direktem Datenbankzugriff.
**API-Dokumentation:** <https://forwardemail.net/en/email-api>
### API-Kategorien (39 Endpunkte) {#api-categories-39-endpoints}
**1. Nachrichten-API** (5 Endpunkte) – Vollständige CRUD-Operationen für E-Mail-Nachrichten:
* `GET /v1/messages` – Nachrichten mit 15+ erweiterten Suchparametern auflisten (kein anderer Dienst bietet das)
* `POST /v1/messages` – Nachrichten erstellen/senden
* `GET /v1/messages/:id` – Nachricht abrufen
* `PUT /v1/messages/:id` – Nachricht aktualisieren (Flags, Ordner)
* `DELETE /v1/messages/:id` – Nachricht löschen
*Beispiel: Alle Rechnungen aus dem letzten Quartal mit Anhängen finden:*
```bash
curl -u "alias@domain.com:password" \
"https://api.forwardemail.net/v1/messages?q=subject:invoice+has:attachment+after:2024-01-01+before:2024-04-01"
Siehe Erweiterte Suchdokumentation
2. Ordner-API (5 Endpunkte) – Vollständige IMAP-Ordnerverwaltung über REST:
GET /v1/folders– Alle Ordner auflistenPOST /v1/folders– Ordner erstellenGET /v1/folders/:id– Ordner abrufenPUT /v1/folders/:id– Ordner aktualisierenDELETE /v1/folders/:id– Ordner löschen
3. Kontakte-API (5 Endpunkte) – CardDAV-Kontaktspeicherung über REST:
GET /v1/contacts– Kontakte auflistenPOST /v1/contacts– Kontakt erstellen (vCard-Format)GET /v1/contacts/:id– Kontakt abrufenPUT /v1/contacts/:id– Kontakt aktualisierenDELETE /v1/contacts/:id– Kontakt löschen
4. Kalender-API (5 Endpunkte) – Verwaltung von Kalendercontainern:
GET /v1/calendars– Kalendercontainer auflistenPOST /v1/calendars– Kalender erstellen (z. B. „Arbeitskalender“, „Privater Kalender“)GET /v1/calendars/:id– Kalender abrufenPUT /v1/calendars/:id– Kalender aktualisierenDELETE /v1/calendars/:id– Kalender löschen
5. Kalenderereignisse-API (5 Endpunkte) – Terminplanung innerhalb von Kalendern:
GET /v1/calendar-events– Ereignisse auflistenPOST /v1/calendar-events– Ereignis mit Teilnehmern erstellenGET /v1/calendar-events/:id– Ereignis abrufenPUT /v1/calendar-events/:id– Ereignis aktualisierenDELETE /v1/calendar-events/:id– Ereignis löschen
Beispiel: Ein Kalenderereignis erstellen:
curl -u "alias@domain.com:password" \
-X POST \
-H "Content-Type: application/json" \
-d '{"title":"Team-Meeting","start":"2024-12-20T10:00:00Z","attendees":["team@example.com"],"calendar_id":"calendar123"}' \
https://api.forwardemail.net/v1/calendar-events
Technische Details
- Authentifizierung: Einfache
alias:password-Authentifizierung (keine OAuth-Komplexität) - Performance: Antwortzeiten unter 50 ms mit SQLite FTS5 und NVMe SSD-Speicher
- Keine Netzwerklatenz: Direkter Datenbankzugriff, nicht über externe Dienste vermittelt
Praxisbeispiele
-
E-Mail-Analysen: Eigene Dashboards zur Verfolgung von E-Mail-Volumen, Antwortzeiten, Absenderstatistiken erstellen
-
Automatisierte Workflows: Aktionen basierend auf E-Mail-Inhalten auslösen (Rechnungsverarbeitung, Support-Tickets)
-
CRM-Integration: E-Mail-Konversationen automatisch mit Ihrem CRM synchronisieren
-
Compliance & Discovery: E-Mails für rechtliche/Compliance-Anforderungen durchsuchen und exportieren
-
Individuelle E-Mail-Clients: Spezialisierte E-Mail-Oberflächen für Ihren Workflow erstellen
-
Business Intelligence: Kommunikationsmuster, Antwortquoten, Kundenbindung analysieren
-
Dokumentenmanagement: Anhänge automatisch extrahieren und kategorisieren
Forward Email bietet eine moderne REST-API, die vollständige Kontrolle über E-Mail-Konten, Domains, Aliase und Nachrichten ermöglicht. Diese API ist eine leistungsstarke Alternative zu JMAP und bietet Funktionen, die über traditionelle E-Mail-Protokolle hinausgehen.
| Kategorie | Endpunkte | Beschreibung |
|---|---|---|
| Kontoverwaltung | 8 | Benutzerkonten, Authentifizierung, Einstellungen |
| Domainverwaltung | 12 | Eigene Domains, DNS, Verifizierung |
| Alias-Verwaltung | 6 | E-Mail-Aliase, Weiterleitung, Catch-all |
| Nachrichtenverwaltung | 7 | Nachrichten senden, empfangen, suchen, löschen |
| Kalender & Kontakte | 4 | CalDAV/CardDAV-Zugriff über API |
| Protokolle & Analysen | 2 | E-Mail-Protokolle, Zustellberichte |
Wichtige API-Funktionen
Erweiterte Suche:
Die API bietet leistungsstarke Suchfunktionen mit einer Abfragesyntax ähnlich wie bei Gmail:
GET /v1/messages?q=subject:invoice+has:attachment+after:2024-01-01+before:2024-04-01
Unterstützte Suchoperatoren:
from:- Suche nach Absenderto:- Suche nach Empfängersubject:- Suche nach Betreffhas:attachment- Nachrichten mit Anhängenis:unread- Ungelesene Nachrichtenis:starred- Markierte Nachrichtenafter:- Nachrichten nach Datumbefore:- Nachrichten vor Datumlabel:- Nachrichten mit Labelfilename:- Dateiname des Anhangs
Kalenderereignis-Verwaltung:
GET /v1/calendar-events
POST /v1/calendar-events
PUT /v1/calendar-events/:id
DELETE /v1/calendar-events/:id
Webhook-Integrationen:
Die API unterstützt Webhooks für Echtzeit-Benachrichtigungen zu E-Mail-Ereignissen (empfangen, gesendet, zurückgewiesen usw.).
Authentifizierung:
- API-Schlüssel-Authentifizierung
- OAuth 2.0-Unterstützung
- Ratenbegrenzung: 1000 Anfragen/Stunde
Datenformat:
- JSON Anfrage/Antwort
- RESTful Design
- Unterstützung für Paginierung
Sicherheit:
- Nur HTTPS
- API-Schlüssel-Rotation
- IP-Whitelist (optional)
- Anfragesignierung (optional)
API-Architektur
iOS Push-Benachrichtigungen
Tip
Forward Email unterstützt native iOS Push-Benachrichtigungen über XAPPLEPUSHSERVICE für sofortige E-Mail-Zustellung.
Important
Einzigartiges Feature: Forward Email ist einer der wenigen Open-Source-E-Mail-Server, die native iOS Push-Benachrichtigungen für E-Mails, Kontakte und Kalender über die XAPPLEPUSHSERVICE IMAP-Erweiterung unterstützen. Diese wurde durch Reverse Engineering von Apples Protokoll entwickelt und ermöglicht eine sofortige Zustellung auf iOS-Geräten ohne Batterieverschleiß.
Forward Email implementiert die proprietäre XAPPLEPUSHSERVICE-Erweiterung von Apple und bietet native Push-Benachrichtigungen für iOS-Geräte, ohne dass Hintergrund-Polling erforderlich ist.
Funktionsweise
XAPPLEPUSHSERVICE ist eine nicht standardisierte IMAP-Erweiterung, die es der iOS Mail-App ermöglicht, sofortige Push-Benachrichtigungen zu erhalten, wenn neue E-Mails eintreffen.
Forward Email implementiert die proprietäre Apple Push Notification Service (APNs) Integration für IMAP, wodurch die iOS Mail-App sofortige Push-Benachrichtigungen bei neuen E-Mails erhält.
Hauptfunktionen
Sofortige Zustellung:
- Push-Benachrichtigungen kommen innerhalb von Sekunden an
- Kein batterieverbrauchendes Hintergrund-Polling
- Funktioniert auch, wenn die Mail-App geschlossen ist
-
Sofortige Zustellung: E-Mails, Kalenderereignisse und Kontakte erscheinen sofort auf Ihrem iPhone/iPad, nicht nach einem Polling-Zeitplan
-
Batterieschonend: Nutzt Apples Push-Infrastruktur statt dauerhafter IMAP-Verbindungen
-
Themenbasierte Push-Benachrichtigungen: Unterstützt Push-Benachrichtigungen für bestimmte Postfächer, nicht nur INBOX
-
Keine Drittanbieter-Apps erforderlich: Funktioniert mit den nativen iOS Mail-, Kalender- und Kontakte-Apps Native Integration:
-
In die iOS Mail-App integriert
-
Keine Drittanbieter-Apps erforderlich
-
Nahtloses Benutzererlebnis
Datenschutzorientiert:
- Gerätetoken sind verschlüsselt
- Kein Nachrichteninhalt wird über APNS gesendet
- Nur "Neue Mail"-Benachrichtigung wird gesendet
Akkuschonend:
- Kein ständiges IMAP-Polling
- Gerät schläft, bis eine Benachrichtigung eintrifft
- Minimale Auswirkung auf den Akku
Was macht das besonders
Important
Die meisten E-Mail-Anbieter unterstützen XAPPLEPUSHSERVICE nicht, wodurch iOS-Geräte alle 15 Minuten nach neuer Mail abfragen müssen.
Die meisten Open-Source-E-Mail-Server (einschließlich Dovecot, Postfix, Cyrus IMAP) unterstützen iOS-Push-Benachrichtigungen NICHT. Benutzer müssen entweder:
- IMAP IDLE verwenden (hält Verbindung offen, verbraucht Akku)
- Polling verwenden (prüft alle 15-30 Minuten, verzögerte Benachrichtigungen)
- Proprietäre E-Mail-Apps mit eigener Push-Infrastruktur verwenden
Forward Email bietet das gleiche sofortige Push-Benachrichtigungserlebnis wie kommerzielle Dienste wie Gmail, iCloud und Fastmail.
Vergleich mit anderen Anbietern:
| Anbieter | Push-Unterstützung | Abfrageintervall | Akku-Auswirkung |
|---|---|---|---|
| Forward Email | ✅ Native Push | Sofort | Minimal |
| Gmail | ✅ Native Push | Sofort | Minimal |
| iCloud | ✅ Native Push | Sofort | Minimal |
| Yahoo | ✅ Native Push | Sofort | Minimal |
| Outlook.com | ❌ Polling | 15 Minuten | Mittel |
| Fastmail | ❌ Polling | 15 Minuten | Mittel |
| ProtonMail | ⚠️ Nur Bridge | Über Bridge | Hoch |
| Tutanota | ❌ Nur App | N/A | N/A |
Implementierungsdetails
IMAP CAPABILITY Antwort:
* CAPABILITY IMAP4rev1 ... XAPPLEPUSHSERVICE ...
Registrierungsprozess:
- iOS Mail-App erkennt XAPPLEPUSHSERVICE-Fähigkeit
- App registriert Gerätetoken bei Forward Email
- Forward Email speichert Token und verknüpft es mit dem Konto
- Bei neuer Mail sendet Forward Email Push über APNS
- iOS weckt Mail-App auf, um neue Nachrichten abzurufen
Sicherheit:
- Gerätetoken sind im Ruhezustand verschlüsselt
- Token verfallen und werden automatisch erneuert
- Kein Nachrichteninhalt wird an APNS weitergegeben
- Ende-zu-Ende-Verschlüsselung bleibt erhalten
- IMAP-Erweiterung:
XAPPLEPUSHSERVICE - Quellcode: WildDuck Issue #711
- Setup: Automatisch – keine Konfiguration nötig, funktioniert sofort mit iOS Mail-App
Vergleich mit anderen Diensten
| Dienst | iOS Push-Unterstützung | Methode |
|---|---|---|
| Forward Email | ✅ Ja | XAPPLEPUSHSERVICE (reverse-engineered) |
| Gmail | ✅ Ja | Proprietäre Gmail-App + Google Push |
| iCloud Mail | ✅ Ja | Native Apple-Integration |
| Outlook.com | ✅ Ja | Proprietäre Outlook-App + Microsoft Push |
| Fastmail | ✅ Ja | XAPPLEPUSHSERVICE |
| Dovecot | ❌ Nein | Nur IMAP IDLE oder Polling |
| Postfix | ❌ Nein | Nur IMAP IDLE oder Polling |
| Cyrus IMAP | ❌ Nein | Nur IMAP IDLE oder Polling |
Gmail Push:
Gmail verwendet ein proprietäres Push-System, das nur mit der Gmail-App funktioniert. Die iOS Mail-App muss die Gmail IMAP-Server abfragen.
iCloud Push:
iCloud hat native Push-Unterstützung ähnlich wie Forward Email, jedoch nur für @icloud.com-Adressen.
Outlook.com unterstützt XAPPLEPUSHSERVICE nicht, weshalb iOS Mail alle 15 Minuten abfragen muss.
Fastmail:
Fastmail unterstützt XAPPLEPUSHSERVICE nicht. Benutzer müssen die Fastmail-App für Push-Benachrichtigungen verwenden oder 15-minütige Abfrageverzögerungen akzeptieren.
Testen und Verifizieren
Protokoll-Fähigkeitstests
Note
Dieser Abschnitt enthält die Ergebnisse unserer neuesten Protokollfähigkeits-Tests, die am 22. Januar 2026 durchgeführt wurden.
Dieser Abschnitt enthält die tatsächlichen CAPABILITY/CAPA/EHLO-Antworten aller getesteten Anbieter. Alle Tests wurden am 22. Januar 2026 durchgeführt.
Diese Tests helfen dabei, die beworbene und tatsächliche Unterstützung für verschiedene E-Mail-Protokolle und Erweiterungen bei großen Anbietern zu überprüfen.
Testmethodik
Testumgebung:
- Datum: 22. Januar 2026 um 02:37 UTC
- Standort: AWS EC2-Instanz
- IPv4: 54.167.216.197
- IPv6: 2600:4040:46da:9a00:b19e:3ad4:426c:2f48
- Werkzeuge: OpenSSL s_client, Bash-Skripte
Getestete Anbieter:
- Forward Email
- Gmail
- Outlook.com
- iCloud
- Fastmail
- Yahoo/AOL (Verizon)
Testskripte
Für volle Transparenz sind die genauen Skripte, die für diese Tests verwendet wurden, unten aufgeführt.
IMAP-Fähigkeitstest-Skript
#!/bin/bash
# IMAP Capability Test Script
# Tests IMAP CAPABILITY for various email providers
echo "========================================="
echo "IMAP CAPABILITY TEST"
echo "Date: $(date -u +"%Y-%m-%d %H:%M:%S UTC")"
echo "========================================="
echo ""
# Gmail
echo "--- Gmail (imap.gmail.com:993) ---"
echo -e "a001 CAPABILITY\na002 LOGOUT" | timeout 10 openssl s_client -connect imap.gmail.com:993 -crlf -quiet 2>&1 | grep -A 20 "CAPABILITY"
echo ""
# Outlook.com
echo "--- Outlook.com (outlook.office365.com:993) ---"
echo -e "a001 CAPABILITY\na002 LOGOUT" | timeout 10 openssl s_client -connect outlook.office365.com:993 -crlf -quiet 2>&1 | grep -A 20 "CAPABILITY"
echo ""
# iCloud
echo "--- iCloud (imap.mail.me.com:993) ---"
echo -e "a001 CAPABILITY\na002 LOGOUT" | timeout 10 openssl s_client -connect imap.mail.me.com:993 -crlf -quiet 2>&1 | grep -A 20 "CAPABILITY"
echo ""
# Fastmail
echo "--- Fastmail (imap.fastmail.com:993) ---"
echo -e "a001 CAPABILITY\na002 LOGOUT" | timeout 10 openssl s_client -connect imap.fastmail.com:993 -crlf -quiet 2>&1 | grep -A 20 "CAPABILITY"
echo ""
# Yahoo
echo "--- Yahoo (imap.mail.yahoo.com:993) ---"
echo -e "a001 CAPABILITY\na002 LOGOUT" | timeout 10 openssl s_client -connect imap.mail.yahoo.com:993 -crlf -quiet 2>&1 | grep -A 20 "CAPABILITY"
echo ""
# Forward Email
echo "--- Forward Email (imap.forwardemail.net:993) ---"
echo -e "a001 CAPABILITY\na002 LOGOUT" | timeout 10 openssl s_client -connect imap.forwardemail.net:993 -crlf -quiet 2>&1 | grep -A 20 "CAPABILITY"
echo ""
echo "========================================="
echo "Test completed"
echo "========================================="
POP3-Fähigkeitstest-Skript
#!/bin/bash
# POP3 Capability Test Script
# Tests POP3 CAPA for various email providers
echo "========================================="
echo "POP3 CAPABILITY TEST"
echo "Date: $(date -u +"%Y-%m-%d %H:%M:%S UTC")"
echo "========================================="
echo ""
# Gmail
echo "--- Gmail (pop.gmail.com:995) ---"
echo -e "CAPA\nQUIT" | timeout 10 openssl s_client -connect pop.gmail.com:995 -crlf -quiet 2>&1 | grep -A 20 "CAPA"
echo ""
# Outlook.com
echo "--- Outlook.com (outlook.office365.com:995) ---"
echo -e "CAPA\nQUIT" | timeout 10 openssl s_client -connect outlook.office365.com:995 -crlf -quiet 2>&1 | grep -A 20 "CAPA"
echo ""
# iCloud (Hinweis: iCloud unterstützt kein POP3)
echo "--- iCloud (Kein POP3-Support) ---"
echo "iCloud unterstützt kein POP3"
echo ""
# Fastmail
echo "--- Fastmail (pop.fastmail.com:995) ---"
echo -e "CAPA\nQUIT" | timeout 10 openssl s_client -connect pop.fastmail.com:995 -crlf -quiet 2>&1 | grep -A 20 "CAPA"
echo ""
# Yahoo
echo "--- Yahoo (pop.mail.yahoo.com:995) ---"
echo -e "CAPA\nQUIT" | timeout 10 openssl s_client -connect pop.mail.yahoo.com:995 -crlf -quiet 2>&1 | grep -A 20 "CAPA"
echo ""
# Forward Email
echo "--- Forward Email (pop3.forwardemail.net:995) ---"
echo -e "CAPA\nQUIT" | timeout 10 openssl s_client -connect pop3.forwardemail.net:995 -crlf -quiet 2>&1 | grep -A 20 "CAPA"
echo ""
echo "========================================="
echo "Test completed"
echo "========================================="
SMTP-Fähigkeitstest-Skript
#!/bin/bash
# SMTP Capability Test Script
# Tests SMTP EHLO for various email providers
echo "========================================="
echo "SMTP FÄHIGKEITSTEST"
echo "Datum: $(date -u +"%Y-%m-%d %H:%M:%S UTC")"
echo "========================================="
echo ""
# Gmail
echo "--- Gmail (smtp.gmail.com:587) ---"
echo -e "EHLO test.com\nQUIT" | timeout 10 openssl s_client -connect smtp.gmail.com:587 -starttls smtp -crlf -quiet 2>&1 | grep -A 30 "250-"
echo ""
# Outlook.com
echo "--- Outlook.com (smtp.office365.com:587) ---"
echo -e "EHLO test.com\nQUIT" | timeout 10 openssl s_client -connect smtp.office365.com:587 -starttls smtp -crlf -quiet 2>&1 | grep -A 30 "250-"
echo ""
# iCloud
echo "--- iCloud (smtp.mail.me.com:587) ---"
echo -e "EHLO test.com\nQUIT" | timeout 10 openssl s_client -connect smtp.mail.me.com:587 -starttls smtp -crlf -quiet 2>&1 | grep -A 30 "250-"
echo ""
# Fastmail
echo "--- Fastmail (smtp.fastmail.com:587) ---"
echo -e "EHLO test.com\nQUIT" | timeout 10 openssl s_client -connect smtp.fastmail.com:587 -starttls smtp -crlf -quiet 2>&1 | grep -A 30 "250-"
echo ""
# Yahoo
echo "--- Yahoo (smtp.mail.yahoo.com:587) ---"
echo -e "EHLO test.com\nQUIT" | timeout 10 openssl s_client -connect smtp.mail.yahoo.com:587 -starttls smtp -crlf -quiet 2>&1 | grep -A 30 "250-"
echo ""
# Forward Email
echo "--- Forward Email (smtp.forwardemail.net:587) ---"
echo -e "EHLO test.com\nQUIT" | timeout 10 openssl s_client -connect smtp.forwardemail.net:587 -starttls smtp -crlf -quiet 2>&1 | grep -A 30 "250-"
echo ""
echo "========================================="
echo "Test abgeschlossen"
echo "========================================="
Zusammenfassung der Testergebnisse
IMAP (CAPABILITY)
Forward Email
* CAPABILITY IMAP4rev1 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN CHILDREN ENABLE ID IDLE NAMESPACE QUOTA SASL-IR UNSELECT XLIST XAPPLEPUSHSERVICE
Gmail
* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE ENABLE MOVE CONDSTORE ESEARCH UTF8=ACCEPT LIST-EXTENDED LIST-STATUS LITERAL- SPECIAL-USE
iCloud
* OK [CAPABILITY XAPPLEPUSHSERVICE IMAP4 IMAP4rev1 SASL-IR AUTH=ATOKEN AUTH=PLAIN AUTH=ATOKEN2 AUTH=XOAUTH2]
* CAPABILITY IMAP4rev1 AUTH=PLAIN AUTH=XOAUTH2 SASL-IR UIDPLUS ID UNSELECT CHILDREN IDLE NAMESPACE LITERAL+
Fastmail
* CAPABILITY IMAP4rev1 ACL ANNOTATE-EXPERIMENT-1 CATENATE CONDSTORE ENABLE ESEARCH ESORT I18NLEVEL=1 ID IDLE LIST-EXTENDED LIST-STATUS LITERAL+ LOGINDISABLED MULTIAPPEND NAMESPACE QRESYNC QUOTA RIGHTS=ektx SASL-IR SORT SPECIAL-USE THREAD=ORDEREDSUBJECT UIDPLUS UNSELECT WITHIN X-RENAME XLIST
Yahoo/AOL (Verizon)
* CAPABILITY IMAP4rev1 IDLE NAMESPACE QUOTA ID XLIST CHILDREN UIDPLUS MOVE CONDSTORE ESEARCH ENABLE LIST-EXTENDED LIST-STATUS LITERAL- SPECIAL-USE UNSELECT XAPPLEPUSHSERVICE
POP3 (CAPA)
Forward Email
+OK
CAPA
TOP
USER
UIDL
EXPIRE 30
IMPLEMENTATION ForwardEmail
.
Gmail
+OK
CAPA
TOP
USER
UIDL
EXPIRE 30
IMPLEMENTATION Gpop
.
+OK
CAPA
TOP
USER
UIDL
SASL PLAIN XOAUTH2
.
Fastmail
+OK
CAPA
TOP
USER
UIDL
EXPIRE 30
IMPLEMENTATION Cyrus
.
SMTP (EHLO)
Forward Email
250-smtp.forwardemail.net
250-PIPELINING
250-SIZE 52428800
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 CHUNKING
Gmail
250-smtp.gmail.com at your service
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
250-SN4PR13CA0005.outlook.office365.com Hello [x.x.x.x]
250-SIZE 157286400
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250 SMTPUTF8
Fastmail
250-smtp.fastmail.com
250-PIPELINING
250-SIZE 78643200
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 CHUNKING
Yahoo/AOL (Verizon)
250-smtp.mail.yahoo.com
250-PIPELINING
250-SIZE 41943040
250-8BITMIME
250-ENHANCEDSTATUSCODES
250-STARTTLS
Detaillierte Testergebnisse
IMAP Testergebnisse
Gmail:
* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 XYZZY SASL-IR AUTH=XOAUTH2 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN AUTH=OAUTHBEARER
Outlook.com:
* CAPABILITY IMAP4 IMAP4rev1 AUTH=PLAIN AUTH=XOAUTH2 SASL-IR UIDPLUS ID UNSELECT CHILDREN IDLE NAMESPACE LITERAL+
iCloud:
* CAPABILITY XAPPLEPUSHSERVICE IMAP4 IMAP4rev1 SASL-IR AUTH=ATOKEN AUTH=PLAIN AUTH=ATOKEN2 AUTH=XOAUTH2
Fastmail: Verbindung zeitüberschritten. Siehe Anmerkungen unten.
Yahoo:
* CAPABILITY IMAP4rev1 SASL-IR AUTH=PLAIN AUTH=XOAUTH2 AUTH=OAUTHBEARER ID MOVE NAMESPACE XYMHIGHESTMODSEQ UIDPLUS LITERAL+ CHILDREN UNSELECT X-MSG-EXT OBJECTID IDLE ENABLE UIDONLY X-ALL-MAIL X-UIDONLY LIST-EXTENDED LIST-STATUS SPECIAL-USE PARTIAL APPENDLIMIT=41697280
Forward Email:
* CAPABILITY XAPPLEPUSHSERVICE IMAP4rev1 APPENDLIMIT=52428800 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN CHILDREN CONDSTORE ENABLE ID IDLE MOVE NAMESPACE QUOTA SASL-IR SPECIAL-USE UIDPLUS UNSELECT UTF8=ACCEPT XLIST
POP3 Testergebnisse
Gmail: Verbindung gab ohne Authentifizierung keine CAPA-Antwort zurück.
Outlook.com: Verbindung gab ohne Authentifizierung keine CAPA-Antwort zurück.
iCloud: Nicht unterstützt.
Fastmail: Verbindung zeitüberschritten. Siehe Anmerkungen unten.
Yahoo:
+OK CAPA list follows... SASL PLAIN XOAUTH2
Forward Email: Verbindung gab ohne Authentifizierung keine CAPA-Antwort zurück.
SMTP Testergebnisse
Gmail:
250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
Outlook.com:
250-DSN
iCloud:
250-DSN
Fastmail:
250 AUTH PLAIN LOGIN XOAUTH2 OAUTHBEARER
Yahoo:
250 AUTH PLAIN LOGIN XOAUTH2 OAUTHBEARER
Forward Email:
250-DSN, 250-REQUIRETLS
Anmerkungen zu den Testergebnissen
Note
Wichtige Beobachtungen und Einschränkungen aus den Testergebnissen.
-
Fastmail Zeitüberschreitungen: Fastmail-Verbindungen sind während der Tests zeitüberschritten, wahrscheinlich aufgrund von Ratenbegrenzungen oder Firewall-Einschränkungen der Testserver-IP. Fastmail ist laut ihrer Dokumentation bekannt für robuste IMAP/POP3/SMTP-Unterstützung.
-
POP3 CAPA-Antworten: Mehrere Anbieter (Gmail, Outlook.com, Forward Email) gaben ohne Authentifizierung keine CAPA-Antworten zurück. Dies ist gängige Sicherheitspraktik bei POP3-Servern.
-
DSN-Unterstützung: Nur Outlook.com, iCloud und Forward Email werben explizit mit DSN-Unterstützung in ihren SMTP EHLO-Antworten. Das bedeutet nicht zwangsläufig, dass andere Anbieter DSN nicht unterstützen, sie werben jedoch nicht damit.
-
REQUIRETLS: Nur Forward Email bewirbt REQUIRETLS-Unterstützung explizit mit einer für Nutzer sichtbaren Kontrollbox zur Durchsetzung. Andere Anbieter unterstützen es möglicherweise intern, werben aber nicht im EHLO dafür.
-
Testumgebung: Die Tests wurden von einer AWS EC2-Instanz (IP: 54.167.216.197 IPv4, 2600:4040:46da:9a00:b19e:3ad4:426c:2f48 IPv6) am 22. Januar 2026 um 02:37 UTC durchgeführt.
Zusammenfassung
Forward Email bietet umfassende RFC-Protokollunterstützung über alle wichtigen E-Mail-Standards hinweg:
- IMAP4rev1: 16 unterstützte RFCs mit dokumentierten absichtlichen Abweichungen
- POP3: 4 unterstützte RFCs mit RFC-konformer permanenter Löschung
- SMTP: 11 unterstützte Erweiterungen einschließlich SMTPUTF8, DSN und PIPELINING
- Authentifizierung: DKIM, SPF, DMARC, ARC vollständig unterstützt
- Transportsicherheit: MTA-STS und REQUIRETLS vollständig unterstützt, DANE teilweise Unterstützung
- Verschlüsselung: OpenPGP v6 und S/MIME unterstützt
- Kalender: CalDAV, CardDAV und VTODO vollständig unterstützt
- API-Zugriff: Vollständige REST-API mit 39 Endpunkten für direkten Datenbankzugriff
- iOS Push: Native Push-Benachrichtigungen für E-Mail, Kontakte und Kalender via
XAPPLEPUSHSERVICE
Wichtige Unterscheidungsmerkmale
Tip
Forward Email zeichnet sich durch einzigartige Funktionen aus, die bei anderen Anbietern nicht zu finden sind.
Was Forward Email einzigartig macht:
- Quanten-sichere Verschlüsselung – Einziger Anbieter mit ChaCha20-Poly1305-verschlüsselten SQLite-Mailboxen
- Zero-Knowledge-Architektur – Ihr Passwort verschlüsselt Ihre Mailbox; wir können sie nicht entschlüsseln
- Kostenlose eigene Domains – Keine monatlichen Gebühren für E-Mail mit eigener Domain
- REQUIRETLS-Unterstützung – Für Nutzer sichtbare Kontrollbox zur Durchsetzung von TLS für den gesamten Zustellweg
- Umfassende API – 39 REST-API-Endpunkte für vollständige programmatische Kontrolle
- iOS Push-Benachrichtigungen – Native XAPPLEPUSHSERVICE-Unterstützung für sofortige Zustellung
- Open Source – Vollständiger Quellcode auf GitHub verfügbar
- Datenschutzorientiert – Keine Datenanalyse, keine Werbung, kein Tracking
- Sandboxed-Verschlüsselung: Einziger E-Mail-Dienst mit individuell verschlüsselten SQLite-Postfächern
- RFC-Konformität: Priorisiert Standardkonformität über Bequemlichkeit (z. B. POP3 DELE)
- Vollständige API: Direkter programmatischer Zugriff auf alle E-Mail-Daten
- Open Source: Vollständig transparente Implementierung
Protokollunterstützungsübersicht:
| Kategorie | Unterstützungsgrad | Details |
|---|---|---|
| Kernprotokolle | ✅ Ausgezeichnet | IMAP4rev1, POP3, SMTP vollständig unterstützt |
| Moderne Protokolle | ⚠️ Teilweise | IMAP4rev2 teilweise unterstützt, JMAP nicht unterstützt |
| Sicherheit | ✅ Ausgezeichnet | DKIM, SPF, DMARC, ARC, MTA-STS, REQUIRETLS |
| Verschlüsselung | ✅ Ausgezeichnet | OpenPGP, S/MIME, SQLite-Verschlüsselung |
| CalDAV/CardDAV | ✅ Ausgezeichnet | Vollständige Kalender- und Kontakt-Synchronisation |
| Filterung | ✅ Ausgezeichnet | Sieve (24 Erweiterungen) und ManageSieve |
| API | ✅ Ausgezeichnet | 39 REST-API-Endpunkte |
| Push | ✅ Ausgezeichnet | Native iOS-Push-Benachrichtigungen |