22 KiB
Postclient — cliente de escritorio PEC, REM e IMAP
Idioma: English · Italiano · Français · Deutsch · Español
La interfaz de la aplicación está en inglés, italiano, francés, alemán o español. Estos documentos describen el mismo cliente de correo de escritorio de código abierto para quien envía y conserva posta elettronica certificata (PEC), correo electrónico certificado eIDAS (REM) y correo IMAP / POP3 / SMTP ordinario en Windows, Linux y macOS.
Postclient es un cliente local, no un webmail. Habla IMAP, POP3 y SMTP con cuentas que ya tienes: Gmail, Microsoft 365, PEC italiana en un gestor cualificado (Aruba, InfoCert Legalmail, Namirial, Poste Italiane, Register.it, Libero, e IMAP con dominio propio), y REM europea cuando el operador publica IMAP/SMTP. Los acuses quedan en este PC como .eml más un archivo SQLite consultable.
No es un prestador cualificado de servicios de confianza (QTSP), no es un operador PEC, no es una autoridad de sellado de tiempo y no es un buzón en la nube. Los sobres y acuses los emite el gestor / QTSP. Este programa los abre, muestra la evidencia de entrega y guarda los originales en el equipo.
| Tipo | Cliente de correo de escritorio para PEC, REM e IMAP |
| SO | Windows, Linux, macOS (Apple Silicon e Intel) |
| Stack | C#, .NET 10, Avalonia, MailKit |
| Licencia | Apache 2.0 |
| No es | Un QTSP, una nueva dirección PEC/REM, correo alojado, una app de escáner |
Cambios: CHANGELOG.md. Desarrollo: CONTRIBUTING.md y el README en inglés (compilación, pruebas, publicación).
Hecho para el correo certificado en el escritorio
El correo de escritorio y el webmail tratan de normalmente un sobre PEC o una evidencia ETSI REM como un adjunto cualquiera. Postclient está escrito alrededor de esa evidencia:
- Abrir sobres PEC / REM — leer el
postacert.emlinterior (el mensaje destinado al destinatario) en lugar del envoltorio del gestor; columna Tipo PEC, RIC, REM o SIG (firmado digitalmente). - Columna de entrega desde la evidencia del operador — accettazione, avvenuta-consegna, ETSI
SubmissionAcceptance/Delivery/Retrieval, avis LRE y AR24, Zustellung y Abholbestätigung De-Mail, acuse de recibo. Tras SMTP, Enviados se concilia con acuses de Bandeja de entrada/Ricevute por Message-Id,daticert.xmly prefijos de asunto. La PEC italiana no tiene acuse de lectura: avvenuta consegna es el depósito en el buzón certificado. - Vista previa FatturaPA — XML de factura electrónica italiana en una vista legible (analizador XML, no IA generativa).
- Fascículo de
.emloriginales — exportar los mensajes seleccionados como los archivos que un notario, una ventanilla, un banco o un juzgado pueden conservar. - De es un selector de buzón — no se escribe un remitente libre; el envío usa la identidad SMTP de la cuenta conectada.
- Etiquetas de expediente en este PC — comunidad, expediente de cliente, aviso fiscal. Las etiquetas son locales, no una base de despacho en red.
- Archivo local de toda la carpeta — Obtener mensajes guarda toda la carpeta IMAP en
mail.dbmás.emlen disco (no una ventana de los últimos N). FTS de asunto, cuerpo, texto de adjuntos PDF/XML/HTML/CSV/JSON y etiquetas. - Búsqueda por significado en el dispositivo (RAG) — EmbeddingGemma 300M opcional en Ajustes → Índices…. Los vectores quedan en
mail.db. El correo no sale de la máquina. Reconstruir o reparar índices de palabras y de significado. - Reglas entre buzones — mover, eliminar, marcar, etiquetar; la carpeta de destino puede estar en otra cuenta, incluido un almacén de carpetas. Importar JSON o un archivo
.rwzheredado; la exportación es JSON. - Almacenes de carpetas — crear, adjuntar, mover o desconectar una carpeta con
.emly su propiomail.db. Importar PST/OST… copia el correo a un almacén; el.pstno es un buzón. Ruta predeterminada:%LocalAppData%\Postclient\stores\{nombre}(portátil:{instalación}/data/stores/{nombre}). - Easy Migration — Archivo → Easy Migration → Crear bundle… pide la contraseña dos veces en la misma ventana y luego Guardar. El
.postbundlecontiene el correo, las cuentas, los secretos y la carpeta de modelo compartida. Abrir bundle… lo restaura en las carpetas de Postclient de este PC. La sincronización en segundo plano sigue apagada. - Sincronización en segundo plano — Ajustes → Sincronización en segundo plano para esta cuenta…: un servicio al arrancar (servicio de Windows, unidad systemd de sistema en Linux). Sincroniza cada buzón guardado sin que nadie haya iniciado sesión.
- Spam — Marcar como spam recuerda ese mensaje en este PC y lo enseña a cada buzón, aunque el mensaje o el buzón ya no estén. El correo parecido es solo una pista. No es spam borra ese recuerdo y devuelve el mensaje a la bandeja de entrada. Mover a No deseado no enseña el filtro.
- Paquetes por país — Ajustes → Funciones activa o desactiva Italia (PEC, FatturaPA, fascículo), Europa (REM eIDAS), Francia, Alemania, España y Suiza. El IMAP ordinario sigue disponible.
A quién va dirigido
Particulares
Cliente diario para una o varias direcciones: Gmail o Microsoft 365 junto a una PEC personal (Italia) o un buzón REM IMAP (UE). Buscar un aviso de comunidad, un expediente fiscal o un escrito de la administración años después, sin dejar los originales en un servidor de terceros.
Uso típico: correo certificado y ordinario en la misma ventana; ver si el gestor aceptó y depositó el mensaje; imprimir o guardar un PDF; exportar el .eml original si lo pide el ayuntamiento, el banco o el juzgado.
Despachos y agencias
Sirve cuando las identidades certificadas no deben mezclarse: PEC personal, PEC del despacho y correo ordinario. Un abogado, un gestor, un notario, un administrador de fincas o un despacho de la UE que presenta ante la administración puede mantener cada buzón del operador por separado (CUOTA IMAP en la barra de estado), agrupar un envío con sus acuses y exportar un fascículo sin cargar el expediente en un archivo de terceros.
El programa no sustituye al gestor, no emite un acuse cualificado y no comparte las etiquetas entre los PCs del despacho.
Cuentas y protocolos
Entrada: IMAP (árbol de carpetas), POP3 (solo bandeja de entrada) o un almacén de carpetas local. Un .pst Unicode todavía se puede importar a un almacén. Salida: SMTP. Cifrado: automático, SSL/TLS, STARTTLS, STARTTLS si está disponible, o ninguno. MailKit usa los métodos SASL que anuncia el servidor.
Se pueden guardar varios buzones. Los perfiles rellenan hosts y puertos:
| Perfil | Función |
|---|---|
| Gmail | IMAP/SMTP; acceso con Google (OAuth2 / XOAUTH2) o contraseña de aplicación de Gmail |
| Microsoft 365 | IMAP/SMTP; acceso con Microsoft. La mayoría de estas cuentas rechazan la contraseña del buzón |
| IT PEC — Aruba, Legalmail, Namirial, Poste Italiane, Register.it, Libero | Hosts IMAP/SMTP del gestor italiano (nombres de host en el README en inglés) |
| EU — Intesi Group | imap.ig-trustmail.com / smtp.ig-trustmail.com |
| IMAP / POP3 | Cualquier host que indique el operador. Ponga el tipo de buzón en PEC italiana o REM UE si esa cuenta es certificada (también con dominio propio) |
| Archivo local | Carpeta en disco (postclient.store.json + mail.db + .eml). Sin contraseña ni SMTP. Crear, adjuntar, mover o desconectar desde el menú Archivo. |
Los buzones IMAP certificados usan la contraseña del gestor, o una contraseña de aplicación si hay 2FA. Lleida.net y otras notificaciones certificadas españolas no suelen ser IMAP. Tampoco AR24 (Francia), De-Mail (Alemania) ni IncaMail (Suiza). Si el operador dio hosts IMAP/POP3, elija IMAP / POP3. Si no, este cliente no abre ese buzón; sí puede mostrar evidencia ETSI REM en mensajes importados como .eml.
Gmail y Microsoft 365 pasan por Identity Hub (https://identity.maks-it.com). Ajustes de cuenta abre /desktop-login?provider=Google o Microsoft. El JWT y el token de actualización del Hub quedan en secrets.bin; IMAP usa un token de buzón de corta vida (XOAUTH2). Al conectar, el cliente renueva la sesión Hub con ese token de actualización para que Gmail y Outlook sigan conectados tras cerrar la app. Si una versión anterior guardó solo el JWT, inicie sesión otra vez en Ajustes de cuenta. Override: POSTCLIENT_IDENTITY_HUB. La contraseña sigue valiendo para PEC e IMAP genérico.
Las contraseñas y los tokens OAuth quedan junto a la configuración (DPAPI en Windows, modo 600 en Linux/macOS), nunca en settings.json.
PEC italiana (posta elettronica certificata)
La PEC es un sobre del gestor:
- mensaje de transporte con
X-Trasporto: posta-certificata,daticert.xmly el original enpostacert.eml; - acuses (
X-Ricevuta) en Bandeja de entrada y Ricevute: accettazione, presa-in-carico, avvenuta-consegna, non-accettazione, mancata-consegna, virus, preaviso de error.
Ver → Unwrap PEC/REM envelope muestra el postacert.eml interior. La columna Tipo marca PEC (transporte) o RIC (acuse).
La PEC italiana no tiene acuse de lectura. Avvenuta consegna significa depósito en el buzón certificado del destinatario, no que una persona haya abierto el mensaje.
REM europea (correo electrónico certificado eIDAS)
Si el mensaje lleva evidencia ETSI REM (REMEvidence / urn:etsi:rem, o un nombre de parte remevidence / rem-md), el cliente lo trata como REM. Los eventos alimentan la misma columna de entrega que la PEC:
SubmissionAcceptance→ el QTSP ha aceptado;Delivery/ avis de réception LRE o AR24 / Zustellung De-Mail / acuse de recibo → depositado;ContentConsignment/Retrieval/AbholbestätigungDe-Mail → el destinatario retiró el contenido (equivalente europeo más cercano a «leído»);- rechazo, virus, no entrega,
DeliveryExpiration→ fallido.
S/MIME (smime.p7s / smime.p7m) se muestra como firmado digitalmente; no es PEC ni REM.
Columna de entrega tras el envío
Tras el SMTP, Postclient guarda el Message-Id de salida y, al abrir Enviados, concilia los acuses desde Bandeja de entrada y Ricevute. La espera solo aplica a cuentas PEC o REM (perfil, o IMAP/POP3 con ese tipo de buzón). Gmail, Microsoft 365 e IMAP ordinario se marcan solo como enviados. Empareja, en este orden: <msgid> de daticert.xml, X-Riferimento-Message-ID, In-Reply-To, identificativo PEC, luego prefijos de asunto (ACCETTAZIONE:, CONSEGNA:, AVIS DE RECEPTION:, ACUSE DE RECIBO:, ZUSTELLBESTAETIGUNG:, ABHOLBESTAETIGUNG:, …).
| Evidencia | Estado | Significado |
|---|---|---|
PEC accettazione / presa-in-carico, ETSI SubmissionAcceptance |
Aceptado | El gestor tomó el mensaje |
PEC avvenuta-consegna, ETSI Delivery, avis LRE/AR24, Zustellung |
Entregado | Depositado en el buzón certificado — la PEC no certifica la lectura |
ETSI ContentConsignment / Retrieval, Abholbestätigung |
Retirado | El destinatario retiró el contenido |
non-accettazione, mancata-consegna, virus, rechazo ETSI |
Fallido | El gestor informó de no aceptación o no entrega |
El cliente muestra la evidencia del operador. No emite acuse cualificado, sobre PEC ni sello de tiempo.
Las notificaciones del sistema avisan de PEC, acuses y REM nuevos (toast de Windows, notificación de macOS, notify-send en Linux).
Lectura, carpetas, redacción
- El árbol sigue al servidor (Bandeja de entrada, Ricevute, Borradores, Enviados, Archivo, No deseado, Papelera, más carpetas propias). Las rutas IMAP anidadas se muestran como carpetas anidadas, incluidas las etiquetas de Gmail
[Gmail]/…bajo[Gmail]. Borradores, Enviados y Papelera que el servidor guarda comoINBOX.Drafts/INBOX.Sent/INBOX.Trashquedan junto a la bandeja, no debajo. Gmail usa/como separador, así que una etiqueta comoP.IVAsigue siendo una sola carpeta. Las de sistema no se pueden borrar. Se puede crear una carpeta, vaciarla (a Papelera, o de forma definitiva en Papelera), marcar todo leído/no leído, eliminar una carpeta propia y arrastrar mensajes a una carpeta. Qué cuentas y carpetas anidadas están abiertas o cerradas se guarda ensettings.json. - Columnas: no leído, marca, adjuntos, entrega, tipo (PEC / RIC / REM / SIG), de, asunto, fecha (local
yyyy-MM-dd HH:mm), tamaño, etiqueta de expediente. - Vista: HTML (motor web del sistema), texto, fuente o FatturaPA. Disposición: lista encima de la lectura, o tres columnas (carpetas, lista, lectura).
- Agrupar conversaciones sangra las respuestas en la lista (Message-ID / In-Reply-To / References, profundidad máxima 8). Los acuses PEC del mismo original quedan juntos. No hay un panel de conversación aparte.
- Acciones: responder, responder a todos, reenviar, abrir en ventana nueva, leído/no leído, marca, prioridad, marcar como spam, no es spam, eliminar. Mayús+clic y Ctrl+clic seleccionan varios mensajes o carpetas. Eliminar (barra, Supr, vaciar carpeta) mueve la selección a Papelera. Desde Papelera, eliminar es definitivo.
- La redacción es texto sin formato. Para, Cc, Cco son chips de dirección. Enviar adjuntos como ZIP empaqueta los archivos soltados (contraseña opcional). El envío usa solo la identidad SMTP del buzón elegido.
HTML: WebView2 en Windows, WebKitGTK en Linux, WKWebView en macOS. Si falta el motor, se muestra el cuerpo de texto.
Paquetes Linux para la vista HTML:
sudo apt install libgtk-3-0 libwebkit2gtk-4.1-0 libsoup-3.0-0
Fedora: gtk3 webkit2gtk4.1 libsoup3.
Archivo local, búsqueda por palabras e índice de significado
«Obtener mensajes» indexa toda la carpeta IMAP en SQLite (mail.db) más los .eml en disco. POP3 solo llena la bandeja de entrada. La indexación corre en segundo plano; la barra de estado muestra el avance.
- Ajustes → Índices…: índice de palabras (FTS) y, si se desea, EmbeddingGemma 300M (~300 MB) para el significado. El paquete ONNX se descarga una vez en la carpeta de la máquina (
ProgramData\MaksIT\Postclient\models, o/var/lib/maksit/postclient/modelsen Linux) y lo comparten cada cuenta y el servicio de sincronización. Los vectores quedan enmail.dben este PC. Dispositivo: Auto / CPU / GPU (DirectML en Windows). Reconstruir o reparar si la búsqueda falla. Los pesos siguen los términos Google Gemma. Marcas de spam… lista lo que el filtro ha aprendido.
La búsqueda (carpeta actual) cubre asunto, cuerpo, texto de adjuntos (PDF y text/XML/HTML/CSV/JSON), etiquetas de expediente y el significado cuando el modelo está listo. El cuadro de búsqueda tiene una × que borra el texto. Las etiquetas existen solo en este PC.
El archivo está solo en este PC. Archivo → Abrir carpeta de archivo / Exportar archivo copia mail.db y los .eml. Rutas:
| SO | Configuración | Datos |
|---|---|---|
| Windows | %AppData%\Postclient\ |
%LocalAppData%\Postclient\ |
| Linux | ~/.config/postclient/ |
~/.local/share/postclient/ |
| macOS | ~/Library/Application Support/Postclient/ |
la misma |
Sustitución: POSTCLIENT_CONFIG / POSTCLIENT_DATA_DIR. El zip portátil de Windows con installType: portable en settings.json deja la configuración junto al ejecutable.
La CUOTA IMAP del gestor (si el servidor la publica) aparece en la barra de estado. Es el espacio en el operador, no un almacenamiento en la nube de esta aplicación.
Importar, exportar, imprimir
| Acción | Resultado |
|---|---|
| Importar EML | Originales en la carpeta actual |
| Importar mbox | Almacenes mbox locales de un perfil de correo de escritorio |
Importar .pst / .ost |
Copia el correo de Outlook a un almacén de carpetas (ruta propuesta bajo stores/ en los datos de la app). Un segundo importado al mismo almacén omite duplicados por Message-ID. Cierre cualquier programa que tenga el archivo abierto. |
| Almacén nuevo | Menú Archivo: carpeta vacía (Bandeja de entrada, Borradores, Enviados, Eliminados) con postclient.store.json y mail.db. |
| Adjuntar almacén | Menú Archivo: elegir una carpeta que ya tenga postclient.store.json. |
| Mover / desconectar | Copia todo el directorio, o lo quita de la lista. La carpeta sigue en disco al desconectar. |
| Retención | Ajustes → Retención…: días por carpeta (0 = para siempre). Al vencer, el correo de la carpeta va a Papelera después de obtener mensajes. En Papelera, 0 la conserva para siempre y un número de días borra de forma permanente la Papelera antigua. |
| Sincronización en segundo plano | Ajustes → Sincronización en segundo plano para esta cuenta…: servicio al arrancar (servicio de Windows, unidad systemd de sistema en Linux). Sincroniza cada buzón guardado sin sesión. Compartir esta cuenta solo deja que otras personas de este PC abran ese buzón. |
| Cuenta compartida | Ajustes de la cuenta → Compartir esta cuenta con los demás usuarios de este PC: ese buzón pasa a la carpeta de la máquina (ProgramData\MaksIT\Postclient, o Public si ProgramData no se puede escribir; /var/lib/maksit/postclient en Linux; /Users/Shared/MaksIT/Postclient en macOS). Los demás usuarios lo ven al abrir Postclient. Las contraseñas no se copian. |
| Easy Migration | Archivo → Easy Migration → Crear bundle… pide la contraseña dos veces en la misma ventana y luego Guardar. El .postbundle contiene el correo, las cuentas, los secretos y la carpeta de modelo compartida. Abrir bundle… lo restaura en este PC y reescribe las rutas de los almacenes. La sincronización en segundo plano sigue apagada. |
| Marcas de spam | Marcar como spam recuerda ese mensaje en este PC y lo enseña a cada buzón, aunque el mensaje o el buzón ya no estén. El correo parecido es solo una pista. No es spam borra ese recuerdo y devuelve el mensaje a la bandeja de entrada. Mover a No deseado no enseña el filtro. Ajustes → Índices… → Marcas de spam… lista lo aprendido. |
| Actualizaciones y registro | Ayuda → Buscar actualizaciones… pregunta a GitHub la última versión y puede descargar el paquete de este sistema. Ayuda → Registro abre una ventana copiable sobre la carpeta de registros. Ayuda → Acerca de Postclient lista Info, Privacy, Security y Support en maks-it.com. |
| Reglas | Ajustes → Reglas: Importar reglas… lee la exportación JSON de esta app o un archivo .rwz heredado. Exportar reglas… escribe JSON. Cada regla está ligada a una cuenta; la carpeta de destino puede estar en otro buzón (incluido un almacén). Se ejecutan al obtener mensajes, al importar y desde Ejecutar todas las reglas. |
| Imprimir | HTML legible del mensaje (opcionalmente desempaquetado) |
| Guardar PDF | El mismo contenido en PDF |
| ZIP de adjuntos | Todos los adjuntos del mensaje abierto |
| Exportar EML seleccionados (fascículo) | Los .eml originales — lo que un notario o la administración pueden conservar como mensaje |
Los mensajes abiertos también se copian como .eml en la carpeta de datos. Los .eml son los originales; PDF e impresión son una copia de lectura.
Idioma de la interfaz
Ver → Idioma: English, Italiano, Français, Deutsch o Español. Los nombres de carpeta del servidor (Posta in arrivo, Gesendet, Messages envoyés, Enviados, …) se asignan a Bandeja de entrada / Enviados / … en el idioma de la UI.
Paquetes por país
Ajustes → Funciones es una matriz de solo correo certificado. IMAP/POP3 ordinario, búsqueda, etiquetas de expediente, importación mbox/.pst y archivos de datos adjuntos siguen disponibles. Las filas son funciones certificadas; las columnas son Italia, Europa, Francia, Alemania, España, Suiza. La casilla de cabecera enciende o apaga toda la columna.
| Paquete | Qué desbloquea | Predeterminado |
|---|---|---|
| Italia | Sobre PEC / acuses / entrega, perfiles PEC, vista previa FatturaPA, fascículo | Activado |
| Europa | Evidencia REM eIDAS, perfil Intesi | Activado |
| Francia / Alemania / España / Suiza | Etiquetas de evidencia (AR24/LRE, De-Mail, Lleida, IncaMail). Esas redes no suelen ser IMAP. | Desactivado |
Apagar un paquete oculta menús, columnas y perfiles. Los buzones ya configurados se quedan; solo desaparece la interfaz extra.
Descargas
Cuando existe una GitHub Release: zip portátil e instalador Windows (postclient-{version}.exe, autónomo — sin SDK .NET en el PC; ruta predeterminada C:\Program Files\MaksIT\Postclient), Flatpak Linux, DMG macOS (osx-arm64 y osx-x64). Las compilaciones macOS no están firmadas: en el primer arranque, Abrir desde el menú contextual.
Linux (Flatpak)
flatpak install --user ./postclient-{version}.flatpak
flatpak run eu.postclient.desktop
Compilación, pruebas y publicación: README en inglés.
Licencia
Apache License 2.0. Copyright 2026 Maksym Sadovnychyy (MAKS-IT).