Il record MX, o record di scambio di posta, è un tipo di record di risorse nel Domain Name System che specifica il server di posta responsabile dell'accettazione dei messaggi di posta elettronica per conto del dominio del destinatario e un valore di preferenza utilizzato per dare priorità alla consegna della posta. Un insieme di record di scambio di posta per conto di un dominio specifica come instradare la posta elettronica utilizzando il protocollo SMTP (Simple Mail Transfer Protocol).
MX Records: panoramica della tecnologia
I record di risorse sono l'elemento informativo principale del Domain Name System (DNS). Si differenziano per l'identificazione del tipo (A, MX, NS) e per la classe DNS (Internet, CHAOS). Ai record è assegnata una data di scadenza (time to live), che indica quando le informazioni che memorizzano devono essere aggiornate da un server dei nomi autorevole. I record delle risorse sono organizzati in DNS in base all'FQDN e-mail del destinatario (la parte del nome dopo il simbolo@).
Le informazioni sul payload del record MX specifico sono il nome di dominio completo dell'host di posta e un valore di preferenza che dovrebbe apparire direttamente in uno o più record di indirizzi. Quando un messaggio di posta elettronica viene inviato Internet, l'agente di invio Mail Transfer Service (MTA) interroga il Domain Name System per i record MX per ogni dominio destinatario. Questa query restituisce un elenco di host del server di scambio di posta che accettano la posta in arrivo per questo dominio. L'agente di invio tenta quindi di stabilire una connessione SMTP.
Nozioni di base sulle priorità
Nel caso più semplice, un dominio può avere un solo server di posta. Ad esempio, se l'MTA sta cercando record MX per esempio.com e il server DNS risponde solo con mail.esempio.com con un conteggio delle preferenze di 50, l'MTA tenterà di inviare la posta al server specificato. In questo caso, il numero 50 può essere qualsiasi numero intero consentito dalla specifica SMTP. Ma quando viene restituito più di un server per una richiesta MX, il numero di preferenza per ciascuna voce determina la priorità relativa del server specificato. Quando un client remoto (di solito un altro server di posta) esegue una ricerca MX per un nome di dominio, ottiene un elenco di server e i relativi numeri di preferenza. Qualsiasi server con il numero di preferenza più basso dovrebbe essere controllato inizialmente. Per garantire una trasmissione affidabile della posta, il client SMTP deve essere in grado di controllare ciascuno degli indirizzi corrispondenti in questo elenco fino a quando il tentativo di consegna ha esito positivo.
Bilanciamento del carico tra array di server di posta
Il metodo utilizzato per bilanciare il carico della posta in arrivo su un array di server deve restituire lo stesso numero di preferenza per ogni server nell'insieme. Quando si determina quale server ha la stessa preferenza per l'invio della posta, il mittente deve randomizzarli per distribuire il carico su più scambiatori di posta per una particolare organizzazione. I server multihomed vengono gestiti in modo diverso, poiché qualsiasi randomizzazione è considerata già applicata dal server dei nomi. Si occupa principalmente di problemi di routing. Altri tipi di caricamento del server possono essere risolti utilizzando un proxy SMTP.
Backup
Il server di destinazione, ovvero quello che sa come consegnare la casella di posta dell'utente corrispondente, è solitamente quello preferito. I server con priorità più bassa, chiamati record MX di standby o secondari, in genere mantengono i messaggi in una coda in attesa che venga visualizzato il server primario. Se entrambi i server sono online o in qualche modo collegati tra loro, il backup MX inoltrerà l'e-mail al mail exchanger principale. Il backup funge da deposito.
Come impostare i record MX: priorità
La posta viene inviata al server di scambio con il numero di preferenza più basso (priorità più alta), quindi la voce dello scambiatore di posta utilizzata per l'instradamento dovrebbe avere il numero di preferenza più basso, di solito 0. Prioritàdefinisce l'ordine in cui i server devono essere associati (se sono specificati più server con priorità diverse). Verranno controllati per primi i server con la priorità più alta e il numero di preferenza più basso. Nei record DNS, il numero di preferenza viene solitamente impostato e specificato.
Errori di configurazione
Un malinteso comune sull'ordinazione delle preferenze dei record MX del dominio è che sia inteso ad aumentare la probabilità di consegna della posta. Tuttavia, il semplice utilizzo di più voci con la stessa preferenza offre questo vantaggio.
Un' altra comune interpretazione errata dell'ordine delle preferenze MX è che è inteso a fornire un "failover" in caso di sovraccarico del server. Sebbene possa essere utilizzato in questo modo, è una tecnica di gestione delle risorse scadente perché crea intenzionalmente congestione, non utilizza completamente l'hardware disponibile e non consente il controllo dei record MX. Assegnare lo stesso valore a tutti i server disponibili offre lo stesso vantaggio, può aiutare a evitare situazioni di congestione e quindi aumentare il throughput del sistema riducendo la latenza.
Registrazione SMTP
Il protocollo SMTP stabilisce una rete di archiviazione e inoltro e, se i server di posta di un dominio sono offline, i server di invio necessitano di una coda di messaggi destinati a quel dominio per riprovare in seguito. Tuttavia, questi server di invio non possono essere notificati che ora sono disponibiliserver di dominio autonomi e rilevano che il dominio è disponibile solo se viene effettuato il successivo tentativo di invio di messaggi posticipati.
Il ritardo tra il momento in cui i server di dominio sono online e quando i messaggi in sospeso vengono finalmente consegnati può variare da pochi minuti a diversi giorni, a seconda della pianificazione dei tentativi dei server di invio. Il problema è che i backup sono qualificati in modo univoco per la risoluzione e non consentono di controllare il record MX del dominio.