Posta elettronica in internet

I principali componenti della posta elettronica in internet sono:

  • Lo user-agent
  • Il mail-server
  • Il protocollo SMTP
    Lo user agent non è altro che l'applicazione utilizzata per il componimento e la gestione dei messaggi (Apple mail, Microsoft Outlook, …).
    Il mail-server è un server in cui sono presenti le caselle di posta degli utenti.
    I mail-server sono componenti fondamentali per il funzionamento della posta elettronica.
    In uno scenario in cui Alice vuole inviare una mail a Bob. Alice è iscritta ad un certo servizio di mailing, Bob ad un altro. Alice compone il messaggio con il suo user-agent, lo user-agent lo invia al mail server di Alice, il mail server di Alice lo invierà al mail server di Bob, infine Bob potrà leggere il messaggio inviatogli da Alice dal suo user-agent.
    Il protocollo SMTP è utilizzato dai mail server per scambiarsi messaggi di posta e utilizza TCP.
    Se il mail server di Alice invia il messaggio e per qualche motivo quello di Bob risulta non funzionante, il mail server di Alice ritenterà l'invio di quel messaggio ogni lasso tempo (30 minuti) per un certo numero di giorni, dopo il quale l'invio della mail di Alice risulterà fallito. Alice riceverà un messaggio in cui le viene comunicato questo fatto.

SMTP
...

Come abbiamo detto SMTP è il responsabile dell’invio della posta in internet.
Una volta che un utente dal suo user agent ha composto e inviato il messaggio il mail server mittente, attraverso il protocollo SMTP, avvia una connessione (diretta) TCP sulla porta 25 con il mail server di destinazione. Se questo non risponde l’invio viene rimandato ad un secondo momento. Un limite di SMTP è il fatto di essere molto vecchio come protocollo. Infatti sia le righe di intestazione che il corpo (ciò che viene inviato) è codificato in ASCII a 7 bit. Il che lavora in modo non efficiente quando si vogliono inviare dei dati che non sono del testo, ma foto, o video, o file.

Esempio di funzionamento del protocollo SMTP.
...

Host client Client: crêpes.fr
Host server Server: hamburger.edu
Pasted image 20230919111142.png
La riga costituita da un unico punto indica al server la fine del messaggio.

HELO, MAIL FROM, RCPT TO, DATA, QUIT, sono delle sigle che tradotte il cui significato è il seguente:

  • HELO saluto,
  • FROM mittente,
  • RCPT TO destinatario,
  • DATA: dati da inviare,
  • QUIT fine.
    Il protocollo SMTP invia la mail dallo user agent del mittente fino al mail server del mittente e dal mail server del mittente lo invia al mail server del destinatario. Il destinatario quando vuole leggere la mail dovrà in qualche modo scaricarla nel suo user agent, questo non avviene mediante SMTP, poiché SMTP è un protocollo di push (a differenza di HTTP che è di pull). L'invio della mail dal mail server destinatario allo user agent del destinatario avviene mediante altri protocolli: POP3, IMAP e HTTP.

POP3
...

Pop3 è un protocollo estremamente semplice, proprio per questo le funzionalità sono molto limitate. Pop3 inizia una connessione TCP con il mail server sulla porta 110. Le sue operazioni si suddividono in: autorizzazione, transazione e aggiornamento.

Autorizzazione
...

Nella prima fase vengono inviate le credenziali dell'utente, se corrette si riceverà un messaggio +OK.
Altrimenti -ERR se sbagliate.
Le risposte +OK e -ERR vengono utilizzate per tutte le operazioni effettuate su Pop3.

Transazione
...

Durante la seconda fase lo user agent recupera i messaggi.

Aggiornamento
...

L'ultima fase ha luogo dopo l'invio del messaggio QUIT, che conclude la sessione Pop3, in questa fase vengono rimossi i messaggi che sono stati marcati per la cancellazione.

IMAP
...

Una volta scaricate le mail con Pop3 l’utente può organizzarle in cartelle sul suo user agent, tuttavia, una volta effettuato l’accesso da un altro user agent il loro ordine sarà mantenuto solo sullo user agent in cui sono state effettuate tali modifiche. IMAP permette di superare questi limiti. Con IMAP è possibile organizzare le email in cartelle create dall’utente. Esse vengono prima scaricate nella cartella INBOX dopodiché l’utente può spostarle come preferisce. Il server IMAP salva le informazioni di stato dell’utente, così da rendere effettive le modifiche da qualsiasi user agent l’utente acceda.

HTTP
...

Oramai la maggior parte dei fornitori del servizio di mailing sfruttano HTTP. Infatti gli utenti accedono alla loro casella postale mediante un browser web. Lo user agent (il browser) invia i messaggi al mail server mediante HTTP, al posto di utilizzare SMTP. Tuttavia i mail server quando devono spedire delle mail, utilizzano comunque SMTP.