22 KiB
Postclient — client de bureau PEC, REM et IMAP
Langue: English · Italiano · Français · Deutsch · Español
L’interface de l’application est en anglais, italien, français, allemand ou espagnol. Ces documents décrivent le même client de messagerie de bureau open source pour qui envoie et conserve de la posta elettronica certificata (PEC), du courrier électronique recommandé eIDAS (REM) et du courrier IMAP / POP3 / SMTP ordinaire sous Windows, Linux et macOS.
Postclient est un client local, pas une webmail. Il parle IMAP, POP3 et SMTP aux comptes que vous avez déjà : Gmail, Microsoft 365, PEC italienne chez un gestionnaire qualifié (Aruba, InfoCert Legalmail, Namirial, Poste Italiane, Register.it, Libero, et IMAP sur domaine personnalisé), et REM européenne lorsque l’opérateur publie IMAP/SMTP. Les avis restent sur cet ordinateur en .eml plus une archive SQLite interrogeable.
Ce n’est pas un prestataire de services de confiance qualifié (QTSP), pas un opérateur PEC, pas une autorité d’horodatage et pas une boîte hébergée. Les enveloppes et accusés sont émis par le gestionnaire / QTSP. Ce programme les ouvre, affiche la preuve de livraison et conserve les originaux sur la machine.
| Nature | Client de messagerie de bureau pour PEC, REM et IMAP |
| OS | Windows, Linux, macOS (Apple Silicon et Intel) |
| Stack | C#, .NET 10, Avalonia, MailKit |
| Licence | Apache 2.0 |
| N’est pas | Un QTSP, une nouvelle adresse PEC/REM, du courrier cloud, une appli scanner |
Journal : CHANGELOG.md. Développement : CONTRIBUTING.md et le README anglais (compilation, tests, publication).
Conçu pour le courrier certifié sur le bureau
La messagerie de bureau et le webmail traitent en général une enveloppe PEC ou une preuve ETSI REM comme une pièce jointe quelconque. Postclient est écrit autour de cette preuve :
- Ouvrir les enveloppes PEC / REM — lire le
postacert.emlinterne (le message destiné au destinataire) plutôt que l’enveloppe du gestionnaire ; colonne Type PEC, RIC, REM ou SIG (signé numériquement). - Colonne livraison depuis la preuve opérateur — accettazione, avvenuta-consegna, ETSI
SubmissionAcceptance/Delivery/Retrieval, avis LRE et AR24, Zustellung et Abholbestätigung De-Mail, acuse de recibo. Après SMTP, Envoyés est rapproché des avis Boîte de réception/Ricevute par Message-Id,daticert.xmlet préfixes d’objet. La PEC italienne n’a pas d’accusé de lecture : avvenuta consegna est le dépôt dans la boîte certifiée. - Aperçu FatturaPA — XML de facturation électronique italienne en vue lisible (analyseur XML, pas d’IA générative).
- Fascicule d’
.emloriginaux — exporter les messages sélectionnés comme les fichiers qu’un notaire, un guichet, une banque ou un juge peut conserver. - De est un sélecteur de boîte — pas d’expéditeur saisi librement ; l’envoi utilise l’identité SMTP du compte connecté.
- Étiquettes de dossier sur cet ordinateur — copropriété, dossier client, avis fiscal. Les étiquettes sont locales, pas une base de cabinet en réseau.
- Archive locale du dossier entier — Get Messages stocke tout le dossier IMAP dans
mail.dbplus les.emlsur disque (pas une fenêtre des N derniers). FTS sur objet, corps, texte des pièces PDF/XML/HTML/CSV/JSON et étiquettes. - Recherche de sens sur l’appareil (RAG) — EmbeddingGemma 300M optionnel dans Paramètres → Indices…. Les vecteurs restent dans
mail.db. Le courrier ne quitte pas la machine. Reconstruire ou réparer les indices mot-clé et sens. - Règles entre boîtes — déplacer, supprimer, marquer, étiqueter ; le dossier cible peut vivre sur un autre compte, y compris un magasin de dossiers. Import JSON ou fichier
.rwzhistorique ; l’export est JSON. - Magasins de dossiers — créer, attacher, déplacer ou détacher un dossier qui contient les
.emlet son propremail.db. Importer PST/OST… copie le courrier dans un magasin ; le.pstn’est pas une boîte. Chemin par défaut :%LocalAppData%\Postclient\stores\{nom}(portable :{installation}/data/stores/{nom}). - Easy Migration — Fichier → Easy Migration → Créer un bundle… demande la passphrase deux fois dans la même fenêtre, puis Enregistrer. Le
.postbundlecontient le courrier, les comptes, les secrets et le dossier de modèle partagé. Ouvrir un bundle… le restaure dans les dossiers Postclient de ce PC. La synchro en arrière-plan reste arrêtée. - Synchro en arrière-plan — Paramètres → Synchro en arrière-plan pour ce compte… : un service au démarrage (service Windows, unité systemd système sous Linux). Il synchronise chaque boîte enregistrée sans personne connectée.
- Spam — Marquer comme spam retient ce message sur ce PC et l’enseigne à chaque boîte, même après la disparition du message ou de la boîte. Le courrier semblable n’est qu’un indice. Pas du spam efface cette mémoire et renvoie le message dans la boîte de réception. Déplacer vers Indésirable n’enseigne pas le filtre.
- Packs pays — Paramètres → Fonctionnalités active ou désactive l’Italie (PEC, FatturaPA, fascicule), l’Europe (REM eIDAS), la France, l’Allemagne, l’Espagne et la Suisse. L’IMAP ordinaire reste disponible.
Public
Particuliers
Client quotidien pour une ou plusieurs adresses : Gmail ou Microsoft 365 à côté d’une PEC personnelle (Italie) ou d’une boîte REM IMAP (UE). Retrouver un avis de copropriété, un dossier fiscal ou un courrier d’administration des années plus tard, sans laisser les originaux chez un tiers.
Usage typique : courrier certifié et courrier ordinaire dans la même fenêtre ; voir si le gestionnaire a accepté et déposé le message ; imprimer ou enregistrer un PDF ; exporter l’.eml original si la mairie, la banque ou le juge le demande.
Cabinets et agences
Utile lorsque les identités certifiées ne doivent pas se mélanger : PEC personnelle, PEC du cabinet, courrier ordinaire. Un avocat, un expert-comptable, un notaire, un syndic ou un cabinet UE qui dépose auprès de l’administration peut garder chaque boîte d’opérateur séparée (QUOTA IMAP dans la barre d’état), regrouper un envoi avec ses avis et exporter un fascicule sans charger le dossier chez un tiers.
Le programme ne remplace pas le gestionnaire, n’émet pas d’accusé qualifié et ne partage pas les étiquettes entre les postes du cabinet.
Comptes et protocoles
Entrée : IMAP (arborescence), POP3 (boîte de réception seulement) ou un magasin de dossiers local. Un .pst Unicode peut encore être importé dans un magasin. Sortie : SMTP. Chiffrement : auto, SSL/TLS, STARTTLS, STARTTLS si disponible, ou aucun. MailKit utilise les méthodes SASL annoncées par le serveur.
Plusieurs boîtes peuvent être enregistrées. Les profils remplissent hôtes et ports :
| Profil | Rôle |
|---|---|
| Gmail | IMAP/SMTP ; connexion Google (OAuth2 / XOAUTH2) ou mot de passe d’application Gmail |
| Microsoft 365 | IMAP/SMTP ; connexion Microsoft. La plupart de ces comptes refusent le mot de passe de la boîte |
| IT PEC — Aruba, Legalmail, Namirial, Poste Italiane, Register.it, Libero | Hôtes IMAP/SMTP du gestionnaire italien (voir le README anglais pour les noms d’hôte) |
| EU — Intesi Group | imap.ig-trustmail.com / smtp.ig-trustmail.com |
| IMAP / POP3 | Tout hôte fourni par l’opérateur. Indiquez le type de boîte PEC italienne ou REM UE si cette boîte est certifiée (y compris avec un domaine personnalisé) |
| Magasin local | Dossier sur disque (postclient.store.json + mail.db + .eml). Sans mot de passe ni SMTP. Créer, attacher, déplacer ou détacher depuis le menu Fichier. |
Les boîtes IMAP certifiées utilisent le mot de passe du gestionnaire, ou un mot de passe d’application si la 2FA est active. AR24, La Poste LRE et d’autres LRE françaises ne sont en général pas de l’IMAP. De-Mail (Allemagne), IncaMail (Suisse) et Lleida (Espagne) non plus. Si l’opérateur a fourni des hôtes IMAP/POP3, choisissez IMAP / POP3. Sinon ce client n’ouvre pas cette boîte ; il peut encore afficher une preuve ETSI REM sur des messages importés en .eml.
Gmail et Microsoft 365 passent par Identity Hub (https://identity.maks-it.com). Les paramètres de compte ouvrent /desktop-login?provider=Google ou Microsoft. Le JWT Hub et le jeton de rafraîchissement restent dans secrets.bin ; IMAP utilise un jeton mailbox de courte durée (XOAUTH2). À la connexion, le client renouvelle la session Hub à partir de ce jeton, pour que Gmail et Outlook restent connectés après la fermeture. Si une version antérieure n’a enregistré que le JWT, reconnectez-vous une fois dans les paramètres de compte. Surcharge : POSTCLIENT_IDENTITY_HUB. Le mot de passe reste valable pour PEC et IMAP générique.
Mots de passe et jetons OAuth restent à côté des réglages (DPAPI sous Windows, mode 600 sous Linux/macOS), jamais dans settings.json.
PEC italienne (posta elettronica certificata)
La PEC est une enveloppe du gestionnaire :
- message de transport
X-Trasporto: posta-certificata,daticert.xml, original danspostacert.eml; - avis (
X-Ricevuta) dans Boîte de réception et Receipts / Ricevute : accettazione, presa-in-carico, avvenuta-consegna, non-accettazione, mancata-consegna, virus, préavis d’erreur.
Affichage → Unwrap PEC/REM envelope montre le postacert.eml interne. La colonne Type indique PEC (transport) ou RIC (avis).
La PEC italienne n’a pas d’accusé de lecture. Avvenuta consegna signifie un dépôt dans la boîte certifiée du destinataire, pas qu’une personne a ouvert le message.
REM européenne (courrier électronique recommandé eIDAS)
Si le message porte une preuve ETSI REM (REMEvidence / urn:etsi:rem, ou une pièce remevidence / rem-md), le client le traite comme REM. Les événements alimentent la même colonne Livraison que la PEC :
SubmissionAcceptance→ prise en charge par le QTSP ;Delivery/ avis de réception LRE ou AR24 / Zustellung De-Mail / acuse de recibo → déposé ;ContentConsignment/Retrieval/AbholbestätigungDe-Mail → le destinataire a retiré le contenu (équivalent européen le plus proche de la « lecture ») ;- rejet, virus, non-remise,
DeliveryExpiration→ échec.
S/MIME (smime.p7s / smime.p7m) est affiché comme signé numériquement ; ce n’est ni PEC ni REM.
Colonne livraison après envoi
Après l’envoi SMTP, Postclient mémorise le Message-Id sortant et, à l’ouverture de Envoyés, rapproche les avis depuis Boîte de réception et Ricevute. L’attente ne vaut que pour les comptes PEC ou REM (profil, ou IMAP/POP3 avec ce type de boîte). Gmail, Microsoft 365 et IMAP ordinaires sont simplement marqués envoyés. Appariement, dans l’ordre : <msgid> de daticert.xml, X-Riferimento-Message-ID, In-Reply-To, identificativo PEC, puis les préfixes d’objet (ACCETTAZIONE:, CONSEGNA:, AVIS DE RECEPTION:, ACUSE DE RECIBO:, ZUSTELLBESTAETIGUNG:, ABHOLBESTAETIGUNG:, …).
| Preuve | État | Signification |
|---|---|---|
PEC accettazione / presa-in-carico, ETSI SubmissionAcceptance |
Accepté | Le gestionnaire a pris le message |
PEC avvenuta-consegna, ETSI Delivery, avis LRE/AR24, Zustellung |
Livré | Déposé dans la boîte certifiée — la PEC ne certifie pas la lecture |
ETSI ContentConsignment / Retrieval, Abholbestätigung |
Retiré | Le destinataire a retiré le contenu |
non-accettazione, mancata-consegna, virus, rejet ETSI |
Échec | Le gestionnaire signale un refus ou une non-remise |
Le client affiche la preuve de l’opérateur. Il n’émet pas d’accusé qualifié, d’enveloppe PEC ni d’horodatage.
Les notifications système signalent les nouvelles PEC, avis et REM (toast Windows, notification macOS, notify-send sous Linux).
Lecture, dossiers, rédaction
- L’arbre suit le serveur (Boîte de réception, Ricevute, Brouillons, Envoyés, Archive, Indésirable, Corbeille, plus dossiers personnalisés). Les chemins IMAP imbriqués apparaissent comme des dossiers imbriqués, y compris les libellés Gmail
[Gmail]/…sous[Gmail]. Brouillons, Envoyés et Corbeille nommésINBOX.Drafts/INBOX.Sent/INBOX.Trashrestent à côté de la boîte de réception, pas en dessous. Gmail utilise/comme séparateur : un libellé tel queP.IVAreste un seul dossier. Les dossiers système ne se suppriment pas. On peut créer un dossier, le vider (vers la Corbeille, ou définitivement dans la Corbeille), tout marquer lu/non lu, supprimer un dossier personnalisé, glisser des messages sur un dossier. L’état ouvert ou fermé des comptes et des dossiers imbriqués est conservé danssettings.json. - Colonnes : non lu, drapeau, pièces jointes, livraison, type (PEC / RIC / REM / SIG), de, objet, date (locale
yyyy-MM-dd HH:mm), taille, étiquette de dossier. - Vue : HTML (moteur web du système), texte, source, ou FatturaPA. Disposition : liste au-dessus de la lecture, ou trois colonnes (dossiers, liste, lecture).
- Grouper les conversations indente les réponses dans la liste (Message-ID / In-Reply-To / References, profondeur max. 8). Les avis PEC du même original restent ensemble. Il n’y a pas de volet conversation séparé.
- Actions : répondre, répondre à tous, transférer, ouvrir dans une nouvelle fenêtre, lu/non lu, drapeau, priorité, marquer comme spam, pas du spam, supprimer. Maj+clic et Ctrl+clic sélectionnent plusieurs messages ou dossiers. Supprimer (barre, Suppr, vider le dossier) envoie la sélection à la Corbeille. Depuis la Corbeille, la suppression est définitive.
- La rédaction est en texte brut. À, Cc, Cci sont des pastilles d’adresse. Envoyer les pièces en ZIP archive les fichiers déposés (mot de passe optionnel). L’envoi n’utilise que l’identité SMTP de la boîte choisie.
HTML : WebView2 sous Windows, WebKitGTK sous Linux, WKWebView sous macOS. Sans moteur, le corps texte s’affiche.
Paquets Linux pour la vue HTML :
sudo apt install libgtk-3-0 libwebkit2gtk-4.1-0 libsoup-3.0-0
Fedora : gtk3 webkit2gtk4.1 libsoup3.
Archive locale, recherche par mots et index de sens
« Get Messages » indexe tout le dossier IMAP dans SQLite (mail.db) plus les .eml sur disque. POP3 ne remplit que la boîte de réception. L’indexation tourne en arrière-plan ; la barre d’état indique l’avancement.
- Paramètres → Indices… : index mot-clé (FTS) et, en option, EmbeddingGemma 300M (~300 Mo) pour le sens. Le paquet ONNX se télécharge une fois dans le dossier de la machine (
ProgramData\MaksIT\Postclient\models, ou/var/lib/maksit/postclient/modelssous Linux) et est partagé par chaque compte et par le service de synchro. Les vecteurs restent dansmail.dbsur cet ordinateur. Périphérique : Auto / CPU / GPU (DirectML sous Windows). Reconstruire ou réparer si la recherche est fausse. Les poids suivent les conditions Google Gemma. Marques de spam… liste ce que le filtre a appris.
La recherche (dossier courant) couvre objet, corps, texte des pièces (PDF et text/XML/HTML/CSV/JSON), étiquettes et le sens lorsque le modèle est prêt. La zone de recherche a une × qui efface le texte. Les étiquettes n’existent que sur ce PC.
L’archive est uniquement sur cet ordinateur. Fichier → Ouvrir le dossier d’archive / Exporter l’archive copie mail.db et les .eml. Emplacements :
| OS | Configuration | Données |
|---|---|---|
| Windows | %AppData%\Postclient\ |
%LocalAppData%\Postclient\ |
| Linux | ~/.config/postclient/ |
~/.local/share/postclient/ |
| macOS | ~/Library/Application Support/Postclient/ |
identique |
Surcharge : POSTCLIENT_CONFIG / POSTCLIENT_DATA_DIR. Le zip portable Windows avec installType: portable dans settings.json garde la config à côté de l’exécutable.
Le QUOTA IMAP du gestionnaire (si le serveur le publie) apparaît dans la barre d’état. C’est l’espace chez l’opérateur, pas un stockage cloud de cette application.
Import, export, impression
| Action | Résultat |
|---|---|
| Importer EML | Originaux dans le dossier courant |
| Importer mbox | Magasins mbox locaux issus d’un profil de messagerie de bureau |
Importer .pst / .ost |
Copie le courrier Outlook dans un magasin de dossiers (chemin proposé sous stores/ dans les données de l’appli). Un second import dans le même magasin ignore les doublons par Message-ID. Fermez tout programme qui a le fichier ouvert. |
| Nouveau magasin | Menu Fichier : dossier vide (Boîte de réception, Brouillons, Envoyés, Supprimés) avec postclient.store.json et mail.db. |
| Attacher un magasin | Menu Fichier : choisir un dossier qui a déjà postclient.store.json. |
| Déplacer / détacher | Copie tout le dossier, ou le retire de la liste. Le dossier reste sur le disque une fois détaché. |
| Rétention | Paramètres → Rétention… : jours par dossier (0 = toujours). À l’échéance, le courrier du dossier va à la Corbeille après la récupération. Sur la Corbeille, 0 la garde toujours et un nombre de jours supprime définitivement l’ancienne Corbeille. |
| Synchro en arrière-plan | Paramètres → Synchro en arrière-plan pour ce compte… : service au démarrage (service Windows, unité systemd système sous Linux). Synchronise chaque boîte enregistrée sans connexion. Partager ce compte permet seulement aux autres personnes de ce PC d’ouvrir cette boîte. |
| Compte partagé | Paramètres du compte → Partager ce compte avec les autres utilisateurs de ce PC : cette boîte passe dans le dossier de la machine (ProgramData\MaksIT\Postclient, ou Public si ProgramData n’est pas inscriptible ; /var/lib/maksit/postclient sous Linux ; /Users/Shared/MaksIT/Postclient sous macOS). Les autres utilisateurs la voient en ouvrant Postclient. Les mots de passe ne sont pas copiés. |
| Easy Migration | Fichier → Easy Migration → Créer un bundle… demande la passphrase deux fois dans la même fenêtre, puis Enregistrer. Le .postbundle contient le courrier, les comptes, les secrets et le dossier de modèle partagé. Ouvrir un bundle… le restaure sur ce PC et réécrit les chemins des magasins. La synchro en arrière-plan reste arrêtée. |
| Marques de spam | Marquer comme spam retient ce message sur ce PC et l’enseigne à chaque boîte, même après la disparition du message ou de la boîte. Le courrier semblable n’est qu’un indice. Pas du spam efface cette mémoire et renvoie le message dans la boîte de réception. Déplacer vers Indésirable n’enseigne pas le filtre. Paramètres → Indices… → Marques de spam… liste ce qui a été appris. |
| Mises à jour et journal | Aide → Rechercher des mises à jour… interroge GitHub pour la dernière version et peut télécharger le paquet de ce système. Aide → Journal ouvre une fenêtre copiable sur le dossier des journaux. Aide → À propos de Postclient liste Info, Privacy, Security et Support sur maks-it.com. |
| Règles | Paramètres → Règles : Importer des règles… lit l’export JSON de cette appli ou un fichier .rwz historique. Exporter des règles… écrit du JSON. Chaque règle est liée à un compte ; le dossier cible peut vivre sur une autre boîte (y compris un magasin). Elles s’exécutent à la récupération, à l’import et via Exécuter toutes les règles. |
| Imprimer | HTML lisible du message (éventuellement désenveloppé) |
| Enregistrer PDF | Le même contenu en PDF |
| ZIP des pièces | Toutes les pièces du message ouvert |
| Exporter les EML sélectionnés (fascicule) | Les .eml originaux — ce qu’un notaire ou une administration peut conserver comme message |
Les messages ouverts sont aussi copiés en .eml sous le dossier de données. Les .eml sont les originaux ; PDF et impression sont une copie de lecture.
Langue de l’interface
Affichage → Langue : English, Italiano, Français, Deutsch ou Español. Les noms de dossiers du serveur (Posta in arrivo, Gesendet, Messages envoyés, Enviados, …) sont rattachés à Boîte de réception / Envoyés / … dans la langue de l’UI.
Packs pays
Paramètres → Fonctionnalités est une matrice de courrier certifié uniquement. IMAP/POP3 ordinaire, recherche, étiquettes, import mbox/.pst et fichiers de données attachés restent disponibles. Les lignes sont des fonctions certifiées ; les colonnes sont Italie, Europe, France, Allemagne, Espagne, Suisse. La case d’en-tête allume ou éteint toute la colonne.
| Pack | Ce qu’il débloque | Défaut |
|---|---|---|
| Italie | Enveloppe PEC / avis / livraison, profils PEC, aperçu FatturaPA, fascicule | Activé |
| Europe | Preuve REM eIDAS, profil Intesi | Activé |
| France / Allemagne / Espagne / Suisse | Libellés de preuve (AR24/LRE, De-Mail, Lleida, IncaMail). Ces réseaux ne sont en général pas de l’IMAP. | Désactivé |
Désactiver un pack masque menus, colonnes et profils. Les boîtes déjà configurées restent ; seule l’interface extra disparaît.
Téléchargements
Lorsqu’une GitHub Release existe : zip portable et installeur Windows (postclient-{version}.exe, autonome — pas de SDK .NET sur le PC ; chemin par défaut C:\Program Files\MaksIT\Postclient), Flatpak Linux, DMG macOS (osx-arm64 et osx-x64). Les builds macOS ne sont pas signées : au premier lancement, Ouvrir depuis le menu contextuel.
Linux (Flatpak)
flatpak install --user ./postclient-{version}.flatpak
flatpak run eu.postclient.desktop
Compilation, tests et publication : README anglais.
Licence
Apache License 2.0. Copyright 2026 Maksym Sadovnychyy (MAKS-IT).