Come funziona la posta elettronica? |Processo di una mail

Come funziona la posta elettronica nella realtà?

La posta elettronica è lo strumento più utilizzato dei servizi erogati attraverso internet, sia gratuita o a pagamento.
E’ uno strumento quasi indispensabile per le comunicazioni quotidiane di lavoro e non. Ti sei chiesto come funziona la posta elettronica  veramente? Come avviene la consegna della nostra email in realtà?

Come sembra

Mittente —> Invio —-> Destinatario

posta elettronica come appare a utente

Quando spedisci una email il funzionamento della posta elettronica appare semplice ed immediato.
Preparo il testo, inserisco il destinatario, clicco il tasto invio. Pochi secondi e il mio destinatario ha già ricevuto la mail.

Apparentemente semplice e banale, in realtà è probabilmente il servizio più complesso per la moltitudine di processi eseguiti e di fattori che influenzano la consegna  corretta al destinatario.

Come è davvero: scopriamo il percorso di una mail trasmessa

posta elettronica come funziona il processoIl processo coinvolge il mittente, il  server del mittente,  il server destinatario e altri servizi con ruoli fondamentali che possono interferire in una trasmissione.  I servizi coinvolti  possono anche non essere sotto il controllo diretto dei due server di posta coinvolti.

Prendiamo l’esempio classico con BOB e Alice.
BOB scrive una mail ad Alice. Può scrivere la sua mail per Alice accedendo al servizio di Webmail , oppure dal suo portatile utilizzando un clienti di posta (Thunderbird, Outlook, etc) . Il client di posta si definisce MUA – Mail User Agent.

Cosa succede quando BOB preme il tasto “Invio” per spedire la mail ad Alice?

Quando BOB preme il tasto “Invio” iniziano  una serie di processi, verifiche, trasformazioni prima che possa giungere a destinazione.  Le prime verifiche si compiono tra BOB e il suo server di posta elettronica. O meglio tra il suo client di posta, detto MUA, e il suo server di posta MTA.
Dovrà dimostrare di essere autorizzato a trasmettere la mail e che il suo indirizzo di posta esiste ed è attivo. Dovrà anche occuparsi di  trasformare la conversione della mail nel formato corretto per i server di posta.
Quando scriviamo una mail non è come appare ad un server di posta elettronica. Questa subisce più modifiche perché possa essere comprensibile, utile alla trasmissione e identificabile.

MUA  e la trasformazione della mail

MUA client di posta

E’ tempo di preparare la busta per la spedizione e inserire la nostra lettere da spedire. A questo ci pensa il clienti di posta di BOB, il MUA. Il MUA ha il compito di convertire la mail in formato comprensibile e utile per i server di posta elettronica.
E’ l’equivalente di quando “imbustiamo” una lettera. Scritto il testo della lettera, la inseriamo nella busta e scriviamo le informazioni di Mittente e Destinatario.  Il MUA converte la mail in modo che abbia due sezioni distinte:

  • header  – intestazione . Sono indicati il mittente, destinatario, oggetto della mail, data e ora, indirizzo ip mittente e altre informazioni che verranno aggiunte sino alla consegna all’indirizzo destinatario.
  • body  – corpo  Qui è il contenuto della nostra lettera. Compreso gli allegati.

SMTP autenticazione : Permesso?

Il MUA di BOB contatta il server di posta mittente e chiede autorizzazione a spedire. Il server mittente di BOB  deve verificare che BOB sia effettivamente autorizzato a trasmettere email utilizzando quel server di posta. Cercherà quindi tra i suoi utenti l’email di BOB e confronterà i suoi dati con le credenziali presentate dal MUA di BOB.
Se BOB non avesse configurato correttamente i parametri SMTP con nome e password di autenticazione, il suo server di posta non potrebbe permettergli di trasmettere mail e mostrerebbe un errore in fase di invio.

Quanto pesa la mail ? A quante persone spedisce?

Quando il MUA di BOB presenta la busta con la lettera, il suo server di posta (MTA) mittente effettua anche controlli che riguardano il peso massimo consentito a BOB per la trasmissione.

Se nella mail BOB ha inserito molti allegati, il server verifica che il peso di busta e lettera con allegati sia inferiore al massimo consentito dal suo piano hosting.-
Controllerà a quanti destinatari BOB intende trasmettere quella mail. Se il numero di destinatari è maggiore del consentito e/o il peso supera il limite, allora la mail di BOB viene rifiutata.

Anche il tipo di allegato viene verificato. Allegati come file .exe sono solitamente bloccati.

Imbuchiamo la lettera “stracciandola”

La mail viene trasmessa in formato di “pacchetto elettronico” attraverso la connessione internet del modem.
Per facilitare  sia la velocità di trasmissione  viene “stracciata” in tanti piccoli pacchetti.

modem router

Dal  provider di connessione (KPNQwest, Telecom, Fastweb, Infostrada, etc ,etc ) di BOB  il pacchetto deve arrivare  prima al  server di posta di BOB, il server di posta mittente.

Come fa il portatile di BOB a sapere dove si trova il suo server di posta ?

Per arrivarci, viene effettuata una richiesta DNS sul nome del server SMTP (posta in uscita) del mittente . Ovvero chiede a un servizio di nome Domain Name Server di fornirgli le informazioni necessarie. La risposta indicherà al portatile città,indirizzo,numero civico del server di posta del mittente.
Nome del server mittente di BOB —> smtp.dibob.it
Risposta DNS —->  x.x.x.x indirizzo del server di BOB

Come quando vogliamo spedire una lettera cartacea dall’ufficio delle poste di zona. Dobbiamo sapere l’indirizzo dell’ufficio postale per poter andare fisicamente a spedire la nostra lettera.

La mail può partire in uscita dal portatile di BOB  e viaggierà sino al data center dove si trova il server del mittente (Ufficio postale) . Lì verrà presa in consegna e preparata per la spedizione.

consegna email

Compiti del server Mittente

Come funziona la posta elettronica in realtà  dal client di BOB al suo MTA è stato semplice. Il compito maggiore e più rilevante avviene tra i due server di posta che hanno non solo il compito di consegnare e ricevere la mail, ma di garantire che questo avvenga in sicurezza e nel rispetto delle regole.

Se così configurato , il server mittente di BOB inizia eventuali verifiche antispam, antivirus per la mail in ingresso. Il server mittente effettua le prima verifiche sul contenuto della mail (body) e le sue intestazioni (header).

Raccolta informazioni sul destinatario.

Verifica del dominio destinatario (@dominiodestinatario.est ). In questa fase il server di posta chiede aiuto ad un server DNS per ottenere le informazioni necessarie.

  • Il dominio del destinatario esiste? (richiesta DNS)
  • ha uno o più server di posta ?  (richiesta DNS)
  • indirizzo IP del server di posta? (richiesta DNS )
  • Inizio verifiche sul server di posta destinatario
  • Il server di posta “è correttamente configurato come DNS” ? (richiesta risoluzione inversa, ip-nome)
  • Il server di posta è segnalato in qualche lista? (RBL)

Preparazione per la coda in uscita  e contatto con il server destinatario.
Ora, il postino virtuale di BOB inizia il viaggio per consegnare la mail all’Ufficio postale di Alice (MTA del destinatario ) dove, se presa correttamente in consegna, verrà poi affidata alla casella di posta.

Inizia il viaggio per contattare il server destinatario

comunicazione server posta elettronica

Routing, routing, routing. Hop.

Perché due macchine distanti possano comunicare qualunque cosa, è necessario che sappiano dove si trovano e gli venga indicata  la strada per parlarsi . I punti di connessione nel percorso tra un server A e un server B si chiamano hop , salto.

Come fanno i due server a trasmettere un pacchetto da un punto ad un altro?

Utilizzano una sorta di indirizzo/numero civico che è il loro indirizzo IP e una vasta autostrada (internet) munita di numerosi svincoli e caselli (router, gateway) .

Il viaggio per la comunicazione avviene soprattutto grazie ai DNS Server e ai router. I primi indicano la corrispondenza tra nome dominio e indirizzo IP, i secondi si occupano di dirigere il traffico per raggiungere quel determinato IP.

La richiesta di comunicazione con il server destinatario inizia un viaggio più o meno lungo in base alla distanza del server. Se il mittente scrive da un server a milano ad un server destinatario negli USA il viaggio è ovviamente più lungo e con un maggior numero di “hop”, ovvero di punti di “svincolo e caselli” dal punto di partenza all’arrivo .

Quando uno di questi punti è interrotto per motivi tecnici , verrà modificato il percorso per garantire la comunicazione.

Ricordi che prima abbiamo “stracciato” la nostra mail in piccoli pacchetti? In questo modo abbiamo dato la possibilità di farli viaggiare anche su percorsi diversi limitando al minimo interruzioni strada facendo.

Le presentazioni: prima comunicazione tra i due server di posta

Trying 85.156.60.33...
Connected to server.destinatario.com.
Escape character is '^]'.
220 server.destinatario.com ESMTP Postfix (Debian/GNU)
EHLO server.mittente.com

Piacere, server mittente. Devo consegnare questa mail da Bob per Alice.

I due server si “presentano” e il mittente informa che ha da consegnare una mail per il destinatario alice@dominiodialice.est

A partire dal momento  delle presentazioni, i due server si scambieranno informazioni di accettazione o rifiuto. Nel caso di rifiuto le ragioni verranno poi notificate attraverso la mail di  Mailer Daemon

Server Destinatario inizio delle verifiche

Iniziano le verifiche  del server Destinatario sul server  Mittente:

il server mittente è RFC compliant ? No,  trasmissione di  MAILER DAEMON –  Si proseguo

Il server è segnalato in qualche lista?  SI,  trasmissione MAILER DAEMON –  NO proseguo

Verifiche su indirizzo del mittente :

  • Il dominio mittente ha le caratteristiche (SPF, DKIM, OPENDMARC, casella di postmaster) che il server Destinatario eventualmente richiede come obbligo per accettare l’email ? NO, trasmissione Mailer Daemon –  SI proseguo
  • La casella del destinatario esiste? No, trasmissione MAILER DAEMON – Si proseguo
  • La casella del destinatario è attiva? No, trasmetto MAILER DAEMON, si proseguo
  • La casella del destinatario ha spazio per ricevere l’email ?  No, trasmissione MAILER DAEMON, Si proseguo

Prime verifiche antivirus:

La mail contiene un virus? SI, rifiuto o consegna in cartella virus apposita della casella oppure No, non contiene virus e proseguo e controllo spam

Prime verifiche antispam :

  • La mail ha un punteggio di spam superiore al limite massimo stabilito? SI, rifiuto e MAILER DAEMON
  • il punteggio raggiunto è maggiore del minimo come spam ma non supera il limite massimo ? SI proseguo,accetto email e la consegno nella cartella SPAM indicando il punteggio segnato
  • la mail non è SPAM  allora proseguo e consegno in posta in arrivo.

Mail in posta in arrivo

Alice ha posta in arrivo! Il suo postino virtuale (MDA) ha fisicamente messo la mail nella sua casella di posta in arrivo. Ora Alice può leggere la mai di BOB accedendo alla sua webmail oppure usando il suo client di posta preferito (MUA).

Il Tempo

Non dimenticare che tutto questo avviene nell’arco di pochi secondi.

come funziona la posta elettronica

Altri approfondimenti brevi:

Mail in spam – Come vedere il punteggio assegnato

554.5.7.1 Helo Comand Rejected| Mailer

Mail Policy – Condizioni Accettazione email da server remoti

Leggi anche l’articolo MAILER DAEMON cosa è?  e Codici di stato – SMTP

NOTA POSTA ELETTRONICA:

L’esempio è stato volutamente semplificato e non deve essere letto come spiegazione tecnica, ma come aiuto a comprendere il processo che avviene durante la trasmissione di una email. Alcuni dei passaggi relativi ai controlli e le modalità di reazione dei server di posta elettronica non avvengono sempre esattamente nel modo e nell’ordine esposto sopra, e sono legate anche alla scelta del provider che configura il servizio. Tuttavia, un server di posta elettronica deve essere “Compliant” e rispettare le indicazioni contenute nel relativo documento RFC anche se spesso ancora oggi non sempre avviene.

About The Author