PEC - Invio e Ricezione
Italian Certified Email (PEC) for Odoo 18
La PEC ha valore legale: una ricevuta è un documento, e deve atterrare intatta prima che qualcuno provi a interpretarla. Questo modulo fa spedire Odoo da una casella PEC senza che il gestore rifiuti il messaggio, e trasforma la valanga di buste automatiche in un elenco su cui una persona può davvero lavorare.
In English
PEC exists only in Italy, so the rest of this page is written in Italian
What PEC is
Posta Elettronica Certificata is the Italian legally binding email system. Providers wrap every message in a signed envelope and issue certified receipts admissible as proof of delivery.
Sending
Forces the envelope sender to the authenticated PEC address, otherwise the provider rejects the message and Odoo records no error. Keeps PEC servers out of automatic selection, so ordinary mail never goes out through the certified channel.
Receiving
Certified messages land intact on a dedicated model, are classified from the mandated PEC
headers, parsed from daticert.xml and correlated back to the message you sent.
Real sender, subject and body are surfaced from the enclosed original, so the list shows
people instead of 200 identical provider envelopes.
Requirements
Odoo 18, depends on mail only, LGPL-3, Community or Enterprise.
Not tied to l10n_it_edi. 45 automated tests on real samples from 5 providers.
I due problemi che risolve
The two problems it solves
In invio: il gestore rifiuta, e non te ne accorgi
Un gestore PEC accetta solo messaggi il cui envelope sender è l'indirizzo PEC autenticato. Odoo lo ricava dall'indirizzo di bounce dell'azienda, quindi il gestore scarta il messaggio e Odoo non registra alcun errore.
In ricezione: i messaggi sembrano tutti uguali
Il gestore rispedisce ogni cosa dallo stesso indirizzo
posta-certificata@<dominio>, con un oggetto suo. In una casella normale
200 messaggi mostrano lo stesso mittente e lo stesso prefisso: nessuno capisce chi ha
scritto, né di cosa.
Invio da una casella PEC
Sending: one checkbox on the outgoing mail server
Envelope sender forzato
Il Return-Path viene impostato sull'indirizzo PEC autenticato prima che il
messaggio lasci Odoo, nel punto in cui il core ricava anche l'indirizzo di bounce. Impostare
l'header più a valle non basta: il contesto ha la precedenza sull'header.
La posta ordinaria resta fuori dal canale PEC
I server PEC sono esclusi dalla selezione automatica. Senza questo, una casella PEC con
from_filter vuoto e sequenza bassa intercetterebbe in silenzio tutta la posta
aziendale, bruciando invii certificati sulle newsletter.
Ricezione: tre criteri di instradamento
Receiving: three OR-ed criteria, grounded in the Italian technical rules
Un messaggio in ingresso finisce sull'elenco PEC se soddisfa almeno uno di tre criteri, valutati in OR. Nessuno basta da solo, ed è esattamente il motivo per cui convivono tutti e tre.
1. Header PEC
X-Ricevuta oppure X-Trasporto. L'Allegato tecnico al DM 2 novembre
2005 li prescrive ciascuno per la propria categoria, quindi il criterio vale
per costruzione con qualunque gestore, anche mai incontrato, e su
qualunque canale di ingresso.
2. Casella dichiarata PEC
Una spunta sul server di posta in ingresso instrada tutto ciò che vi arriva, comprese le comunicazioni di servizio del gestore (avvisi di quota, rinnovi) che header PEC non ne hanno e altrimenti sfuggirebbero verso il gateway ordinario.
3. Mittente
Un unico parametro di sistema, posta-certificata@, confrontato per sottostringa:
cattura ogni gestore senza elencarne nessuno. Resta come ripiego, non più da solo. La norma
prescrive quel mittente per la sola busta di trasporto; per le ricevute nessuna
prescrizione equivalente esiste, ed è la ragione per cui sono stati aggiunti i criteri 1 e 2.
Un elenco su cui si lavora davvero
A list an operator can actually triage
La controparte vera, non il gestore
Sui messaggi è il mittente reale, estratto dall'originale imbustato. Sulle ricevute è il destinatario del tuo invio: una ricevuta non ha un mittente umano, certifica una spedizione tua. Memorizzata, così la colonna resta ordinabile, cercabile e raggruppabile.
Oggetto senza il prefisso del gestore
L'oggetto vero del messaggio imbustato sostituisce
POSTA CERTIFICATA: ... e ANOMALIA MESSAGGIO: ....
Non lette in grassetto, marcate all'apertura
Un messaggio risulta letto quando se ne apre la scheda, non quando scorre in un elenco. La distinzione è strutturale, quindi non si rompe al primo ritocco della vista.
Errori certificati in rosso
I mancati recapiti dichiarati dal gestore sono evidenziati, con il testo esteso dell'errore in un riquadro sulla scheda.
Tre specie di messaggio, distinte
Three kinds of message, told apart
| Specie | X-Ricevuta | X-Trasporto | Che cos'è |
|---|---|---|---|
| Ricevuta | valorizzato | assente | Certifica una tua spedizione. Ã essa stessa il documento legale. |
| Messaggio PEC | assente | posta-certificata |
Un messaggio certificato autentico, spedito da terzi. |
| Non certificata | assente | errore |
Posta ordinaria recapitata alla casella PEC. In pratica: spam e phishing. |
Ai messaggi non riconosciuti non viene assegnata una quarta specie «sconosciuto»: dichiarerebbe una classificazione mai avvenuta. Atterrano con il campo vuoto e si trovano con il filtro dedicato. Nulla viene archiviato, scartato o dedotto per congettura.
Il messaggio umano, non la busta del gestore
The human message, not the provider's wrapper
Corpo letto da postacert.eml
Il testo che una persona ha davvero scritto viene estratto dall'originale imbustato e mostrato in una pagina dedicata, sanificato. Calcolato alla lettura, quindi funziona anche sui record atterrati prima che la funzione esistesse, senza alcun riempimento retroattivo.
Correlato al messaggio inviato
La ricevuta risale al messaggio che hai spedito, tramite il Message-ID di riferimento, e da lì al record di business su cui era stato registrato â senza che questo modulo conosca i tuoi modelli.
Generico per scelta
Generic by design: build your vertical on top of it
Nessuna conoscenza del tuo business: niente pratiche, tutele, pagamenti o logiche legate a un
cliente. Il collegamento ai tuoi record avviene tramite origin_model e
origin_res_id, risolti dal messaggio correlato. Ci costruisci sopra il tuo
verticale senza dover forkare il modulo.
Configurazione
Configuration
In uscita â Impostazioni > Tecnico > Server di posta in uscita
- Spunta Casella PEC e indica l'indirizzo PEC autenticato
- Lascia
from_filtervuoto - Imposta il
Fromdei mail template sullo stesso indirizzo PEC
In ingresso â Impostazioni > Tecnico > Server di posta in ingresso
- Mantieni allegati attivo, o la certificazione viene scartata in silenzio
- Conserva originale attivo, necessario al valore legale
- Spunta Casella PEC su una casella dedicata
- Lascia vuoto Crea un nuovo record
Per ricevere non serve alcun server in uscita. Se vuoi solo tenere sotto controllo una casella PEC in ingresso, configura il solo server di ricezione.
Chi vede l'applicazione
Visibility is governed by a dedicated group
Il menu PEC è riservato al gruppo Utente PEC, assegnabile da Impostazioni > Utenti. à una restrizione di sola presentazione: i diritti di accesso al modello restano invariati, quindi i record restano raggiungibili per altra via. Se ti serve riservatezza sui contenuti, occorre intervenire anche sulle regole di accesso.
Che cosa NON fa
Stated up front, so nothing surprises you in production
- Nessuna verifica della firma S/MIME. La busta firmata viene conservata, non validata crittograficamente.
- Le ricevute tornano alla casella che ha spedito. Se invii da un indirizzo e ne monitori un altro, non vedrai mai le conferme dei tuoi invii.
- La correlazione richiede che l'invio parta da Odoo. Le PEC spedite dalla webmail del gestore atterrano correttamente ma restano senza origine.
- La posta di servizio del gestore viene catturata solo se la casella è dichiarata PEC.
Dettagli tecnici
Technical details
Funzionalità / Features
- Return-Path forzato sull'indirizzo PEC autenticato
- Server PEC esclusi dalla selezione automatica
- Tre criteri di instradamento in OR, fondati sulla norma
- Interpretazione strutturata di
daticert.xml - Mittente, oggetto e corpo veri da
postacert.eml - Correlazione all'invio e al record di business
- Elenco di triage, filtri, raggruppamenti, tracciamento letture
- Record in sola lettura: nulla si crea o modifica a mano
- Gruppo dedicato per la visibilità dell'app
Requisiti / Requirements
- Odoo 18.0
- Dipendenze: solo
mail - Edizione: Community / Enterprise
- Licenza: LGPL-3
- Ambito: Italia (la PEC è un sistema italiano)
- Non dipende da
l10n_it_edi - 45 test automatici su campioni reali di 5 gestori
Installazione
Installation
- Copia il modulo nella cartella degli addons
- App > Aggiorna elenco applicazioni
- Cerca «PEC - Invio e Ricezione» e installa
- Configura il server di posta in ingresso, e quello in uscita se spedisci anche
- Assegna il gruppo Utente PEC a chi deve vedere l'app
Attenzione: vengono scaricati solo i messaggi non letti, e quelli scaricati vengono marcati come letti sul server. Attivare la casella su una coda arretrata numerosa la marca tutta come letta in un colpo solo. Valuta lo stato della casella prima, soprattutto se usi «non letto» come coda di lavoro esterna.
Changelog
Versione 18.0.1.11.0
- Un solo campo da configurare: l'indirizzo PEC si legge da
from_filter, con vincolo di validita' - Server, Reply-To e Return-Path scritti sul record alla creazione: un ritentativo non ricalcola nulla
- Il server PEC viene individuato dal mittente:
mail_server_idsul template non e' piu' necessario - Instradamento in ricezione su tre criteri in OR: header PEC, casella dichiarata, mittente
- Spunta Casella PEC sul server di posta in ingresso
- Gruppo di visibilità Utente PEC sul menu dell'app
- Corpo del messaggio originale estratto da
postacert.eml - Viste in sola lettura e tracciamento della lettura per utente
- Controparte reale e oggetto pulito nell'elenco di triage
- Interpretazione di
daticert.xmle correlazione al messaggio inviato - Envelope sender corretto in invio
Assistenza
Per assistenza tecnica, segnalazioni o richieste di funzionalità :
Sito: https://singleflo.com
Sviluppato da Persevida S.L. â soluzioni Odoo per il mercato italiano.
Developed by Persevida S.L. â Odoo solutions for the Italian market.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 791 |
| Technical Name |
mailpec_base |
| License | LGPL-3 |
| Website | https://singleflo.com |
Please log in to comment on this module