Support des protocoles RFC Email - Guide complet des normes et spécifications
À propos de ce document
Ce document décrit la prise en charge du protocole RFC (Request for Comments) pour Forward Email. Puisque Forward Email utilise WildDuck en interne pour les fonctionnalités IMAP/POP3, la prise en charge du protocole et les limitations documentées ici reflètent l'implémentation de WildDuck.
Important
Forward Email utilise SQLite pour le stockage des messages au lieu de MongoDB (que WildDuck utilisait à l'origine). Cela affecte certains détails d'implémentation documentés ci-dessous.
Code source : https://github.com/forwardemail/forwardemail.net
Vue d'ensemble de l'architecture
Comparaison des services email - Prise en charge des protocoles & conformité aux normes RFC
Important
Chiffrement sandboxé et résistant au quantique : Forward Email est le seul service email qui stocke des boîtes aux lettres SQLite chiffrées individuellement avec votre mot de passe (que vous seul possédez). Chaque boîte aux lettres est chiffrée avec sqleet (ChaCha20-Poly1305), autonome, sandboxée et portable. Si vous oubliez votre mot de passe, vous perdez votre boîte aux lettres - même Forward Email ne peut pas la récupérer. Voir Email chiffré quantique-sûr pour plus de détails.
Comparez la prise en charge des protocoles email et l'implémentation des normes RFC chez les principaux fournisseurs de messagerie :
| Fonctionnalité | Forward Email | Postfix/Dovecot | Gmail | iCloud Mail | Outlook.com | Fastmail | Yahoo/AOL (Verizon) | ProtonMail | Tutanota |
|---|---|---|---|---|---|---|---|---|---|
| Prix domaine personnalisé | Gratuit | Gratuit | 7,20 $/mois | 0,99 $/mois | 7,20 $/mois | 5 $/mois | 3,19 $/mois | 4,99 $/mois | 3,27 $/mois |
| IMAP4rev1 (RFC 3501) | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ⚠️ Via Bridge | ❌ Non pris en charge |
| IMAP4rev2 (RFC 9051) | ⚠️ Partiel | ⚠️ Partiel | ⚠️ 31 % | ⚠️ 92 % | ⚠️ 46 % | ⚠️ 69 % | ⚠️ 85 % | ⚠️ Via Bridge | ❌ Non pris en charge |
| POP3 (RFC 1939) | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ⚠️ Via Bridge | ❌ Non pris en charge |
| SMTP (RFC 5321) | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ⚠️ Via Bridge | ❌ Non pris en charge |
| JMAP (RFC 8620) | ❌ Non pris en charge | ❌ Non pris en charge | ❌ Non pris en charge | ❌ Non pris en charge | ❌ Non pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ❌ Non pris en charge | ❌ Non pris en charge |
| DKIM (RFC 6376) | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge |
| SPF (RFC 7208) | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge |
| DMARC (RFC 7489) | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge |
| ARC (RFC 8617) | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ❌ Non pris en charge |
| MTA-STS (RFC 8461) | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge |
| DANE (RFC 7671) | ✅ Pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ❌ Non pris en charge | ❌ Non pris en charge | ❌ Non pris en charge | ❌ Non pris en charge | ✅ Pris en charge | ✅ Pris en charge |
| DSN (RFC 3461) | ✅ Pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ✅ Pris en charge | ✅ Pris en charge | ⚠️ Inconnu | ❌ Non pris en charge | ⚠️ Via Bridge | ❌ Non pris en charge |
| REQUIRETLS (RFC 8689) | ✅ Pris en charge | ✅ Pris en charge | ⚠️ Inconnu | ⚠️ Inconnu | ⚠️ Inconnu | ⚠️ Inconnu | ⚠️ Inconnu | ⚠️ Via Bridge | ❌ Non pris en charge |
| ManageSieve (RFC 5804) | ✅ Pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ❌ Non pris en charge | ❌ Non pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ❌ Non pris en charge | ❌ Non pris en charge |
| OpenPGP (RFC 9580) | ✅ Pris en charge | ⚠️ Via Plugins | ⚠️ Tierce partie | ⚠️ Tierce partie | ⚠️ Tierce partie | ⚠️ Tierce partie | ⚠️ Tierce partie | ✅ Natif | ❌ Non pris en charge |
| S/MIME (RFC 8551) | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ⚠️ Partiel | ❌ Non pris en charge | ✅ Pris en charge | ❌ Non pris en charge |
| CalDAV (RFC 4791) | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ✅ Via Bridge | ❌ Non pris en charge |
| CardDAV (RFC 6352) | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ✅ Via Bridge | ❌ Non pris en charge |
| Tâches (VTODO) | ✅ Pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ❌ Non pris en charge | ❌ Non pris en charge |
| Sieve (RFC 5228) | ✅ Pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ❌ Non pris en charge | ❌ Non pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ❌ Non pris en charge | ❌ Non pris en charge |
| Catch-All | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ❌ Non pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ❌ Non pris en charge | ✅ Pris en charge |
| Alias illimités | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ✅ Pris en charge | ✅ Pris en charge |
| Authentification à deux facteurs | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge |
| Notifications Push | ✅ Pris en charge | ⚠️ Via Plugins | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ✅ Pris en charge | ✅ Pris en charge |
| Bureau Calendrier/Contacts | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ✅ Pris en charge | ❌ Non pris en charge |
| Recherche avancée | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge | ✅ Pris en charge |
| API/Intégrations | ✅ 39 points de terminaison | ✅ Pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ✅ Pris en charge | ✅ Pris en charge | ❌ Non pris en charge | ✅ Pris en charge | ❌ Non pris en charge |
Visualisation du support des protocoles
Protocoles Email principaux
Flux du protocole Email
Protocole Email IMAP4 et extensions
Note
Forward Email supporte IMAP4rev1 (RFC 3501) avec un support partiel des fonctionnalités IMAP4rev2 (RFC 9051).
Forward Email offre un support robuste d'IMAP4 via l'implémentation du serveur mail WildDuck. Le serveur implémente IMAP4rev1 (RFC 3501) avec un support partiel des extensions IMAP4rev2 (RFC 9051).
La fonctionnalité IMAP de Forward Email est fournie par la dépendance WildDuck. Les RFC email suivants sont supportés :
| RFC | Titre | Notes d'implémentation |
|---|---|---|
| RFC 3501 | Protocole d'accès aux messages Internet (IMAP) - Version 4rev1 | Support complet avec différences intentionnelles (voir ci-dessous) |
| RFC 2177 | Commande IMAP4 IDLE | Notifications de type push |
| RFC 2342 | Namespace IMAP4 | Support des espaces de noms de boîtes aux lettres |
| RFC 2087 | Extension QUOTA IMAP4 | Gestion des quotas de stockage |
| RFC 2971 | Extension ID IMAP4 | Identification client/serveur |
| RFC 5161 | Extension ENABLE IMAP4 | Activation des extensions IMAP |
| RFC 4959 | Extension IMAP pour la réponse initiale client SASL (SASL-IR) | Réponse initiale du client |
| RFC 3691 | Commande IMAP4 UNSELECT | Fermeture de boîte sans EXPUNGE |
| RFC 4315 | Extension IMAP UIDPLUS | Commandes UID améliorées |
| RFC 7162 | Extensions IMAP : Resynchronisation rapide des changements de drapeaux (CONDSTORE) | STORE conditionnel |
| RFC 6154 | Extension IMAP LIST pour les boîtes aux lettres à usage spécial | Attributs spéciaux des boîtes aux lettres |
| RFC 6851 | Extension IMAP MOVE | Commande MOVE atomique |
| RFC 6855 | Support IMAP pour UTF-8 | Support UTF-8 |
| RFC 3348 | Extension IMAP4 pour boîtes enfants | Informations sur les boîtes enfants |
| RFC 7889 | Extension IMAP4 pour annoncer la taille maximale de téléchargement (APPENDLIMIT) | Taille maximale de téléchargement |
| Extensions IMAP prises en charge : |
| Extension | RFC | Statut | Description |
|---|---|---|---|
| IDLE | RFC 2177 | ✅ Pris en charge | Notifications de type push |
| NAMESPACE | RFC 2342 | ✅ Pris en charge | Support des espaces de noms de boîtes aux lettres |
| QUOTA | RFC 2087 | ✅ Pris en charge | Gestion des quotas de stockage |
| ID | RFC 2971 | ✅ Pris en charge | Identification client/serveur |
| ENABLE | RFC 5161 | ✅ Pris en charge | Activation des extensions IMAP |
| SASL-IR | RFC 4959 | ✅ Pris en charge | Réponse initiale du client |
| UNSELECT | RFC 3691 | ✅ Pris en charge | Fermeture de la boîte sans EXPUNGE |
| UIDPLUS | RFC 4315 | ✅ Pris en charge | Commandes UID améliorées |
| CONDSTORE | RFC 7162 | ✅ Pris en charge | STORE conditionnel |
| SPECIAL-USE | RFC 6154 | ✅ Pris en charge | Attributs spéciaux des boîtes |
| MOVE | RFC 6851 | ✅ Pris en charge | Commande MOVE atomique |
| UTF8=ACCEPT | RFC 6855 | ✅ Pris en charge | Support UTF-8 |
| CHILDREN | RFC 3348 | ✅ Pris en charge | Informations sur les sous-boîtes |
| APPENDLIMIT | RFC 7889 | ✅ Pris en charge | Taille maximale d’envoi |
| XLIST | Non standard | ✅ Pris en charge | Liste des dossiers compatible Gmail |
| XAPPLEPUSHSERVICE | Non standard | ✅ Pris en charge | Service de notification push Apple |
Différences du protocole IMAP par rapport aux spécifications RFC
Warning
Les différences suivantes par rapport aux spécifications RFC peuvent affecter la compatibilité des clients.
Forward Email dévie intentionnellement de certaines spécifications IMAP RFC. Ces différences sont héritées de WildDuck et sont documentées ci-dessous :
- Pas de drapeau \Recent : Le drapeau
\Recentn’est pas implémenté. Tous les messages sont retournés sans ce drapeau. - RENAME n’affecte pas les sous-dossiers : Lors du renommage d’un dossier, les sous-dossiers ne sont pas renommés automatiquement. La hiérarchie des dossiers est plate dans la base de données.
- INBOX ne peut pas être renommé : RFC 3501 permet de renommer INBOX, mais Forward Email l’interdit explicitement. Voir code source WildDuck.
- Pas de réponses FLAGS non sollicitées : Lorsqu’un drapeau est modifié, aucune réponse FLAGS non sollicitée n’est envoyée au client.
- STORE retourne NO pour les messages supprimés : Tenter de modifier les drapeaux sur des messages supprimés retourne NO au lieu d’ignorer silencieusement.
- CHARSET ignoré dans SEARCH : L’argument
CHARSETdans les commandes SEARCH est ignoré. Toutes les recherches utilisent UTF-8. - Métadonnées MODSEQ ignorées : Les métadonnées
MODSEQdans les commandes STORE sont ignorées. - SEARCH TEXT et SEARCH BODY : Forward Email utilise SQLite FTS5 (recherche en texte intégral) au lieu de la recherche
$textde MongoDB. Cela offre :- Support de l’opérateur
NOT(non supporté par MongoDB) - Résultats de recherche classés
- Performances de recherche inférieures à 100 ms sur de grandes boîtes aux lettres
- Support de l’opérateur
- Comportement autoexpunge : Les messages marqués
\Deletedsont automatiquement expurgés à la fermeture de la boîte. - Fidélité des messages : Certaines modifications de messages peuvent ne pas préserver la structure exacte du message original.
Support partiel d’IMAP4rev2 :
Forward Email implémente IMAP4rev1 (RFC 3501) avec un support partiel d’IMAP4rev2 (RFC 9051). Les fonctionnalités IMAP4rev2 suivantes ne sont pas encore prises en charge :
- LIST-STATUS - Commandes combinées LIST et STATUS
- LITERAL- - Littéraux non synchronisés (variante moins)
- OBJECTID - Identifiants uniques d’objets
- SAVEDATE - Attribut de date de sauvegarde
- REPLACE - Remplacement atomique de message
- UNAUTHENTICATE - Fermeture de l’authentification sans fermer la connexion
Gestion assouplie de la structure du corps :
Forward Email utilise une gestion « relaxée » du corps pour les structures MIME mal formées, ce qui peut différer de l’interprétation stricte des RFC. Cela améliore la compatibilité avec les emails réels qui ne respectent pas parfaitement les normes. Extension METADATA (RFC 5464) :
L'extension IMAP METADATA n'est pas prise en charge. Pour plus d'informations sur cette extension, voir RFC 5464. Une discussion sur l'ajout de cette fonctionnalité est disponible dans WildDuck Issue #937.
Extensions IMAP NON prises en charge
Les extensions IMAP suivantes du Registre des capacités IMAP IANA ne sont PAS prises en charge :
| RFC | Titre | Raison |
|---|---|---|
| RFC 2086 | Extension ACL IMAP4 | Dossiers partagés non implémentés. Voir WildDuck Issue #427 |
| RFC 5256 | Extensions IMAP SORT et THREAD | Le fil de discussion est implémenté en interne mais pas via le protocole RFC 5256. Voir WildDuck Issue #12 |
| RFC 5162 | Extensions IMAP4 pour la resynchronisation rapide des boîtes aux lettres (QRESYNC) | Non implémenté |
| RFC 5464 | Extension IMAP METADATA | Opérations de métadonnées ignorées. Voir documentation WildDuck |
| RFC 5258 | Extensions de la commande LIST IMAP4 | Non implémenté |
| RFC 5267 | Contextes pour IMAP4 | Non implémenté |
| RFC 5465 | Extension IMAP NOTIFY | Non implémenté |
| RFC 5466 | Extension IMAP4 FILTERS | Non implémenté |
| RFC 6203 | Extension IMAP4 pour la recherche approximative | Non implémenté |
| RFC 6785 | Recommandations pour la mise en œuvre IMAP4 | Recommandations pas entièrement suivies |
| RFC 7162 | Extensions IMAP : Resynchronisation rapide des changements de drapeaux (CONDSTORE) et resynchronisation rapide des boîtes (QRESYNC) | Non implémenté |
| RFC 8437 | Extension IMAP UNAUTHENTICATE pour la réutilisation de connexion | Non implémenté |
| RFC 8438 | Extension IMAP pour STATUS=SIZE | Non implémenté |
| RFC 8457 | Mot-clé IMAP "$Important" et attribut d'usage spécial "\Important" | Non implémenté |
| RFC 8474 | Extension IMAP pour les identifiants d'objet | Non implémenté |
| RFC 9051 | Protocole d'accès aux messages Internet (IMAP) - Version 4rev2 | Forward Email implémente IMAP4rev1 (RFC 3501) |
Protocole Email POP3 et Extensions
Note
Forward Email prend en charge POP3 (RFC 1939) avec des extensions standard pour la récupération des emails.
La fonctionnalité POP3 de Forward Email est fournie par la dépendance WildDuck. Les RFC email suivants sont pris en charge :
| RFC | Titre | Notes d'implémentation |
|---|---|---|
| RFC 1939 | Protocole de bureau de poste - Version 3 (POP3) | Support complet avec différences intentionnelles (voir ci-dessous) |
| RFC 2595 | Utilisation de TLS avec IMAP, POP3 et ACAP | Support STARTTLS |
| RFC 2449 | Mécanisme d'extension POP3 | Support de la commande CAPA |
Forward Email fournit un support POP3 pour les clients qui préfèrent ce protocole plus simple à IMAP. POP3 est idéal pour les utilisateurs qui souhaitent télécharger les emails sur un seul appareil et les supprimer du serveur.
Extensions POP3 prises en charge :
| Extension | RFC | Statut | Description |
|---|---|---|---|
| TOP | RFC 1939 | ✅ Pris en charge | Récupération des en-têtes de message |
| USER | RFC 1939 | ✅ Pris en charge | Authentification par nom d'utilisateur |
| UIDL | RFC 1939 | ✅ Pris en charge | Identifiants uniques des messages |
| EXPIRE | RFC 2449 | ✅ Pris en charge | Politique d'expiration des messages |
Différences du protocole POP3 par rapport aux spécifications RFC
Warning
POP3 présente des limitations inhérentes comparé à IMAP.
Important
Différence critique : comportement DELE POP3 de Forward Email vs WildDuck
Forward Email implémente la suppression permanente conforme à la RFC pour les commandes POP3 DELE, contrairement à WildDuck qui déplace les messages vers la corbeille.
Comportement de Forward Email (code source) :
DELE→QUITsupprime définitivement les messages- Suit exactement la spécification de la RFC 1939
- Correspond au comportement de Dovecot (par défaut), Postfix et autres serveurs conformes aux standards
Comportement de WildDuck (discussion) :
DELE→QUITdéplace les messages vers la corbeille (style Gmail)- Décision de conception intentionnelle pour la sécurité des utilisateurs
- Non conforme à la RFC mais évite la perte accidentelle de données
Pourquoi Forward Email diffère :
- Conformité RFC : Respecte la spécification de la RFC 1939
- Attentes des utilisateurs : Le flux de travail téléchargement-et-suppression attend une suppression permanente
- Gestion du stockage : Reprise correcte de l'espace disque
- Interopérabilité : Cohérence avec d'autres serveurs conformes à la RFC
Note
Liste des messages POP3 : Forward Email liste TOUS les messages de la boîte de réception sans limite. Cela diffère de WildDuck qui limite à 250 messages par défaut. Voir code source.
Accès mono-appareil :
POP3 est conçu pour un accès sur un seul appareil. Les messages sont généralement téléchargés puis supprimés du serveur, ce qui le rend inadapté à la synchronisation multi-appareils.
Pas de support des dossiers :
POP3 n'accède qu'au dossier INBOX. Les autres dossiers (Envoyés, Brouillons, Corbeille, etc.) ne sont pas accessibles via POP3.
Gestion limitée des messages :
POP3 offre une récupération et suppression basiques des messages. Les fonctionnalités avancées comme le marquage, le déplacement ou la recherche de messages ne sont pas disponibles.
Extensions POP3 NON prises en charge
Les extensions POP3 suivantes du Registre du mécanisme d'extension POP3 IANA ne sont PAS prises en charge :
| RFC | Titre | Raison |
|---|---|---|
| RFC 6856 | Support du protocole POP3 (Post Office Protocol Version 3) pour UTF-8 | Non implémenté dans le serveur POP3 WildDuck |
| RFC 2595 | Commande STLS | Seul STARTTLS est supporté, pas STLS |
| RFC 3206 | Codes de réponse SYS et AUTH POP | Non implémenté |
Protocole SMTP et extensions
Note
Forward Email supporte SMTP (RFC 5321) avec des extensions modernes pour une livraison d'email sécurisée et fiable.
La fonctionnalité SMTP de Forward Email est fournie par plusieurs composants : smtp-server (nodemailer), zone-mta, et des implémentations personnalisées. Les RFC email suivants sont supportés :
| RFC | Titre | Notes d'implémentation |
|---|---|---|
| RFC 5321 | Protocole simple de transfert de courrier (SMTP) | Support complet |
| RFC 3207 | Extension de service SMTP pour SMTP sécurisé via Transport Layer Security (STARTTLS) | Support TLS/SSL |
| RFC 4954 | Extension de service SMTP pour l'authentification (AUTH) | PLAIN, LOGIN, CRAM-MD5, XOAUTH2 |
| RFC 6531 | Extension SMTP pour les emails internationalisés (SMTPUTF8) | Support natif des adresses email en unicode |
| RFC 3461 | Extension de service SMTP pour les notifications de statut de livraison (DSN) | Support complet DSN |
| RFC 3463 | Codes d'état améliorés du système de messagerie | Codes d'état améliorés dans les réponses |
| RFC 1870 | Extension de service SMTP pour la déclaration de la taille du message (SIZE) | Annonce de la taille maximale du message |
| RFC 2920 | Extension de service SMTP pour le pipelining des commandes (PIPELINING) | Support du pipelining des commandes |
| RFC 1652 | Extension de service SMTP pour le transport MIME 8 bits (8BITMIME) | Support MIME 8 bits |
| RFC 6152 | Extension de service SMTP pour le transport MIME 8 bits | Support MIME 8 bits |
| RFC 2034 | Extension de service SMTP pour le retour des codes d'erreur améliorés (ENHANCEDSTATUSCODES) | Codes d'état améliorés |
Forward Email implémente un serveur SMTP complet avec support des extensions modernes qui améliorent la sécurité, la fiabilité et les fonctionnalités.
Extensions SMTP supportées :
| Extension | RFC | Statut | Description |
|---|---|---|---|
| PIPELINING | RFC 2920 | ✅ Supporté | Pipelining des commandes |
| SIZE | RFC 1870 | ✅ Supporté | Déclaration de la taille du message (limite 52 Mo) |
| ETRN | RFC 1985 | ✅ Supporté | Traitement à distance de la file d'attente |
| STARTTLS | RFC 3207 | ✅ Supporté | Passage à TLS |
| ENHANCEDSTATUSCODES | RFC 2034 | ✅ Supporté | Codes d'état améliorés |
| 8BITMIME | RFC 6152 | ✅ Supporté | Transport MIME 8 bits |
| DSN | RFC 3461 | ✅ Supporté | Notifications de statut de livraison |
| CHUNKING | RFC 3030 | ✅ Supporté | Transfert de message par morceaux |
| SMTPUTF8 | RFC 6531 | ⚠️ Partiel | Adresses email en UTF-8 (partiel) |
| REQUIRETLS | RFC 8689 | ✅ Supporté | Exige TLS pour la livraison |
Notifications de statut de livraison (DSN)
Tip
DSN fournit des informations détaillées sur le statut de livraison des e-mails envoyés.
Forward Email prend entièrement en charge DSN (RFC 3461), qui permet aux expéditeurs de demander des notifications de statut de livraison. Cette fonctionnalité offre :
- Notifications de succès lorsque les messages sont livrés
- Notifications d’échec avec des informations d’erreur détaillées
- Notifications de retard lorsque la livraison est temporairement retardée
DSN est particulièrement utile pour :
- Confirmer la livraison de messages importants
- Résoudre les problèmes de livraison
- Systèmes automatisés de traitement des e-mails
- Exigences de conformité et d’audit
Support REQUIRETLS
Important
Forward Email est l’un des rares fournisseurs à annoncer explicitement et à appliquer REQUIRETLS.
Forward Email prend en charge REQUIRETLS (RFC 8689), qui garantit que les messages e-mail ne sont livrés que via des connexions chiffrées TLS. Cela offre :
- Chiffrement de bout en bout pour l’ensemble du chemin de livraison
- Application côté utilisateur via une case à cocher dans le composeur d’e-mails
- Rejet des tentatives de livraison non chiffrée
- Sécurité renforcée pour les communications sensibles
Extensions SMTP NON prises en charge
Les extensions SMTP suivantes du Registre des extensions de service SMTP IANA ne sont PAS prises en charge :
| RFC | Titre | Raison |
|---|---|---|
| RFC 4865 | Extension de service SMTP Submission pour la libération future de messages (FUTURERELEASE) | Non implémentée |
| RFC 6710 | Extension SMTP pour les priorités de transfert de message (MT-PRIORITY) | Non implémentée |
| RFC 7293 | Le champ d’en-tête Require-Recipient-Valid-Since et extension de service SMTP | Non implémentée |
| RFC 7372 | Codes d’état d’authentification des e-mails | Pas entièrement implémentée |
| RFC 4468 | Extension BURL pour la soumission de messages | Non implémentée |
| RFC 3030 | Extensions de service SMTP pour la transmission de messages MIME volumineux et binaires (CHUNKING, BINARYMIME) | Non implémentée |
| RFC 2852 | Extension de service Deliver By SMTP | Non implémentée |
Protocole e-mail JMAP
Caution
JMAP n’est pas actuellement pris en charge par Forward Email.
| RFC | Titre | Statut | Raison |
|---|---|---|---|
| RFC 8620 | Le protocole JSON Meta Application (JMAP) | ❌ Non pris en charge | Forward Email utilise IMAP/POP3/SMTP et une API REST complète à la place |
JMAP (JSON Meta Application Protocol) est un protocole e-mail moderne conçu pour remplacer IMAP.
Pourquoi JMAP n’est pas pris en charge :
"JMAP est une bête qui n’aurait pas dû être inventée. Il essaie de convertir TCP/IMAP (déjà un mauvais protocole selon les standards actuels) en HTTP/JSON, en utilisant simplement un transport différent tout en gardant l’esprit." — Andris Reinman, Discussion HN « JMAP a plus de 10 ans, et il y a presque aucune adoption » – Andris Reinman, Discussion GitHub
Voir aussi les commentaires supplémentaires sur https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=jmap andris&sort=byDate&type=comment.
Forward Email se concentre actuellement sur la fourniture d’un excellent support IMAP, POP3 et SMTP, ainsi qu’une API REST complète pour la gestion des emails. Le support JMAP pourra être envisagé à l’avenir en fonction de la demande des utilisateurs et de l’adoption par l’écosystème.
Alternative : Forward Email propose une API REST complète avec 39 points de terminaison offrant des fonctionnalités similaires à JMAP pour l’accès programmatique aux emails.
Sécurité des Emails
Architecture de la Sécurité des Emails
Protocoles d’Authentification des Messages Email
Note
Forward Email implémente tous les principaux protocoles d’authentification des emails pour prévenir l’usurpation d’identité et garantir l’intégrité des messages.
Forward Email utilise la bibliothèque mailauth pour l’authentification des emails. Les RFC suivants sont pris en charge :
| RFC | Titre | Notes d’implémentation |
|---|---|---|
| RFC 6376 | Signatures DomainKeys Identified Mail (DKIM) | Signature et vérification DKIM complètes |
| RFC 8463 | Nouvelle méthode de signature cryptographique pour DKIM (Ed25519-SHA256) | Supporte les algorithmes de signature RSA-SHA256 et Ed25519-SHA256 |
| RFC 7208 | Sender Policy Framework (SPF) | Validation des enregistrements SPF |
| RFC 7489 | Authentification, Rapport et Conformité des Messages Basée sur le Domaine (DMARC) | Application de la politique DMARC |
| RFC 8617 | Chaîne Authentifiée de Réception (ARC) | Scellement et validation ARC |
Les protocoles d’authentification des emails vérifient que les messages proviennent bien de l’expéditeur déclaré et n’ont pas été altérés pendant le transit.
Support des Protocoles d’Authentification
| Protocole | RFC | Statut | Description |
|---|---|---|---|
| DKIM | RFC 6376 | ✅ Pris en charge | DomainKeys Identified Mail - Signatures cryptographiques |
| SPF | RFC 7208 | ✅ Pris en charge | Sender Policy Framework - Autorisation des adresses IP |
| DMARC | RFC 7489 | ✅ Pris en charge | Authentification des Messages Basée sur le Domaine - Application de la politique |
| ARC | RFC 8617 | ✅ Pris en charge | Chaîne Authentifiée de Réception - Préservation de l’authentification lors des transferts |
DKIM (DomainKeys Identified Mail)
DKIM ajoute une signature cryptographique aux en-têtes des emails, permettant aux destinataires de vérifier que le message a été autorisé par le propriétaire du domaine et qu'il n'a pas été modifié en transit.
Forward Email utilise mailauth pour la signature et la vérification DKIM.
Fonctionnalités clés :
- Signature DKIM automatique pour tous les messages sortants
- Support des clés RSA et Ed25519
- Support de plusieurs sélecteurs
- Vérification DKIM pour les messages entrants
SPF (Sender Policy Framework)
SPF permet aux propriétaires de domaine de spécifier quelles adresses IP sont autorisées à envoyer des emails au nom de leur domaine.
Fonctionnalités clés :
- Validation des enregistrements SPF pour les messages entrants
- Vérification SPF automatique avec résultats détaillés
- Support des mécanismes include, redirect et all
- Politiques SPF configurables par domaine
DMARC (Domain-based Message Authentication, Reporting & Conformance)
DMARC s'appuie sur SPF et DKIM pour fournir l'application des politiques et le reporting.
Fonctionnalités clés :
- Application des politiques DMARC (none, quarantine, reject)
- Vérification de l'alignement SPF et DKIM
- Rapports agrégés DMARC
- Politiques DMARC par domaine
ARC (Authenticated Received Chain)
ARC préserve les résultats d'authentification des emails lors du transfert et des modifications par les listes de diffusion.
Forward Email utilise la bibliothèque mailauth pour la vérification et le scellement ARC.
Fonctionnalités clés :
- Scellement ARC pour les messages transférés
- Validation ARC pour les messages entrants
- Vérification de la chaîne à travers plusieurs sauts
- Préserve les résultats d'authentification originaux
Authentication Flow
Protocoles de sécurité du transport des emails
Important
Forward Email met en œuvre plusieurs couches de sécurité du transport pour protéger les emails en transit.
Forward Email met en œuvre des protocoles modernes de sécurité du transport :
| RFC | Titre | Statut | Notes d'implémentation |
|---|---|---|---|
| RFC 8461 | SMTP MTA Strict Transport Security (MTA-STS) | ✅ Pris en charge | Utilisé largement sur les serveurs IMAP, SMTP et MX. Voir create-mta-sts-cache.js et get-transporter.js |
| RFC 8460 | Rapport SMTP TLS | ✅ Pris en charge | Via la bibliothèque mailauth |
| RFC 7671 | Le protocole DANE (DNS-Based Authentication of Named Entities) : mises à jour et guide opérationnel | ✅ Pris en charge | Vérification complète DANE pour les connexions SMTP sortantes. Voir mx-connect PR #22 |
| RFC 6698 | Le protocole DANE TLS (DNS-Based Authentication of Named Entities Transport Layer Security) : TLSA | ✅ Pris en charge | Support complet du RFC 6698 : types d'utilisation PKIX-TA, PKIX-EE, DANE-TA, DANE-EE. Voir mx-connect PR #22 |
| RFC 8314 | Texte clair considéré obsolète : utilisation de TLS pour la soumission et l'accès aux emails | ✅ Pris en charge | TLS requis pour toutes les connexions |
| RFC 8689 | Extension de service SMTP pour exiger TLS (REQUIRETLS) | ✅ Pris en charge | Support complet de l'extension SMTP REQUIRETLS et de l'en-tête "TLS-Required" |
| Les protocoles de sécurité de transport garantissent que les messages électroniques sont chiffrés et authentifiés lors de la transmission entre les serveurs de messagerie. |
Support de la sécurité de transport
| Protocole | RFC | Statut | Description |
|---|---|---|---|
| TLS | RFC 8314 | ✅ Pris en charge | Transport Layer Security - Connexions chiffrées |
| MTA-STS | RFC 8461 | ✅ Pris en charge | Mail Transfer Agent Strict Transport Security |
| DANE | RFC 7671 | ✅ Pris en charge | Authentification DNS des entités nommées |
| REQUIRETLS | RFC 8689 | ✅ Pris en charge | Exiger TLS pour tout le chemin de livraison |
TLS (Transport Layer Security)
Forward Email applique le chiffrement TLS pour toutes les connexions email (SMTP, IMAP, POP3).
Fonctionnalités clés :
- Support de TLS 1.2 et TLS 1.3
- Gestion automatique des certificats
- Perfect Forward Secrecy (PFS)
- Suites de chiffrement fortes uniquement
MTA-STS (Mail Transfer Agent Strict Transport Security)
MTA-STS garantit que les emails ne sont livrés que via des connexions chiffrées TLS en publiant une politique via HTTPS.
Forward Email implémente MTA-STS en utilisant create-mta-sts-cache.js.
Fonctionnalités clés :
- Publication automatique de la politique MTA-STS
- Mise en cache de la politique pour la performance
- Prévention des attaques de rétrogradation
- Application de la validation des certificats
DANE (DNS-based Authentication of Named Entities)
Note
Forward Email offre désormais un support complet de DANE pour les connexions SMTP sortantes.
DANE utilise DNSSEC pour publier les informations des certificats TLS dans le DNS, permettant aux serveurs de messagerie de vérifier les certificats sans dépendre des autorités de certification.
Fonctionnalités clés :
- ✅ Vérification complète DANE pour les connexions SMTP sortantes
- ✅ Support complet de la RFC 6698 : types d’usage PKIX-TA, PKIX-EE, DANE-TA, DANE-EE
- ✅ Vérification des certificats contre les enregistrements TLSA lors de la montée en TLS
- ✅ Résolution TLSA parallèle pour plusieurs hôtes MX
- ✅ Détection automatique de
dns.resolveTlsanatif (Node.js v22.15.0+, v23.9.0+) - ✅ Support de résolveur personnalisé pour les versions plus anciennes de Node.js via Tangerine
- Nécessite des domaines signés DNSSEC
Tip
Détails de l’implémentation : Le support DANE a été ajouté via mx-connect PR #22, qui fournit un support complet DANE/TLSA pour les connexions SMTP sortantes.
REQUIRETLS
Tip
Forward Email est l’un des rares fournisseurs à proposer un support REQUIRETLS accessible aux utilisateurs.
REQUIRETLS garantit que les messages email ne sont livrés que via des connexions chiffrées TLS sur l’ensemble du chemin de livraison.
Fonctionnalités clés :
- Case à cocher accessible à l’utilisateur dans le composeur d’email
- Rejet automatique des livraisons non chiffrées
- Application du TLS de bout en bout
- Notifications détaillées en cas d’échec
Tip
Application TLS côté utilisateur : Forward Email propose une case à cocher sous Mon Compte > Domaines > Paramètres pour forcer TLS sur toutes les connexions entrantes. Lorsqu’activée, cette fonctionnalité rejette tout email entrant non envoyé via une connexion chiffrée TLS avec un code d’erreur 530, garantissant que tous les mails entrants sont chiffrés en transit.
Flux de sécurité de transport
Chiffrement des messages email
Note
Forward Email prend en charge à la fois OpenPGP et S/MIME pour le chiffrement de bout en bout des emails.
Forward Email prend en charge le chiffrement OpenPGP et S/MIME :
| RFC | Titre | Statut | Notes d'implémentation |
|---|---|---|---|
| RFC 9580 | OpenPGP (remplace RFC 4880) | ✅ Pris en charge | Via l'intégration de OpenPGP.js v6+. Voir la FAQ |
| RFC 8551 | Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 Message Specification | ✅ Pris en charge | Algorithmes RSA et ECC pris en charge. Voir la FAQ |
Les protocoles de chiffrement des messages protègent le contenu des emails pour qu'il ne soit lu que par le destinataire prévu, même si le message est intercepté pendant le transit.
Support du chiffrement
| Protocole | RFC | Statut | Description |
|---|---|---|---|
| OpenPGP | RFC 9580 | ✅ Pris en charge | Pretty Good Privacy - Chiffrement à clé publique |
| S/MIME | RFC 8551 | ✅ Pris en charge | Secure/Multipurpose Internet Mail Extensions |
| WKD | Draft | ✅ Pris en charge | Web Key Directory - Découverte automatique des clés |
OpenPGP (Pretty Good Privacy)
OpenPGP fournit un chiffrement de bout en bout utilisant la cryptographie à clé publique. Forward Email prend en charge OpenPGP via le protocole Web Key Directory (WKD).
Fonctionnalités clés :
- Découverte automatique des clés via WKD
- Support PGP/MIME pour les pièces jointes chiffrées
- Gestion des clés via le client email
- Compatible avec GPG, Mailvelope et autres outils OpenPGP
Comment utiliser :
- Générez une paire de clés PGP dans votre client email
- Téléversez votre clé publique sur le WKD de Forward Email
- Votre clé est automatiquement découvrable par les autres utilisateurs
- Envoyez et recevez des emails chiffrés sans effort
S/MIME (Secure/Multipurpose Internet Mail Extensions)
S/MIME fournit le chiffrement des emails et les signatures numériques à l'aide de certificats X.509.
Fonctionnalités clés :
- Chiffrement basé sur certificat
- Signatures numériques pour l'authentification des messages
- Support natif dans la plupart des clients email
- Sécurité de niveau entreprise
Comment utiliser :
- Obtenez un certificat S/MIME auprès d'une Autorité de Certification
- Installez le certificat dans votre client email
- Configurez votre client pour chiffrer/signer les messages
- Échangez les certificats avec les destinataires
Chiffrement des boîtes aux lettres SQLite
Important
Forward Email offre une couche supplémentaire de sécurité avec des boîtes aux lettres SQLite chiffrées.
Au-delà du chiffrement au niveau des messages, Forward Email chiffre les boîtes aux lettres entières en utilisant sqleet (ChaCha20-Poly1305).
Fonctionnalités clés :
- Chiffrement par mot de passe - Seul vous connaissez le mot de passe
- Résistant au quantique - Chiffrement ChaCha20-Poly1305
- Zero-knowledge - Forward Email ne peut pas déchiffrer votre boîte aux lettres
- Isolé - Chaque boîte aux lettres est isolée et portable
- Irrécupérable - Si vous oubliez votre mot de passe, votre boîte aux lettres est perdue
Comparaison du chiffrement
| Fonctionnalité | OpenPGP | S/MIME | Chiffrement SQLite |
|---|---|---|---|
| De bout en bout | ✅ Oui | ✅ Oui | ✅ Oui |
| Gestion des clés | Autogérée | Émise par CA | Basée sur mot de passe |
| Support client | Nécessite un plugin | Natif | Transparent |
| Cas d'utilisation | Personnel | Entreprise | Stockage |
| Résistant au quantique | ⚠️ Dépend de la clé | ⚠️ Dépend du certificat | ✅ Oui |
Flux de chiffrement
Fonctionnalités étendues
Normes de format des messages email
Note
Forward Email prend en charge les normes modernes de format de courrier électronique pour un contenu enrichi et l’internationalisation.
Forward Email prend en charge les formats standards de messages email :
| RFC | Titre | Notes d’implémentation |
|---|---|---|
| RFC 5322 | Format des messages Internet | Support complet |
| RFC 2045 | MIME Partie Un : Format des corps de message Internet | Support complet MIME |
| RFC 2046 | MIME Partie Deux : Types de médias | Support complet MIME |
| RFC 2047 | MIME Partie Trois : Extensions d’en-tête pour texte non ASCII | Support complet MIME |
| RFC 2048 | MIME Partie Quatre : Procédures d’enregistrement | Support complet MIME |
| RFC 2049 | MIME Partie Cinq : Critères de conformité et exemples | Support complet MIME |
Les normes de format des emails définissent comment les messages email sont structurés, encodés et affichés.
Support des normes de format
| Norme | RFC | Statut | Description |
|---|---|---|---|
| MIME | RFC 2045-2049 | ✅ Supporté | Extensions multipurpose Internet Mail |
| SMTPUTF8 | RFC 6531 | ⚠️ Partiel | Adresses email internationalisées |
| EAI | RFC 6530 | ⚠️ Partiel | Internationalisation des adresses email |
| Format du message | RFC 5322 | ✅ Supporté | Format des messages Internet |
| Sécurité MIME | RFC 1847 | ✅ Supporté | Multiparts sécurisés pour MIME |
MIME (Extensions multipurpose Internet Mail)
MIME permet aux emails de contenir plusieurs parties avec différents types de contenu (texte, HTML, pièces jointes, etc.).
Fonctionnalités MIME supportées :
- Messages multipart (mixte, alternatif, lié)
- En-têtes Content-Type
- Content-Transfer-Encoding (7bit, 8bit, quoted-printable, base64)
- Images en ligne et pièces jointes
- Contenu HTML enrichi
SMTPUTF8 et internationalisation des adresses email
Warning
Le support SMTPUTF8 est partiel - toutes les fonctionnalités ne sont pas entièrement implémentées.
SMTPUTF8 permet aux adresses e-mail de contenir des caractères non ASCII (par exemple, 用户@例え.jp).
Statut actuel :
- ⚠️ Support partiel des adresses e-mail internationalisées
- ✅ Contenu UTF-8 dans les corps de message
- ⚠️ Support limité des parties locales non ASCII
Protocoles de calendrier et de contacts
Note
Forward Email offre un support complet de CalDAV et CardDAV pour la synchronisation des calendriers et des contacts.
Forward Email prend en charge CalDAV et CardDAV via la bibliothèque caldav-adapter :
| RFC | Titre | Statut | Notes d'implémentation |
|---|---|---|---|
| RFC 4791 | Extensions de calendrier à WebDAV (CalDAV) | ✅ Supporté | Accès et gestion du calendrier |
| RFC 6352 | CardDAV : Extensions vCard à WebDAV | ✅ Supporté | Accès et gestion des contacts |
| RFC 5545 | Spécification principale des objets de calendrier et de planification (iCalendar) | ✅ Supporté | Support du format iCalendar |
| RFC 6350 | Spécification du format vCard | ✅ Supporté | Support du format vCard 4.0 |
| RFC 6638 | Extensions de planification à CalDAV | ✅ Supporté | Planification CalDAV avec support iMIP. Voir commit c4d1629 |
| RFC 5546 | Protocole d'interopérabilité indépendant du transport iCalendar (iTIP) | ✅ Supporté | Support iTIP pour les méthodes REQUEST, REPLY, CANCEL et VFREEBUSY. Voir commit c4d1629 |
| RFC 6047 | Protocole d'interopérabilité basé sur les messages iCalendar (iMIP) | ✅ Supporté | Invitations de calendrier par e-mail avec liens de réponse. Voir commit c4d1629 |
CalDAV et CardDAV sont des protocoles qui permettent d'accéder, de partager et de synchroniser les données de calendrier et de contacts entre appareils.
Support CalDAV et CardDAV
| Protocole | RFC | Statut | Description |
|---|---|---|---|
| CalDAV | RFC 4791 | ✅ Supporté | Accès et synchronisation du calendrier |
| CardDAV | RFC 6352 | ✅ Supporté | Accès et synchronisation des contacts |
| iCalendar | RFC 5545 | ✅ Supporté | Format de données de calendrier |
| vCard | RFC 6350 | ✅ Supporté | Format de données de contacts |
| VTODO | RFC 5545 | ✅ Supporté | Support des tâches/rappels |
| Planification CalDAV | RFC 6638 | ✅ Supporté | Extensions de planification du calendrier |
| iTIP | RFC 5546 | ✅ Supporté | Interopérabilité indépendante du transport |
| iMIP | RFC 6047 | ✅ Supporté | Invitations de calendrier par e-mail |
CalDAV (Accès au Calendrier)
CalDAV vous permet d'accéder et de gérer des calendriers depuis n'importe quel appareil ou application.
Fonctionnalités clés :
- Synchronisation multi-appareils
- Calendriers partagés
- Abonnements aux calendriers
- Invitations et réponses aux événements
- Événements récurrents
- Support des fuseaux horaires
Clients compatibles :
- Apple Calendar (macOS, iOS)
- Mozilla Thunderbird
- Evolution
- GNOME Calendar
- Tout client compatible CalDAV
CardDAV (Accès aux Contacts)
CardDAV vous permet d'accéder et de gérer des contacts depuis n'importe quel appareil ou application.
Fonctionnalités clés :
- Synchronisation multi-appareils
- Carnets d'adresses partagés
- Groupes de contacts
- Support des photos
- Champs personnalisés
- Support de vCard 4.0
Clients compatibles :
- Apple Contacts (macOS, iOS)
- Mozilla Thunderbird
- Evolution
- GNOME Contacts
- Tout client compatible CardDAV
Tâches et Rappels (CalDAV VTODO)
Tip
Forward Email prend en charge les tâches et rappels via CalDAV VTODO.
VTODO fait partie du format iCalendar et permet la gestion des tâches via CalDAV.
Fonctionnalités clés :
- Création et gestion des tâches
- Dates d'échéance et priorités
- Suivi de l'achèvement des tâches
- Tâches récurrentes
- Listes/catégories de tâches
Clients compatibles :
- Apple Reminders (macOS, iOS)
- Mozilla Thunderbird (avec Lightning)
- Evolution
- GNOME To Do
- Tout client CalDAV avec support VTODO
Flux de Synchronisation CalDAV/CardDAV
Extensions de Calendrier NON Supportées
Les extensions de calendrier suivantes NE sont PAS supportées :
| RFC | Titre | Raison |
|---|---|---|
| RFC 4918 | Extensions HTTP pour l'édition distribuée et la gestion de versions (WebDAV) | CalDAV utilise les concepts WebDAV mais n'implémente pas entièrement la RFC 4918 |
| RFC 6578 | Synchronisation de collections pour WebDAV | Non implémenté |
| RFC 3744 | Protocole de contrôle d'accès WebDAV | Non implémenté |
Filtrage des Messages Email
Important
Forward Email fournit un support complet de Sieve et ManageSieve pour le filtrage des emails côté serveur. Créez des règles puissantes pour trier, filtrer, transférer et répondre automatiquement aux messages entrants.
Sieve (RFC 5228)
Sieve est un langage de script standardisé et puissant pour le filtrage des emails côté serveur. Forward Email implémente un support complet de Sieve avec 24 extensions.
Code source : helpers/sieve/
RFCs Sieve de Base Supportées
| RFC | Titre | Statut |
|---|---|---|
| RFC 5228 | Sieve : un langage de filtrage des emails | ✅ Support complet |
| RFC 5429 | Filtrage des emails Sieve : extensions Reject et Extended Reject | ✅ Support complet |
| RFC 5230 | Filtrage des emails Sieve : extension Vacation | ✅ Support complet |
| RFC 6131 | Extension Vacation Sieve : paramètre "Seconds" | ✅ Support complet |
| RFC 5232 | Filtrage des emails Sieve : extension Imap4flags | ✅ Support complet |
| RFC 5173 | Filtrage des emails Sieve : extension Body | ✅ Support complet |
| RFC 5229 | Filtrage des emails Sieve : extension Variables | ✅ Support complet |
| RFC 5231 | Filtrage des emails Sieve : extension Relationnelle | ✅ Support complet |
| RFC 4790 | Registre de collation des protocoles applicatifs Internet | ✅ Support complet |
| RFC 3894 | Extension Sieve : copie sans effets secondaires | ✅ Support complet |
| RFC 5293 | Filtrage des emails Sieve : extension Editheader | ✅ Support complet |
| RFC 5260 | Filtrage des emails Sieve : extensions Date et Index | ✅ Support complet |
| RFC 5435 | Filtrage des emails Sieve : extension pour notifications | ✅ Support complet |
| RFC 5183 | Filtrage des emails Sieve : extension Environnement | ✅ Support complet |
| RFC 5490 | Filtrage des emails Sieve : extensions pour vérifier le statut de la boîte aux lettres | ✅ Support complet |
| RFC 8579 | Filtrage des emails Sieve : livraison vers des boîtes aux lettres à usage spécial | ✅ Support complet |
| RFC 7352 | Filtrage des emails Sieve : détection des livraisons en double | ✅ Support complet |
| RFC 5463 | Filtrage des emails Sieve : extension Ihave | ✅ Support complet |
| RFC 5233 | Filtrage des emails Sieve : extension Subaddress | ✅ Support complet |
| draft-ietf-sieve-regex | Filtrage des emails Sieve : extension expressions régulières | ✅ Support complet |
Extensions Sieve prises en charge
| Extension | Description | Intégration |
|---|---|---|
fileinto |
Classer les messages dans des dossiers spécifiques | Messages stockés dans le dossier IMAP spécifié |
reject / ereject |
Rejeter les messages avec une erreur | Rejet SMTP avec message de rebond |
vacation |
Réponses automatiques d'absence/vacances | Mis en file via Emails.queue avec limitation de débit |
vacation-seconds |
Intervalles précis pour les réponses d'absence | TTL à partir du paramètre :seconds |
imap4flags |
Définir les drapeaux IMAP (\Seen, \Flagged, etc.) | Drapeaux appliqués lors du stockage du message |
envelope |
Tester l'expéditeur/destinataire de l'enveloppe | Accès aux données de l'enveloppe SMTP |
body |
Tester le contenu du corps du message | Correspondance complète du texte du corps |
variables |
Stocker et utiliser des variables dans les scripts | Expansion de variables avec modificateurs |
relational |
Comparaisons relationnelles | :count, :value avec gt/lt/eq |
comparator-i;ascii-numeric |
Comparaisons numériques | Comparaison de chaînes numériques |
copy |
Copier les messages lors de la redirection | Drapeau :copy sur fileinto/redirect |
editheader |
Ajouter ou supprimer des en-têtes de message | En-têtes modifiés avant stockage |
date |
Tester les valeurs de date/heure | Tests currentdate et date d'en-tête |
index |
Accéder à des occurrences spécifiques d'en-têtes | :index pour en-têtes à valeurs multiples |
regex |
Correspondance par expression régulière | Support complet des regex dans les tests |
enotify |
Envoyer des notifications | Notifications mailto: via Emails.queue |
environment |
Accéder aux informations d'environnement | Domaine, hôte, remote-ip depuis la session |
mailbox |
Tester l'existence d'une boîte aux lettres | Test mailboxexists |
special-use |
Classer dans des boîtes aux lettres à usage spécial | Mappe \Junk, \Trash, etc. vers des dossiers |
duplicate |
Détecter les messages en double | Suivi des doublons basé sur Redis |
ihave |
Tester la disponibilité d'une extension | Vérification des capacités à l'exécution |
subaddress |
Accéder aux parties user+detail de l'adresse | Parties d'adresse :user et :detail |
Extensions Sieve NON prises en charge
| Extension | RFC | Raison |
|---|---|---|
include |
RFC 6609 | Risque de sécurité (injection de script), nécessite un stockage global des scripts |
mboxmetadata / servermetadata |
RFC 5490 | Nécessite l'extension IMAP METADATA |
fcc |
RFC 8580 | Nécessite l'intégration du dossier Envoyés |
encoded-character |
RFC 5228 | Modifications du parseur requises pour la syntaxe $ |
foreverypart / mime / extracttext |
RFC 5703 | Manipulation complexe de l'arbre MIME |
Flux de traitement Sieve
Fonctionnalités de sécurité
L'implémentation Sieve de Forward Email inclut des protections de sécurité complètes :
- Protection CVE-2023-26430 : Empêche les boucles de redirection et les attaques de mail bombing
- Limitation de débit : Limites sur les redirections (10/message, 100/jour) et les réponses de vacances
- Vérification de la liste de refus : Les adresses de redirection sont vérifiées contre la liste de refus
- En-têtes protégés : Les en-têtes DKIM, ARC et d'authentification ne peuvent pas être modifiés via editheader
- Limites de taille de script : Taille maximale du script appliquée
- Timeouts d'exécution : Les scripts sont terminés si l'exécution dépasse la limite de temps
Exemples de scripts Sieve
Classer les newsletters dans un dossier :
require ["fileinto"];
if header :contains "List-Id" "newsletter" {
fileinto "Newsletters";
}
Répondeur automatique de vacances avec minutage précis :
require ["vacation", "vacation-seconds"];
vacation :seconds 3600 :subject "Out of Office"
"Je suis actuellement absent et répondrai dans les 24 heures.";
Filtrage anti-spam avec drapeaux :
require ["fileinto", "imap4flags"];
if header :contains "X-Spam-Status" "Yes" {
setflag "\\Seen";
fileinto "Junk";
}
Filtrage complexe avec variables :
require ["variables", "fileinto", "regex"];
if header :regex "From" "(.+)@example\\.com" {
set :lower "sender" "${1}";
fileinto "Contacts/${sender}";
}
Tip
Pour la documentation complète, des scripts exemples et les instructions de configuration, voir FAQ : Supportez-vous le filtrage d’e-mails Sieve ?
ManageSieve (RFC 5804)
Forward Email offre un support complet du protocole ManageSieve pour la gestion à distance des scripts Sieve.
Code source : managesieve-server.js
| RFC | Titre | Statut |
|---|---|---|
| RFC 5804 | Un protocole pour la gestion à distance des scripts Sieve | ✅ Support complet |
Configuration du serveur ManageSieve
| Paramètre | Valeur |
|---|---|
| Serveur | imap.forwardemail.net |
| Port (STARTTLS) | 2190 (recommandé) |
| Port (TLS implicite) | 4190 |
| Authentification | PLAIN (sur TLS) |
Note : Le port 2190 utilise STARTTLS (passage de plain à TLS) et est compatible avec la plupart des clients ManageSieve, y compris sieve-connect. Le port 4190 utilise TLS implicite (TLS dès le début de la connexion) pour les clients qui le supportent.
Commandes ManageSieve supportées
| Commande | Description |
|---|---|
AUTHENTICATE |
Authentifier avec le mécanisme PLAIN |
CAPABILITY |
Lister les capacités et extensions du serveur |
HAVESPACE |
Vérifier si un script peut être stocké |
PUTSCRIPT |
Télécharger un nouveau script |
LISTSCRIPTS |
Lister tous les scripts avec statut actif |
SETACTIVE |
Activer un script |
GETSCRIPT |
Télécharger un script |
DELETESCRIPT |
Supprimer un script |
RENAMESCRIPT |
Renommer un script |
CHECKSCRIPT |
Valider la syntaxe du script |
NOOP |
Maintenir la connexion active |
LOGOUT |
Terminer la session |
Clients ManageSieve compatibles
- Thunderbird : Support Sieve intégré via extension Sieve
- Roundcube : plugin ManageSieve
- KMail : Support natif ManageSieve
- sieve-connect : Client en ligne de commande
- Tout client conforme à la RFC 5804
Flux du protocole ManageSieve
Interface Web et API
En plus de ManageSieve, Forward Email propose :
- Tableau de bord Web : Créez et gérez les scripts Sieve via l’interface web dans Mon Compte → Domaines → Alias → Scripts Sieve
- API REST : Accès programmatique à la gestion des scripts Sieve via la Forward Email API
Tip
Pour des instructions détaillées d’installation et de configuration client, voir FAQ : Supportez-vous le filtrage d’emails Sieve ?
Optimisation du stockage
Important
Technologie de stockage inédite dans l’industrie : Forward Email est le seul fournisseur d’email au monde à combiner la déduplication des pièces jointes avec la compression Brotli sur le contenu des emails. Cette optimisation à double couche vous offre 2 à 3 fois plus de stockage effectif comparé aux fournisseurs d’email traditionnels.
Forward Email met en œuvre deux techniques révolutionnaires d’optimisation du stockage qui réduisent drastiquement la taille des boîtes mail tout en respectant pleinement la RFC et la fidélité des messages :
- Déduplication des pièces jointes – Élimine les pièces jointes dupliquées dans tous les emails
- Compression Brotli – Réduit le stockage de 46 à 86 % pour les métadonnées et de 50 % pour les pièces jointes
Architecture : Optimisation du stockage à double couche
Déduplication des pièces jointes
Forward Email implémente la déduplication des pièces jointes basée sur l’approche éprouvée de WildDuck, adaptée au stockage SQLite.
Note
Ce qui est dédupliqué : « Pièce jointe » désigne le contenu du nœud MIME encodé (base64 ou quoted-printable), pas le fichier décodé. Cela préserve la validité des signatures DKIM et GPG.
Comment ça fonctionne
Implémentation originale de WildDuck (MongoDB GridFS) :
Le serveur IMAP Wild Duck déduplique les pièces jointes. « Pièce jointe » signifie ici le contenu du nœud mime encodé en base64 ou quoted-printable, pas le fichier décodé. Même si l’utilisation du contenu encodé entraîne beaucoup de faux négatifs (le même fichier dans différents emails peut être compté comme des pièces jointes différentes), cela est nécessaire pour garantir la validité des différents schémas de signature (DKIM, GPG, etc.). Un message récupéré depuis Wild Duck ressemble exactement au message stocké même si Wild Duck analyse le message en un objet arborescent et reconstruit le message lors de la récupération. Implémentation SQLite de Forward Email :
Forward Email adapte cette approche pour le stockage SQLite chiffré avec le processus suivant :
- Calcul du hash : Lorsqu'une pièce jointe est trouvée, un hash est calculé à l'aide de la bibliothèque
rev-hashà partir du corps de la pièce jointe - Recherche : Vérifier si une pièce jointe avec un hash correspondant existe dans la table
Attachments - Comptage des références :
- Si elle existe : Incrémenter le compteur de références de 1 et le compteur magique d'un nombre aléatoire
- Si nouvelle : Créer une nouvelle entrée de pièce jointe avec compteur = 1
- Sécurité de suppression : Utilise un système à double compteur (référence + magique) pour éviter les faux positifs
- Collecte des déchets : Les pièces jointes sont supprimées immédiatement lorsque les deux compteurs atteignent zéro
Code source : helpers/attachment-storage.js
Flux de déduplication
Système de nombre magique
Forward Email utilise le système de "nombre magique" de WildDuck (inspiré par Mail.ru) pour éviter les faux positifs lors de la suppression :
- Chaque message reçoit un nombre aléatoire assigné
- Le compteur magique de la pièce jointe est incrémenté de ce nombre aléatoire lorsque le message est ajouté
- Le compteur magique est décrémenté du même nombre lorsque le message est supprimé
- La pièce jointe n'est supprimée que lorsque les deux compteurs (référence + magique) atteignent zéro
Ce système à double compteur garantit que si quelque chose tourne mal lors de la suppression (ex. : crash, erreur réseau), la pièce jointe n'est pas supprimée prématurément.
Différences clés : WildDuck vs Forward Email
| Fonctionnalité | WildDuck (MongoDB) | Forward Email (SQLite) |
|---|---|---|
| Backend de stockage | MongoDB GridFS (par morceaux) | SQLite BLOB (direct) |
| Algorithme de hash | SHA256 | rev-hash (basé sur SHA-256) |
| Comptage des références | ✅ Oui | ✅ Oui |
| Nombres magiques | ✅ Oui (inspiré Mail.ru) | ✅ Oui (même système) |
| Collecte des déchets | Retardée (tâche séparée) | Immédiate (à zéro compteurs) |
| Compression | ❌ Aucune | ✅ Brotli (voir ci-dessous) |
| Chiffrement | ❌ Optionnel | ✅ Toujours (ChaCha20-Poly1305) |
Compression Brotli
Important
Première mondiale : Forward Email est le seul service email au monde à utiliser la compression Brotli sur le contenu des emails. Cela permet des économies de stockage de 46 à 86 % en plus de la déduplication des pièces jointes.
Forward Email implémente la compression Brotli à la fois pour les corps de pièces jointes et les métadonnées des messages, offrant d'importantes économies de stockage tout en maintenant la compatibilité ascendante.
Implémentation : helpers/msgpack-helpers.js
Ce qui est compressé
1. Corps des pièces jointes (encodeAttachmentBody)
- Anciens formats : chaîne encodée en hexadécimal (taille x2) ou Buffer brut
- Nouveau format : Buffer compressé Brotli avec en-tête magique "FEBR"
- Décision de compression : Ne compresse que si cela économise de l'espace (compte pour un en-tête de 4 octets)
- Économies de stockage : Jusqu'à 50 % (hex → BLOB natif)
2. Métadonnées du message (
encodeMetadata)
Inclut : mimeTree, headers, envelope, flags
- Ancien format : chaîne de texte JSON
- Nouveau format : Buffer compressé avec Brotli
- Économies de stockage : 46-86% selon la complexité du message
Configuration de la compression
// Options de compression Brotli optimisées pour la vitesse (le niveau 4 est un bon compromis)
const BROTLI_COMPRESS_OPTIONS = {
params: {
[zlib.constants.BROTLI_PARAM_QUALITY]: 4
}
};
Pourquoi le niveau 4 ?
- Compression/décompression rapide : traitement en moins d’une milliseconde
- Bon taux de compression : économies de 46-86%
- Performance équilibrée : optimal pour les opérations email en temps réel
En-tête magique : "FEBR"
Forward Email utilise un en-tête magique de 4 octets pour identifier les corps de pièces jointes compressés :
"FEBR" = Forward Email BRotli
Hex : 0x46 0x45 0x42 0x52
Pourquoi un en-tête magique ?
- Détection du format : identification instantanée des données compressées ou non
- Compatibilité ascendante : les anciennes chaînes hexadécimales et Buffers bruts fonctionnent toujours
- Évitement des collisions : "FEBR" est peu susceptible d’apparaître au début de données légitimes de pièce jointe
Processus de compression
Processus de décompression
Compatibilité ascendante
Toutes les fonctions de décodage détectent automatiquement le format de stockage :
| Format | Méthode de détection | Traitement |
|---|---|---|
| Compressé Brotli | Recherche de l’en-tête magique "FEBR" | Décompression avec zlib.brotliDecompressSync() |
| Buffer brut | Buffer.isBuffer() sans en-tête |
Retour tel quel |
| Chaîne hexadécimale | Vérification de la longueur paire + caractères [0-9a-f] | Décodage avec Buffer.from(value, 'hex') |
| Chaîne JSON | Premier caractère { ou [ |
Analyse avec JSON.parse() |
Cela garantit aucune perte de données lors de la migration des anciens vers les nouveaux formats de stockage.
Statistiques d’économies de stockage
Économies mesurées sur des données en production :
| Type de données | Ancien format | Nouveau format | Économies |
|---|---|---|---|
| Corps de pièces jointes | Chaîne encodée hexadécimal (2x) | BLOB compressé Brotli | 50% |
| Métadonnées du message | Texte JSON | BLOB compressé Brotli | 46-86% |
| Drapeaux de boîte aux lettres | Texte JSON | BLOB compressé Brotli | 60-80% |
Source : helpers/migrate-storage-format.js
Processus de migration
Forward Email fournit une migration automatique et idempotente des anciens vers les nouveaux formats de stockage : // Statistiques de migration suivies : { attachmentsMigrated: 0, messagesMigrated: 0, mailboxesMigrated: 0, bytesSaved: 0 // Total des octets économisés grâce à la compression }
**Étapes de migration :**
1. Corps des pièces jointes : encodage hexadécimal → BLOB natif (50 % d’économies)
2. Métadonnées des messages : texte JSON → BLOB compressé Brotli (46-86 % d’économies)
3. Flags des boîtes aux lettres : texte JSON → BLOB compressé Brotli (60-80 % d’économies)
**Source :** [`helpers/migrate-storage-format.js`](https://github.com/forwardemail/forwardemail.net/blob/master/helpers/migrate-storage-format.js)
---
### Efficacité de stockage combinée {#combined-storage-efficiency}
> \[!TIP]
> **Impact réel :** Avec la déduplication des pièces jointes + la compression Brotli, les utilisateurs de Forward Email bénéficient de **2 à 3 fois plus de stockage effectif** comparé aux fournisseurs d’email traditionnels.
**Scénario d’exemple :**
Fournisseur d’email traditionnel (boîte aux lettres de 1 Go) :
* 1 Go d’espace disque = 1 Go d’emails
* Pas de déduplication : même pièce jointe stockée 10 fois = gaspillage de stockage 10x
* Pas de compression : métadonnées JSON complètes stockées = gaspillage de stockage 2-3x
Forward Email (boîte aux lettres de 1 Go) :
* 1 Go d’espace disque ≈ **2-3 Go d’emails** (stockage effectif)
* Déduplication : même pièce jointe stockée une fois, référencée 10 fois
* Compression : 46-86 % d’économies sur les métadonnées, 50 % sur les pièces jointes
* Chiffrement : ChaCha20-Poly1305 (pas de surcharge de stockage)
**Tableau comparatif :**
| Fournisseur | Technologie de stockage | Stockage effectif (boîte 1 Go) |
| ----------------- | -------------------------------------------- | ------------------------------ |
| Gmail | Aucune | 1 Go |
| iCloud | Aucune | 1 Go |
| Outlook.com | Aucune | 1 Go |
| Fastmail | Aucune | 1 Go |
| ProtonMail | Chiffrement uniquement | 1 Go |
| Tutanota | Chiffrement uniquement | 1 Go |
| **Forward Email** | **Déduplication + Compression + Chiffrement** | **2-3 Go** ✨ |
### Détails techniques de l’implémentation {#technical-implementation-details}
**Performance :**
* Brotli niveau 4 : compression/décompression en moins d’une milliseconde
* Aucune pénalité de performance due à la compression
* SQLite FTS5 : recherche en moins de 50 ms avec SSD NVMe
**Sécurité :**
* La compression se fait **après** le chiffrement (la base SQLite est chiffrée)
* Chiffrement ChaCha20-Poly1305 + compression Brotli
* Zero-knowledge : seul l’utilisateur possède le mot de passe de déchiffrement
**Conformité RFC :**
* Les messages récupérés sont **exactement les mêmes** que ceux stockés
* Les signatures DKIM restent valides (contenu encodé préservé)
* Les signatures GPG restent valides (aucune modification du contenu signé)
### Pourquoi aucun autre fournisseur ne fait cela {#why-no-other-provider-does-this}
**Complexité :**
* Nécessite une intégration profonde avec la couche de stockage
* La compatibilité ascendante est difficile
* La migration depuis d’anciens formats est complexe
**Problèmes de performance :**
* La compression ajoute une charge CPU (résolue avec Brotli niveau 4)
* La décompression à chaque lecture (résolue avec la mise en cache SQLite)
**Avantage de Forward Email :**
* Conçu dès le départ avec l’optimisation en tête
* SQLite permet la manipulation directe des BLOB
* Bases de données chiffrées par utilisateur permettant une compression sûre
---
---
## Fonctionnalités modernes {#modern-features}
## API REST complète pour la gestion des emails {#complete-rest-api-for-email-management}
> \[!TIP]
> Forward Email fournit une API REST complète avec 39 points de terminaison pour la gestion programmatique des emails.
> \[!TIP]
> **Fonctionnalité unique dans l’industrie :** Contrairement à tous les autres services email, Forward Email offre un accès programmatique complet à votre boîte aux lettres, calendrier, contacts, messages et dossiers via une API REST complète. C’est une interaction directe avec votre fichier de base de données SQLite chiffré contenant toutes vos données.
Forward Email propose une API REST complète qui offre un accès sans précédent à vos données email. Aucun autre service email (y compris Gmail, iCloud, Outlook, ProtonMail, Tuta ou Fastmail) n’offre ce niveau d’accès direct et complet à la base de données.
**Documentation API :** <https://forwardemail.net/en/email-api>
### Catégories API (39 points de terminaison) {#api-categories-39-endpoints}
**1. API Messages** (5 points de terminaison) - Opérations CRUD complètes sur les messages email :
* `GET /v1/messages` - Lister les messages avec plus de 15 paramètres de recherche avancée (aucun autre service ne propose cela)
* `POST /v1/messages` - Créer/envoyer des messages
* `GET /v1/messages/:id` - Récupérer un message
* `PUT /v1/messages/:id` - Mettre à jour un message (drapeaux, dossiers)
* `DELETE /v1/messages/:id` - Supprimer un message
*Exemple : Trouver toutes les factures du dernier trimestre avec pièces jointes :*
```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"
Voir la Documentation Recherche Avancée
2. API Dossiers (5 points de terminaison) - Gestion complète des dossiers IMAP via REST :
GET /v1/folders- Lister tous les dossiersPOST /v1/folders- Créer un dossierGET /v1/folders/:id- Récupérer un dossierPUT /v1/folders/:id- Mettre à jour un dossierDELETE /v1/folders/:id- Supprimer un dossier
3. API Contacts (5 points de terminaison) - Stockage des contacts CardDAV via REST :
GET /v1/contacts- Lister les contactsPOST /v1/contacts- Créer un contact (format vCard)GET /v1/contacts/:id- Récupérer un contactPUT /v1/contacts/:id- Mettre à jour un contactDELETE /v1/contacts/:id- Supprimer un contact
4. API Calendriers (5 points de terminaison) - Gestion des conteneurs de calendriers :
GET /v1/calendars- Lister les conteneurs de calendriersPOST /v1/calendars- Créer un calendrier (ex. : « Calendrier Travail », « Calendrier Personnel »)GET /v1/calendars/:id- Récupérer un calendrierPUT /v1/calendars/:id- Mettre à jour un calendrierDELETE /v1/calendars/:id- Supprimer un calendrier
5. API Événements Calendrier (5 points de terminaison) - Planification d’événements dans les calendriers :
GET /v1/calendar-events- Lister les événementsPOST /v1/calendar-events- Créer un événement avec participantsGET /v1/calendar-events/:id- Récupérer un événementPUT /v1/calendar-events/:id- Mettre à jour un événementDELETE /v1/calendar-events/:id- Supprimer un événement
Exemple : Créer un événement de calendrier :
curl -u "alias@domain.com:password" \
-X POST \
-H "Content-Type: application/json" \
-d '{"title":"Réunion d\'équipe","start":"2024-12-20T10:00:00Z","attendees":["team@example.com"],"calendar_id":"calendar123"}' \
https://api.forwardemail.net/v1/calendar-events
Détails Techniques
- Authentification : Authentification simple
alias:password(pas de complexité OAuth) - Performance : Temps de réponse inférieur à 50 ms avec SQLite FTS5 et stockage NVMe SSD
- Latence Réseau Nulle : Accès direct à la base de données, sans passer par des services externes
Cas d’Utilisation Réels
-
Analyse des Emails : Construisez des tableaux de bord personnalisés suivant le volume d’emails, les temps de réponse, les statistiques des expéditeurs
-
Flux de Travail Automatisés : Déclenchez des actions basées sur le contenu des emails (traitement des factures, tickets de support)
-
Intégration CRM : Synchronisez automatiquement les conversations email avec votre CRM
-
Conformité & Recherche : Recherchez et exportez des emails pour des besoins légaux ou de conformité
-
Clients Email Personnalisés : Créez des interfaces email spécialisées pour votre flux de travail
-
Intelligence d’Affaires : Analysez les schémas de communication, taux de réponse, engagement client
-
Gestion Documentaire : Extrayez et catégorisez automatiquement les pièces jointes
Forward Email propose une API REST moderne offrant un contrôle total sur les comptes email, domaines, alias et messages. Cette API constitue une alternative puissante à JMAP et offre des fonctionnalités au-delà des protocoles email traditionnels.
| Catégorie | Points de terminaison | Description |
|---|---|---|
| Gestion des Comptes | 8 | Comptes utilisateurs, authentification, paramètres |
| Gestion des Domaines | 12 | Domaines personnalisés, DNS, vérification |
| Gestion des Alias | 6 | Alias email, redirections, catch-all |
| Gestion des Messages | 7 | Envoi, réception, recherche, suppression de messages |
| Calendrier & Contacts | 4 | Accès CalDAV/CardDAV via API |
| Journaux & Analyses | 2 | Journaux email, rapports de livraison |
Fonctionnalités clés de l’API
Recherche avancée :
L’API offre des capacités de recherche puissantes avec une syntaxe de requête similaire à Gmail :
GET /v1/messages?q=subject:invoice+has:attachment+after:2024-01-01+before:2024-04-01
Opérateurs de recherche pris en charge :
from:- Recherche par expéditeurto:- Recherche par destinatairesubject:- Recherche par sujethas:attachment- Messages avec pièces jointesis:unread- Messages non lusis:starred- Messages marquésafter:- Messages après une datebefore:- Messages avant une datelabel:- Messages avec étiquettefilename:- Nom de fichier de la pièce jointe
Gestion des événements du calendrier :
GET /v1/calendar-events
POST /v1/calendar-events
PUT /v1/calendar-events/:id
DELETE /v1/calendar-events/:id
Intégrations Webhook :
L’API prend en charge les webhooks pour les notifications en temps réel des événements email (reçus, envoyés, rejetés, etc.).
Authentification :
- Authentification par clé API
- Support OAuth 2.0
- Limitation du débit : 1000 requêtes/heure
Format des données :
- Requête/réponse JSON
- Conception RESTful
- Support de la pagination
Sécurité :
- HTTPS uniquement
- Rotation des clés API
- Liste blanche d’IP (optionnel)
- Signature des requêtes (optionnel)
Architecture de l’API
Notifications Push iOS
Tip
Forward Email prend en charge les notifications push natives iOS via XAPPLEPUSHSERVICE pour une livraison instantanée des emails.
Important
Fonctionnalité unique : Forward Email est l’un des rares serveurs email open-source à supporter les notifications push natives iOS pour les emails, contacts et calendriers via l’extension IMAP XAPPLEPUSHSERVICE. Cette fonctionnalité a été rétro-ingénierée à partir du protocole d’Apple et offre une livraison instantanée sur les appareils iOS sans décharge de batterie.
Forward Email implémente l’extension propriétaire XAPPLEPUSHSERVICE d’Apple, fournissant des notifications push natives pour les appareils iOS sans nécessiter de sondage en arrière-plan.
Comment ça fonctionne
XAPPLEPUSHSERVICE est une extension IMAP non standard qui permet à l’application Mail iOS de recevoir des notifications push instantanées à l’arrivée de nouveaux emails.
Forward Email implémente l’intégration propriétaire du service de notifications push Apple (APNs) pour IMAP, permettant à l’application Mail iOS de recevoir des notifications push instantanées à l’arrivée de nouveaux emails.
Fonctionnalités clés
Livraison instantanée :
- Les notifications push arrivent en quelques secondes
- Pas de sondage en arrière-plan consommateur de batterie
- Fonctionne même lorsque l’application Mail est fermée
-
Livraison instantanée : Les emails, événements de calendrier et contacts apparaissent immédiatement sur votre iPhone/iPad, sans attente de sondage
-
Efficace pour la batterie : Utilise l’infrastructure push d’Apple au lieu de maintenir des connexions IMAP constantes
-
Push basé sur les sujets : Supporte les notifications push pour des boîtes aux lettres spécifiques, pas seulement la boîte de réception
-
Pas d’applications tierces requises : Fonctionne avec les applications natives Mail, Calendrier et Contacts iOS Intégration native :
-
Intégré à l’application Mail d’iOS
-
Aucune application tierce requise
-
Expérience utilisateur fluide
Axé sur la confidentialité :
- Les jetons d’appareil sont chiffrés
- Aucun contenu de message envoyé via APNS
- Seule la notification de « nouveau mail » est envoyée
Efficace en termes de batterie :
- Pas de sondage IMAP constant
- L’appareil reste en veille jusqu’à l’arrivée d’une notification
- Impact minimal sur la batterie
Ce qui rend cela spécial
Important
La plupart des fournisseurs de messagerie ne prennent pas en charge XAPPLEPUSHSERVICE, obligeant les appareils iOS à interroger les mails toutes les 15 minutes.
La plupart des serveurs de messagerie open-source (y compris Dovecot, Postfix, Cyrus IMAP) ne prennent PAS en charge les notifications push iOS. Les utilisateurs doivent soit :
- Utiliser IMAP IDLE (maintient la connexion ouverte, consomme la batterie)
- Utiliser le sondage (vérifie toutes les 15-30 minutes, notifications retardées)
- Utiliser des applications de messagerie propriétaires avec leur propre infrastructure push
Forward Email offre la même expérience de notification push instantanée que les services commerciaux comme Gmail, iCloud et Fastmail.
Comparaison avec d’autres fournisseurs :
| Fournisseur | Support Push | Intervalle de sondage | Impact sur la batterie |
|---|---|---|---|
| Forward Email | ✅ Push natif | Instantané | Minimal |
| Gmail | ✅ Push natif | Instantané | Minimal |
| iCloud | ✅ Push natif | Instantané | Minimal |
| Yahoo | ✅ Push natif | Instantané | Minimal |
| Outlook.com | ❌ Sondage | 15 minutes | Modéré |
| Fastmail | ❌ Sondage | 15 minutes | Modéré |
| ProtonMail | ⚠️ Pont uniquement | Via pont | Élevé |
| Tutanota | ❌ Application uniquement | N/A | N/A |
Détails de l’implémentation
Réponse CAPABILITY IMAP :
* CAPABILITY IMAP4rev1 ... XAPPLEPUSHSERVICE ...
Processus d’enregistrement :
- L’application Mail iOS détecte la capacité XAPPLEPUSHSERVICE
- L’application enregistre le jeton de l’appareil auprès de Forward Email
- Forward Email stocke le jeton et l’associe au compte
- Lorsqu’un nouveau mail arrive, Forward Email envoie une notification push via APNS
- iOS réveille l’application Mail pour récupérer les nouveaux messages
Sécurité :
- Les jetons d’appareil sont chiffrés au repos
- Les jetons expirent et sont automatiquement renouvelés
- Aucun contenu de message exposé à APNS
- Chiffrement de bout en bout maintenu
- Extension IMAP :
XAPPLEPUSHSERVICE - Code source : WildDuck Issue #711
- Installation : Automatique - aucune configuration nécessaire, fonctionne directement avec l’application Mail iOS
Comparaison avec d’autres services
| Service | Support Push iOS | Méthode |
|---|---|---|
| Forward Email | ✅ Oui | XAPPLEPUSHSERVICE (rétro-ingénierie) |
| Gmail | ✅ Oui | Application Gmail propriétaire + push Google |
| iCloud Mail | ✅ Oui | Intégration native Apple |
| Outlook.com | ✅ Oui | Application Outlook propriétaire + push Microsoft |
| Fastmail | ✅ Oui | XAPPLEPUSHSERVICE |
| Dovecot | ❌ Non | IMAP IDLE ou sondage uniquement |
| Postfix | ❌ Non | IMAP IDLE ou sondage uniquement |
| Cyrus IMAP | ❌ Non | IMAP IDLE ou sondage uniquement |
Push Gmail :
Gmail utilise un système push propriétaire qui ne fonctionne qu’avec l’application Gmail. L’application Mail iOS doit interroger les serveurs IMAP de Gmail.
Push iCloud :
iCloud dispose d’un support push natif similaire à Forward Email, mais uniquement pour les adresses @icloud.com.
Outlook.com ne prend pas en charge XAPPLEPUSHSERVICE, obligeant l’application Mail iOS à interroger toutes les 15 minutes.
Fastmail :
Fastmail ne prend pas en charge XAPPLEPUSHSERVICE. Les utilisateurs doivent utiliser l’application Fastmail pour les notifications push ou accepter un délai de sondage de 15 minutes.
Tests et vérification
Tests de capacité du protocole
Note
Cette section fournit les résultats de nos derniers tests de capacité des protocoles, réalisés le 22 janvier 2026.
Cette section contient les réponses réelles CAPABILITY/CAPA/EHLO de tous les fournisseurs testés. Tous les tests ont été effectués le 22 janvier 2026.
Ces tests permettent de vérifier le support annoncé et réel des différents protocoles et extensions de messagerie chez les principaux fournisseurs.
Méthodologie de test
Environnement de test :
- Date : 22 janvier 2026 à 02:37 UTC
- Emplacement : instance AWS EC2
- IPv4 : 54.167.216.197
- IPv6 : 2600:4040:46da:9a00:b19e:3ad4:426c:2f48
- Outils : OpenSSL s_client, scripts bash
Fournisseurs testés :
- Forward Email
- Gmail
- Outlook.com
- iCloud
- Fastmail
- Yahoo/AOL (Verizon)
Scripts de test
Pour une transparence totale, les scripts exacts utilisés pour ces tests sont fournis ci-dessous.
Script de test de capacité IMAP
#!/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 "========================================="
Script de test de capacité POP3
#!/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 (Note : iCloud ne supporte pas POP3)
echo "--- iCloud (Pas de support POP3) ---"
echo "iCloud ne supporte pas 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 "========================================="
Script de test des capacités SMTP
#!/bin/bash
# Script de test des capacités SMTP
# Teste EHLO SMTP pour divers fournisseurs de messagerie
echo "========================================="
echo "TEST DE CAPACITÉ SMTP"
echo "Date : $(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 terminé"
echo "========================================="
Résumé des résultats des tests
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
Résultats détaillés des tests
Résultats du test IMAP
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 : Délai de connexion dépassé. Voir les notes ci-dessous.
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
Résultats du test POP3
Gmail : La connexion n’a pas renvoyé de réponse CAPA sans authentification.
Outlook.com : La connexion n’a pas renvoyé de réponse CAPA sans authentification.
iCloud : Non pris en charge.
Fastmail : Délai de connexion dépassé. Voir les notes ci-dessous.
Yahoo :
+OK CAPA list follows... SASL PLAIN XOAUTH2
Forward Email : La connexion n’a pas renvoyé de réponse CAPA sans authentification.
Résultats du test SMTP
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
Notes sur les résultats des tests
Note
Observations importantes et limitations issues des résultats des tests.
-
Timeouts Fastmail : Les connexions Fastmail ont expiré lors des tests, probablement en raison de limitations de débit ou de restrictions de pare-feu liées à l’IP du serveur de test. Fastmail est reconnu pour son support robuste d’IMAP/POP3/SMTP selon leur documentation.
-
Réponses CAPA POP3 : Plusieurs fournisseurs (Gmail, Outlook.com, Forward Email) n’ont pas renvoyé de réponses CAPA sans authentification. C’est une pratique de sécurité courante pour les serveurs POP3.
-
Support DSN : Seuls Outlook.com, iCloud et Forward Email annoncent explicitement le support DSN dans leurs réponses EHLO SMTP. Cela ne signifie pas nécessairement que les autres fournisseurs ne supportent pas DSN, mais ils ne le déclarent pas.
-
REQUIRETLS : Seul Forward Email annonce explicitement le support REQUIRETLS avec une case à cocher visible par l’utilisateur pour appliquer cette exigence. Les autres fournisseurs peuvent le supporter en interne mais ne l’annoncent pas dans EHLO.
-
Environnement de test : Les tests ont été effectués depuis une instance AWS EC2 (IP : 54.167.216.197 IPv4, 2600:4040:46da:9a00:b19e:3ad4:426c:2f48 IPv6) le 22 janvier 2026 à 02:37 UTC.
Résumé
Forward Email offre un support complet des protocoles RFC pour tous les standards majeurs de messagerie :
- IMAP4rev1 : 16 RFC supportées avec différences intentionnelles documentées
- POP3 : 4 RFC supportées avec suppression permanente conforme aux RFC
- SMTP : 11 extensions supportées incluant SMTPUTF8, DSN et PIPELINING
- Authentification : DKIM, SPF, DMARC, ARC entièrement supportés
- Sécurité du transport : MTA-STS et REQUIRETLS entièrement supportés, support partiel de DANE
- Chiffrement : OpenPGP v6 et S/MIME supportés
- Calendrier : CalDAV, CardDAV et VTODO entièrement supportés
- Accès API : API REST complète avec 39 points de terminaison pour accès direct à la base de données
- Push iOS : Notifications push natives pour email, contacts et calendriers via
XAPPLEPUSHSERVICE
Différenciateurs clés
Tip
Forward Email se distingue par des fonctionnalités uniques introuvables chez d’autres fournisseurs.
Ce qui rend Forward Email unique :
- Chiffrement Quantum-Safe – Seul fournisseur avec boîtes aux lettres SQLite chiffrées ChaCha20-Poly1305
- Architecture Zero-Knowledge – Votre mot de passe chiffre votre boîte aux lettres ; nous ne pouvons pas la déchiffrer
- Domaines personnalisés gratuits – Pas de frais mensuels pour les emails sur domaine personnalisé
- Support REQUIRETLS – Case à cocher visible par l’utilisateur pour appliquer TLS sur tout le chemin de livraison
- API complète – 39 points de terminaison REST API pour contrôle programmatique total
- Notifications push iOS – Support natif XAPPLEPUSHSERVICE pour livraison instantanée
- Open Source – Code source complet disponible sur GitHub
- Respect de la vie privée – Pas de collecte de données, pas de publicité, pas de suivi
- Chiffrement en bac à sable : Seul service de messagerie avec des boîtes aux lettres SQLite chiffrées individuellement
- Conformité RFC : Priorise la conformité aux standards plutôt que la commodité (par ex., POP3 DELE)
- API complète : Accès programmatique direct à toutes les données email
- Open Source : Implémentation totalement transparente
Résumé du support des protocoles :
| Catégorie | Niveau de support | Détails |
|---|---|---|
| Protocoles principaux | ✅ Excellent | IMAP4rev1, POP3, SMTP entièrement supportés |
| Protocoles modernes | ⚠️ Partiel | Support partiel d’IMAP4rev2, JMAP non supporté |
| Sécurité | ✅ Excellent | DKIM, SPF, DMARC, ARC, MTA-STS, REQUIRETLS |
| Chiffrement | ✅ Excellent | OpenPGP, S/MIME, chiffrement SQLite |
| CalDAV/CardDAV | ✅ Excellent | Synchronisation complète des calendriers et contacts |
| Filtrage | ✅ Excellent | Sieve (24 extensions) et ManageSieve |
| API | ✅ Excellent | 39 points de terminaison REST |
| Push | ✅ Excellent | Notifications push natives iOS |