# MX record

Un Mail eXchanger record (MX record) è un tipo di risorsa nel Domain Name System che specifica un mail server autorizzato ad accettare messaggi mail per conto del dominio di destinazione, e contenente un valore indicante la priorità se sono disponibili più server email. Il set di MX records di un nome di dominio specifica come possano essere instradate le richieste di invio di posta mediante il Simple Mail Transfer Protocol (SMTP).

## Generale

I record di risorse sono gli elementi informativi di base del Domain Name System (DNS). Essi si distinguono con la classificazione per tipo (A, MX, NS, ecc) e per classe DNS (Internet, CHAOS, ecc.) I record hanno un periodo di validità (time-to-live) assegnato, che indica quando l'informazione in loro possesso deve essere aggiornato da un name server autorevole. I record di risorse sono organizzate all'interno del DNS basato sul loro campo nome, che è un nome di dominio completo (FQDN) di un nodo nell'albero DNS. Nel caso di un record MX, questo specifica il nome di dominio di un destinatario di posta elettronica indirizzo email, vale a dire la parte dopo il @ simbolo che delimita nome account del destinatario.
Le informazioni riportate da un record MX sono: il nome di dominio completo di un host di posta elettronica ed un valore di preferenza. Il campo MX non deve essere un record CNAME, ma un nome che venga risolto direttamente con uno o più record A. (A o AAAA) nel DNS, e non deve puntare ad un altro record CNAME.
Quando un messaggio di posta elettronica viene inviato attraverso Internet, il server di invio: mail transfer agent (MTA) interroga il Domain Name System autoritativo per quel dominio per i record MX di ciascun destinatario. Questa query restituisce un elenco di nomi hosts dei server Exchange mail che accettano la posta in arrivo per il dominio e le loro preferenze. L'agente di invio poi tenta di stabilire una connessione SMTP col server specificato nel record MX.
Il meccanismo MX offre la possibilità di eseguire più server di posta per un singolo dominio, e consente agli amministratori di specificare l'ordine in cui dovrebbero essere processati. Questa capacità di eseguire più server di posta si rivela molto utile per l'alta disponibilità in cluster di gateway di posta economici, che possono poi elaborare centinaia di messaggi al secondo, per mettere in quarantena o rimuovere e-mail di spam e/o virus.
Il meccanismo MX non concede la capacità di fornire un servizio di posta su numeri di porta alternativi, né fornisce la possibilità di distribuire la consegna della posta attraverso un insieme di server di posta con disuguali priorità assegnando un valore di ponderazione a ciascuno. Il record MX può essere però utilizzato per distribuire la consegna verso tutti i server di posta uguale con priorità.

## MX: la preferenza, la distanza, e la priorità

Secondo la RFC 5321, i record con i numeri più bassi sono i preferenziali. Questo termine può essere fonte di confusione, e quindi il numero di preferenza è a volte indicato come la distanza: distanze più piccoli sono preferibili. Un RFC vecchio, RFC 974, indica che quando i numeri di preferenza sono gli stessi per due server, questi hanno la stessa priorità, quindi questi due termini, priorità e preferenza sono usati in modo intercambiabile.

### Funzionamento di base

Nel caso più semplice, un dominio può avere un solo server di posta. Ad esempio, se un MTA cerca i record MX per example.com , e il server DNS risponde con un solo mail.example.com con un numero di preferenze pari a 50, il server di invio tenterà la consegna della posta al server indicato. In questo caso, il numero 50 avrebbe potuto essere qualsiasi numero intero consentito dalla specifica SMTP.
Ma quando più di un server viene restituito per una query MX, il numero di preferenza per ogni record determina la priorità relativa del server elencato. Quando un client remoto (Tipicamente un altro server di posta) fa una ricerca MX per il nome di dominio, si ottiene un elenco di server e dei relativi numeri di preferenza. Il numero di preferenza più piccolo ha la massima priorità e qualsiasi server con il numero di preferenza più piccola deve essere provato prima. Per fornire la trasmissione di posta affidabile, il client SMTP deve essere in grado di provare (e riprovare) ciascuno dei relativi indirizzi in questo elenco in ordine, fino a quando un tentativo di recapito ha esito positivo. Se c'è più di un record MX con lo stesso numero di preferenze, tutti questi devono essere processati prima di passare alle voci di bassa priorità.