Il mail server completo e flessibile progettato per le PMI

Ricevo una email in cui alcuni caratteri non sono visualizzati correttamente. Come mai?

KB52037

Ultimo aggiornamento: 16 June 2017

MDaemon - Problemi con caratteri speciali

17.0.2

A tutti sarà capitato più di una volta di ricevere delle email in cui alcuni caratteri, ad esempio le lettere accentate, sono sostituite da altri caratteri o da quadratini. 

Ci sono varie spiegazioni per questo comportamento. Eccone alcune:

1. Codifiche diverse usate nelle risposte e negli inoltri di un messaggio

Per la posta elettronica non esiste una codifica universale di tutti i caratteri esistenti, o meglio, la codifica universale esisterebbe (Unicode) ma non viene adottata in quanto richiede 4 byte per rappresentare un singolo carattere. Sono nati ed usati quindi sistemi di codifica alternativa (ISO-Latin-X, UTF-8,…) per gestire i caratteri speciali (quelli che eccedono i primi 128 caratteri della tabella ASCII come le lettere accentate italiane, le umlaut tedesche i caratteri cirillici o dell'alfabeto greco, etc.). Nessuno di questi sistemi alternativi a Unicode è in grado di includere l'intero parco di caratteri esistenti.
Uno dei motivi per cui i caratteri non vengono visualizzati correttamente è proprio la disomogeneità tra il sistema di codifica usato dal mittente e quelli supportati dal destinatario. Facciamo un esempio:
Invio una email con la parola "martedì" che ha una lettera accentata, utilizzando il charset UTF-8. Se vado ad editare il testo nella email ricevuta trovo che la parola è stata codificata in questo modo:

marted=C3=AC

il destinatario risponde utilizzando il charset Windows-1252. La codifica della nostra parola può non essere alterata dal client in quanto la sequenza =C3=AC è una sequenza di caratteri dei primi 128 caratteri della tabella ASCII.
Ecco che al mittente del primo messaggio torna una email che contiene

….
charset="Windows-1252"
….
marted=C3=AC

Se il client decodifica la sequenza =C3=AC con il charset indicato, mostra

martedì

Per limitare l'impatto di questo problema occorre che tutti cerchino di utilizzare lo stesso sistema di codifica. Si può usare ad esempi UTF-8 che è molto diffuso.
In ricezione, se la visualizzazione non è corretta, si può provare a cambiare il set di caratteri utilizzati per visualizzare il messaggio (in Outlook ad esempio di deve fare doppio click sul messaggio per aprirlo in un popup e poi andare in Messaggio > Azioni > Altre azioni > Codifica).

2. Outlook Connector

Se si sta utilizzando Outlook + Outlook Connector, come client di posta, è opportuno leggere anche questo articolo.

3. Uso delle espressioni regolari nel filtro contenuti di MDaemon

Se i messaggi contengono caratteri speciali (ad esempio caratteri russi o cinesi) nell'oggetto e/o nel corpo del messaggio e gli stessi messaggi sono manipolati da regole del filtro contenuti che effettuano ricerche e sostituzioni nell'oggetto e/o nel corpo del messaggio utilizzando le espressioni regolari, i caratteri speciali saranno compromessi/alterati nella mail visualizzata dal destinatario.
Questo succede perché le espressioni regolari del filtro contenuti di MDaemon utilizzando una "vecchia" versione delle librerie del Perl che non supportano tali caratteri