Panoramica
La tua capacità di inviare e ricevere email è in gran parte dovuta a 3 protocolli TCP: SMTP, IMAP e POP3. Se hai un paio di minuti a disposizione, questo è un buon momento per sapere cosa sono e come differiscono l’uno dall’altro.
SMTP
Iniziamo con SMTP perché la sua funzione primaria è diversa dalle altre due. A cosa serve SMTP? SMTP o Simple Mail Transfer Protocol è usato principalmente per inviare e-mail da un client di posta elettronica (ad esempio Microsoft Outlook, Thunderbird o Apple Mail) a un server di posta elettronica. È anche usato per ritrasmettere o inoltrare messaggi di posta da un server di posta a un altro. La capacità di inoltrare messaggi da un server all’altro è necessaria se il mittente e il destinatario hanno diversi fornitori di servizi di posta elettronica.
SMTP, che è specificato in RFC 5321, usa la porta 25 per default. Può anche usare la porta 587 e la porta 465. Quest’ultima, che è stata introdotta come porta di scelta per SMTP sicuro (a.k.a. SMTPS), dovrebbe essere deprecata. Ma in realtà, è ancora usata da diversi fornitori di servizi di posta.
Ora che hai una comprensione di base di SMTP, è il momento di rivolgere la nostra attenzione ai due protocolli per recuperare le e-mail dai server di posta: IMAP e POP3. Cominciamo con POP3.
POP3
Come mostrato nella figura qui sopra, il Post Office Protocol o POP è usato per recuperare i messaggi di posta elettronica da un server di posta a un client di posta. L’ultima versione, che è quella più usata, è la versione 3 – da qui il termine “POP3”.
POP versione 3, che è specificato in RFC 1939, supporta estensioni e diversi meccanismi di autenticazione. Le funzioni di autenticazione sono necessarie per evitare che individui malintenzionati ottengano un accesso non autorizzato ai messaggi degli utenti.
In generale, un client POP3 recupera le e-mail nel modo seguente:
- Connette al server di posta sulla porta 110 (o 995 per connessioni SSL/TLS);
- Ricupera i messaggi email;
- Elimina le copie dei messaggi memorizzati sul server; e
- Si disconnette dal server
Anche se i client POP possono essere configurati per permettere al server di continuare a memorizzare copie dei messaggi scaricati, i passi sopra descritti sono la pratica abituale. Lasciarli sul server è una pratica che di solito si fa tramite IMAP. Parliamone ora.
IMAP
IMAP, specialmente la versione attuale (IMAP4), è un protocollo più sofisticato. Permette agli utenti di raggruppare messaggi correlati e metterli in cartelle, che a loro volta possono essere organizzate gerarchicamente. È anche dotato di bandiere di messaggi che indicano se un messaggio è stato letto, cancellato o risposto. Permette anche agli utenti di effettuare ricerche nelle caselle di posta del server.
Ecco come funziona IMAP in poche parole:
- Si connette al server di posta sulla porta 143 (o 993 per connessioni SSL/TLS);
- Recupera i messaggi di posta elettronica;
- Mantiene la connessione fino alla chiusura dell’applicazione client di posta e scarica i messaggi su richiesta.
Nota che i messaggi non vengono cancellati sul server. Questo ha implicazioni importanti, di cui parleremo tra poco.
Le specifiche di IMAP possono essere trovate in RFC 3501.
Considerazioni quando si sceglie tra IMAP e POP3
Siccome la funzione principale di SMTP è completamente diversa, il dilemma di scegliere il protocollo migliore di solito coinvolge solo IMAP e POP3. Ecco alcune delle cose che vorrete prendere in considerazione:
Spazio di archiviazione del server
Un server con spazio di archiviazione limitato è un fattore importante che può costringervi a favorire POP3. Poiché IMAP lascia i messaggi sul server, può consumare lo spazio di archiviazione più velocemente di POP3.
Avantaggio: POP3
Accesso sempre e ovunque
C’è una buona ragione per cui IMAP è stato progettato per conservare i messaggi sul server. È stato pensato per consentire il recupero dei messaggi da più dispositivi, a volte anche simultaneamente. Quindi, se hai un iPhone, un tablet Android, un portatile e un desktop, e vuoi leggere le e-mail da uno o tutti questi dispositivi, IMAP sarebbe la scelta migliore.
Vantaggi: IMAP
Sincronizzazione
Se accedi ai messaggi email da più dispositivi (chi non lo fa al giorno d’oggi?), probabilmente vorrai che tutti i dispositivi riflettano qualsiasi azione che hai eseguito su un dispositivo.
Per esempio, se hai letto i messaggi A, B, e C, allora vorrai che quei messaggi siano contrassegnati come “letti” anche sugli altri dispositivi. Se hai cancellato i messaggi B e C, allora vorrai che quegli stessi messaggi vengano rimossi dalla tua casella di posta anche sugli altri dispositivi. Se avete spostato il messaggio A in un’altra cartella … beh, sapete cosa intendo. Tutte queste sincronizzazioni possono essere ottenute solo se stai usando IMAP.
Vantaggi: IMAP
Organizzazione
Perché IMAP permette agli utenti di organizzare i messaggi in modo gerarchico e metterli in cartelle, è certamente migliore per aiutare gli utenti ad organizzarsi.
Vantaggi: IMAP
Computing overhead
Ovviamente, tutta questa funzionalità IMAP ha un prezzo. È probabilmente più difficile da implementare e certamente consuma molta più CPU e RAM, specialmente quando esegue quelle sincronizzazioni. Infatti, un alto utilizzo di CPU e memoria può avvenire sia dal lato client che dal lato server se c’è una tonnellata di messaggi da sincronizzare.
Vantaggi: POP3
Privacy
Questa è una preoccupazione che pesa molto sugli utenti finali che trattano spesso informazioni riservate. Questi utenti preferirebbero scaricare tutti i messaggi di posta elettronica e non lasciare copie sul server.
Avantaggio: POP3
Velocità
Mentre POP3 scarica tutti i messaggi di posta al momento della connessione, IMAP può opzionalmente scaricare solo le intestazioni dei messaggi o alcune parti e lasciare, per esempio, gli allegati sul server. Solo quando l’utente decide che vale la pena scaricare le porzioni rimanenti, queste verranno scaricate. A questo proposito, IMAP può essere considerato più veloce.
Tuttavia, se tutti i messaggi sul server devono essere scaricati ogni singola volta, allora POP3 sarebbe più veloce.
Vantaggi: Dipende dalla situazione
Come potete vedere, ogni protocollo ha i suoi vantaggi e svantaggi. Sta davvero a voi decidere quali funzioni/capacità sono più importanti per voi.
Sono i vantaggi e gli svantaggi di ogni protocollo.