tutte le guide

// come risolvere

Il record MX punta a un CNAME o a un indirizzo IP: perché non è valido

Un MX deve puntare a un nome host con record A o AAAA, non a un IP o a un alias CNAME. Perché blocca la posta in arrivo e come correggerlo.

Cosa significa

Il record MX indica agli altri server di posta dove consegnare le email per il tuo dominio. Il suo valore è una priorità e un nome host, per esempio 10 mail.yourdomain.com. Quel nome host deve avere un proprio record A (IPv4) o AAAA (IPv6).

Due errori sono frequenti:

  • MX che punta a un indirizzo IP: yourdomain.com MX 10 203.0.113.25. Non è consentito: la RFC 5321 stabilisce che il valore dell'MX è un nome di dominio, e un indirizzo lì non è valido.
  • MX che punta a un CNAME: la destinazione dell'MX mail.yourdomain.com è a sua volta un CNAME verso un altro nome. La RFC 2181 (sezione 10.3) stabilisce che la destinazione dell'MX non deve essere un alias.

Perché succede

  • Un pannello DNS permette di scrivere un IP nel campo MX, oppure qualcuno ha pensato che fosse più semplice.
  • Alcuni pannelli trattano l'IP come un nome relativo e pubblicano 203.0.113.25.yourdomain.com, che non esiste.
  • L'host di posta è stato impostato come CNAME verso il nome del server dell'hosting (per esempio mail CNAME server12.host.example) per non dover aggiornare gli IP.
  • La documentazione di un provider è stata copiata nel tipo di record sbagliato.

Cosa succede in pratica

  • IP nell'MX: molti server di invio non trovano un nome host e falliscono. Alcuni ripiegano sul record A del dominio (il server del sito), che di solito non accetta posta. I risultati sono imprevedibili: alcuni mittenti consegnano, altri ricevono un rimbalzo, spesso con messaggi come "Domain not found", "No MX for domain" o "Host or domain name not found".
  • CNAME come destinazione dell'MX: molti server seguono l'alias e consegnano comunque, ed è per questo che l'errore passa inosservato. Ma non è standard, alcuni server e strumenti di validazione severi lo rifiutano, e aggiunge un lookup in più che può fallire.

Un dominio senza alcun MX è un problema diverso, trattato in nessun record MX sul tuo dominio.

Come verificare

  1. Apri lo scanner di domini e inserisci il tuo dominio. Elenca i tuoi record MX e le loro destinazioni.
  2. Con dig:
    dig MX yourdomain.com +short
    10 mail.yourdomain.com.
    
    dig CNAME mail.yourdomain.com +short
    (must be empty)
    
    dig A mail.yourdomain.com +short
    203.0.113.25
    Se la risposta MX è un numero come 203.0.113.25., o se dig CNAME sulla destinazione restituisce un nome, hai uno dei problemi descritti sopra.
  3. Su Windows: nslookup -type=MX yourdomain.com.
  4. Testa il server stesso: nc -v mail.yourdomain.com 25 deve mostrare un saluto 220.

Come risolvere

MX che punta a un IP

  1. Crea un record A (e AAAA se usi IPv6) per un nome host di posta:
    Host: mail      Type: A      Value: 203.0.113.25
  2. Modifica l'MX perché usi quel nome:
    Host: @         Type: MX     Priority: 10     Value: mail.yourdomain.com
    Alcuni pannelli richiedono un punto finale (mail.yourdomain.com.), altri aggiungono il dominio da soli; controlla cosa mostra il tuo pannello dopo il salvataggio.

La destinazione dell'MX è un CNAME

Sostituisci il CNAME dell'host di posta con record A/AAAA che contengono l'IP del server, oppure fai puntare l'MX direttamente al vero nome host indicato dal tuo provider (quello che ha il record A):

Before:
yourdomain.com.        MX 10  mail.yourdomain.com.
mail.yourdomain.com.   CNAME  server12.host.example.

After (option 1):
mail.yourdomain.com.   A      203.0.113.25

After (option 2):
yourdomain.com.        MX 10  server12.host.example.

Se usi Google Workspace, Microsoft 365 o un altro provider, usa esattamente i valori MX della loro pagina di configurazione. Assicurati anche che l'host di posta non sia in proxy dietro una CDN (vedi i record Cloudflare in proxy bloccano le email) e che il suo nome non abbia un altro CNAME in conflitto (vedi CNAME in conflitto con i record MX e TXT).

Il tuo server

Idealmente il nome host dell'MX corrisponde al DNS inverso (PTR) del server e al nome del certificato TLS, per esempio mail.yourdomain.com ovunque.

Verifica che sia risolto

Attendi la scadenza del TTL del vecchio MX, poi esegui di nuovo dig MX e controlla il risultato nello scanner di domini. Invia un'email da una casella esterna (Gmail, Outlook) a un indirizzo del tuo dominio e verifica che arrivi. Se il tuo server invia anche posta, esegui da lì un test Delivmail per controllare SPF, DKIM e DNS inverso.

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