// come risolvere
Header Date e Message-ID mancanti o errati
Ogni email dovrebbe avere un Date corretto e un Message-ID unico. Senza di essi, i filtri antispam aggiungono punti e Gmail può rifiutare l'email.
Cosa significa
Ogni email ha in cima delle righe nascoste chiamate header. Due di esse sono attese in ogni messaggio:
- Date: quando l'email è stata scritta, con il fuso orario. Esempio:
Date: Tue, 14 Oct 2025 09:30:00 +0200 - Message-ID: un identificativo unico, come un numero di serie. Esempio:
Message-ID: <7f3a91c2@mail.yourdomain.com>
I normali programmi di posta li aggiungono automaticamente. Di solito mancano o sono errati quando le email vengono inviate da uno script, un plugin del sito web, una stampante o una vecchia applicazione che costruisce l'email a mano.
Perché è importante
- SpamAssassin aggiunge punti per una data mancante (
MISSING_DATE), un Message-ID mancante (MISSING_MID), o una data molto nel passato o nel futuro (DATE_IN_PAST_...,DATE_IN_FUTURE_...). - Gmail può rifiutare le email senza un Message-ID valido, e si aspetta che i messaggi seguano lo standard del formato email (RFC 5322).
- I programmi di posta usano questi header per ordinare i messaggi e costruire le conversazioni.
Come verificare
Invia un'email dallo strumento o dallo script che ha il problema al tuo indirizzo di test nella home page (/). Nel report, la sezione SpamAssassin elenca le regole che sono scattate. Puoi anche aprire il sorgente originale dell'email in qualsiasi casella ("Mostra originale" in Gmail) e guardare le prime righe.
Come risolvere
1. Lascia che una libreria di posta costruisca l'email
La soluzione migliore è smettere di scrivere gli header a mano. Librerie come PHPMailer o Symfony Mailer (PHP), Nodemailer (Node.js) o il modulo email (Python) aggiungono entrambi gli header correttamente. In Python, per esempio:
from email.utils import formatdate, make_msgid msg["Date"] = formatdate(localtime=True) msg["Message-ID"] = make_msgid(domain="yourdomain.com")
2. Se scrivi gli header da solo
- Date deve usare il formato esatto
Day, DD Mon YYYY HH:MM:SS +ZZZZin inglese, con il vero scostamento del fuso orario. - Message-ID deve essere unico per ogni email, racchiuso tra
<e>, e contenere una@seguita dal tuo dominio o dal nome del server. Non riusare mai lo stesso ID. - Usa un solo Date e un solo Message-ID per email.
3. Sistema l'orologio
Una data sbagliata viene spesso da un server con l'orologio sballato o impostato sul fuso orario sbagliato. Su Linux, attiva la sincronizzazione dell'ora (per esempio con timedatectl set-ntp true) e controlla il fuso orario.
4. Lascia che il tuo server di posta aggiunga ciò che manca
Alcuni server possono aggiungere un Date o un Message-ID mancante ai messaggi che inviano. Postfix, per esempio, lo fa per le email inviate dal server stesso, ma non sempre per quelle provenienti da altre macchine. È una rete di sicurezza, non un sostituto della correzione dell'applicazione.
Verifica che sia risolto
Invia una nuova email dallo stesso strumento all'indirizzo della home page. La sezione SpamAssassin non deve più elencare MISSING_DATE, MISSING_MID o regole sulla data, e la data mostrata deve corrispondere all'ora reale di invio.
Verifica che sia risolto
Una modifica DNS può richiedere da pochi minuti a qualche ora. Poi invia una nuova email di test o scansiona di nuovo il tuo dominio.
Guide correlate
- Punteggio spam SpamAssassin altoSpamAssassin dà un punteggio al contenuto della tua email. Sopra 5, viene considerata spam. Scopri cosa fa salire il punteggio e come abbassarlo.
- Requisiti di Gmail e Yahoo per chi invia grandi volumiDal 2024 Gmail e Yahoo chiedono a chi invia grandi volumi di autenticare le email, offrire la disiscrizione con un clic e mantenere le segnalazioni di spam molto basse. Ecco la checklist.
- Le tue email finiscono nello spam di GmailQuando Gmail mette le tue email nello spam, la causa è quasi sempre l'autenticazione, la reputazione o il contenuto. Ecco come capire quale e risolvere.
- Errore Gmail "550 5.7.26": email non autenticataGmail ha rifiutato la tua email perché non ha potuto confermare che arriva dal tuo dominio. SPF, DKIM o DMARC manca o fallisce. Ecco come risolvere.
- Aggiungere un'intestazione List-Unsubscribe (disiscrizione con un clic)L'intestazione List-Unsubscribe permette a Gmail, Yahoo e Outlook di mostrare un pulsante Annulla iscrizione accanto al nome del mittente. Chi invia grandi volumi deve offrirla con un clic.