Cosa succede durante l’invio di una mail?
L’invio di un’e-mail è uno dei servizi Internet più importanti sia in ambito commerciale, che in quello privato. Ma come funziona l’invio di un’e-mail da un punto di vista tecnico? L’invio di un’e-mail avviene attraverso il protocollo standard Simple Mail Transfer Protocol; la ricezione, invece, tramite i protocolli IMAP o POP3; inoltre questo processo richiede la presenza di programmi come Mail User Agent e Mail Transfer Agent. Vi spieghiamo cosa fanno questi due programmi, quali stadi percorre una e-mail durante il processo di invio e quali problemi possono manifestarsi alla consegna.
Come funziona l’invio di un’e-mail
Per inviare un’e-mail bisogna innanzitutto effettuare il login ad un servizio di webmail tramite browser, o accedere al client di posta installato sul proprio computer. La denominazione tecnica per un programma e-mail è Mail User Agent (anche Message User Agent o MUA).
Una volta scritto un messaggio nel vostro MUA e cliccato su “invia”, il processo ha inizio. Prima di raggiungere la casella di posta del destinatario, l’e-mail passa attraverso diverse “stazioni”, nelle quali viene formattata, verificata e poi inoltrata.
1. Conversione dell’e-mail tramite MUA
Dopo l’invio, il vostro programma e-mail converte il messaggio una prima volta: la mail viene divisa dal MUA in due sezioni, header e body. L’header contiene dati quali il mittente, la data e l’ora dell’invio, l’oggetto della mail, il nome del destinatario/dei destinatari del messaggio. Sotto l’header si trova il cosiddetto body della mail. Come body viene indicato il contenuto trasmesso di un’e-mail, che comprende non solo i caratteri del messaggio, ma anche gli allegati della mail come ad esempio documenti e immagini.
2. Verifica di un’e-mail tramite MTA
Il vostro mail user agent stabilisce una connessione con il mail server del vostro fornitore (detto anche provider). Il mail server mette a disposizione un programma costantemente online, per ricevere e inviare e-mail: il Mail Transfer Agent (detto anche Message Transfer Agent o semplicemente MTA). L’MTA rappresenta il software base di un mail server.
In cooperazione con l’MTA, è possibile trovare un Mail/Message Submission Agent (MSA). L’MSA, che è in contatto diretto con il programma, verifica se l’indirizzo sia corretto e se appartenga ad un dominio realmente esistente. Le e-mail incorrette vengono respinte, quelle valide, invece, sono inoltrate al MTA. Un MSA è spesso già integrato in un programma MTA.
Prima che l’MTA del vostro provider invii il messaggio, viene verificato che non si superi la dimensione massima consentita; generalmente, a seconda del provider è permesso di allegare un file compreso tra i 4 e i 20 MB. Se l’e-mail o il file allegato è troppo grande, verrete informati e l’invio verrà bloccato. La maggior parte dei provider controlla anche che non siano presenti spam o malware (come i virus e i trojan), prima che questi vengano inviati. Se non esiste alcun sospetto di spam e le dimensioni della mail rientrano nei canoni, il MTA salva il messaggio.
3. Il processo di invio fino al destinatario (MTA)
Nel passaggio seguente il vostro Mail Transfer Agent (nel caso in cui l’MSA non se ne sia già fatto carico) cerca il mail server del destinatario nel Domain Name System (letteralmente in italiano “sistema dei nomi di dominio”), cioè nella rubrica degli indirizzi Internet. Quando il server viene rilevato, viene verificato se la parte locale dell’indirizzo, quindi tutto quello che sta prima del simbolo @, esista. Se l’indirizzo e-mail non può essere raggiunto (a causa di un errore di battitura o semplicemente perché non esiste), L’MTA rimanda la mail al mittente con un avviso. Se invece tutto è corretto, il proprio MTA inoltra la mail al MTA del destinatario.
A questo proposito il messaggio, come sempre accade durante lo scambio di dati su Internet, viene scomposto in più parti. L’invio di singoli pacchetti (la cui dimensione massima ammonta a 64KB) ha più vantaggi: da un lato i messaggi più piccoli possono essere trasmessi facilmente, dall’altro le singole parti di una mail possono utilizzare diversi percorsi dati per raggiungere il mail server di destinazione. Per questo i pacchetti ricorrono sempre al percorso di trasmissione, nel quale c’è relativamente poco traffico.
Lo scambio di dati tra server mail avviene attraverso nodi, che hanno la funzione di ricevere e trasmettere i dati. Essi sono un elemento essenziale dell’infrastruttura di Internet: è qui infatti che i provider si scambiano i messaggi. I singoli pacchetti di una mail giungono tramite questi nodi di distribuzione al mail server del destinatario, dove vengono lì di nuovo ricomposti.
4. Seconda verifica al MTA di destinazione e consegna della mail
L’e-mail è ora arrivata al mail server del destinatario. Prima di poter essere letto, però, il messaggio viene verificato anche dal MTA del mail server di destinazione. Viene di nuovo controllata la dimensione dell’allegato: se supera la capacità del provider del destinatario, il messaggio non viene consegnato, ma rimandato indietro al mittente. Inoltre vengono di nuovo cercati contenuti spam e malware. Perciò, se vengono trovati contenuti sospetti (ad esempio se nel testo sono presenti termini come “Viagra”, o se gli allegati contengono virus conosciuti o altri programmi dannosi, o se il mittente in questione ha già inviato spam), l’e-mail viene conseguentemente marcata come potenzialmente pericolosa o viene interrotta la sua trasmissione del tutto, cioè viene bloccata.
Se la vostra mail ha passato con successo questi controlli, il messaggio viene salvato sul mail server del destinatario, dove può essere letto. A questo punto il Message Delivery Agent (MDA) invia il messaggio alla casella di posta elettronica del destinatario. Non appena il destinatario apre la sua e-mail, l’MUA in uso accede al MTA del mail server e verifica che i contenuti non contengano spam o virus.
Finalmente la mail si può aprire e leggere dalla casella di posta. Le molte tappe intermedie e le misure di sicurezza adottate dovrebbero assicurare che il minor numero possibile di mail indesiderate o pericolose raggiunga la casella di posta. Tutti questi processi, che una mail attraversa dall’invio al raggiungimento del destinatario, richiedono poco più di qualche secondo.