SMTP (Simple Mail Transfer Protocol): Guida completa

Scopri tutto quello che c'è da sapere sul protocollo email SMTP!

Hai trovato questo articolo cliccando su un link inviato via email? Allora dovresti ringraziare SMTP, il protocollo alla base delle moderne comunicazioni via email. In questa guida completa, esploreremo tutti gli aspetti del Simple Mail Transfer Protocol (o SMTP): in cosa consiste, quali tipi di server SMTP esistono, come funziona, i suoi comandi e molto altro!

Altri articoli che potrebbero interessarti:

smtp simple mail transfer protocol guida completa copertina

Cosa è il protocollo SMTP?

Il termine SMTP, che sta per “Simple Mail Transfer Protocol”, si riferisce a un protocollo di livello applicativo TCP/IP utilizzato per inviare email tra reti informatiche. Il protocollo SMTP stabilisce le regole per la consegna di un messaggio a un server di posta, il cui contenuto può essere recuperato utilizzando un client di posta elettronica. È un elemento cruciale di molti dei servizi email più diffusi, tra cui Gmail e Outlook.

Ma attenzione, il protocollo SMTP non è perfetto. Per esempio, può trasmettere solo messaggi di testo senza alcun allegato. E non solo, questi messaggi devono essere scritti in caratteri ASCII a 7 bit, limitando il testo all’alfabeto inglese e ai numeri. Per superare questi limiti, l’SMTP deve essere combinato con il protocollo MIME (Multipurpose Internet Mail Extensions), che converte tutto il contenuto non ASCII in un formato utilizzabile da SMTP.

Cosa è un server SMTP?

Nel passato, SMTP utilizzava la porta 25 per le comunicazioni non crittografate. Ma i tempi sono cambiati. Oggi, la porta 25 dovrebbe essere evitata – infatti, alcuni firewall la bloccano automaticamente per proteggere contro lo spam. Le comunicazioni moderne via SMTP solitamente utilizzano la porta 587 o 465 in conformità con l’RFC 8314.

Pensa ai server SMTP come a uffici postali virtuali. Quando invii una lettera nel mondo reale, non la consegni a un postino che la porterà direttamente alla casella postale del destinatario. La lettera deve essere processata al tuo ufficio postale locale, che la inoltra all’ufficio responsabile della zona del destinatario. I server SMTP raccolgono e inoltrano i messaggi di posta elettronica nello stesso modo, solo più velocemente.

Tipologie di server SMTP

I server SMTP non sono relegati a un numero di funzioni limitate: un solo server SMTP può inviare, ricevere e inoltrare messaggi contemporaneamente. Detto ciò, è possibile distinguere i server SMTP in base al ruolo che svolgono in una specifica transazione di posta.

Server di posta in uscita

I server di posta in uscita sono la tipologia più spesso associata al protocollo SMTP. Infatti, nel mondo della logistica della posta elettronica, “server di posta in uscita” è spesso sinonimo di “server SMTP”. I server di posta in uscita sono responsabili di prelevare il messaggio dal tuo client di posta elettronica e di consegnarlo al server di posta in arrivo del destinatario.

Per prevenire lo spam, i normali server di posta in uscita hanno limiti giornalieri severi sul numero di messaggi che possono inviare – per esempio, i server SMTP di Gmail sono limitati a 500 email al giorno per gli utenti gratuiti. Queste limitazioni rendono i normali server SMTP impraticabili per l’invio di aggiornamenti di massa o email di marketing.

Server SMTP dedicati

Grazie al cielo per gli amanti dello spam, è comunque possibile riempire milioni di caselle di posta con offerte esclusive e incredibili, usando i server SMTP dedicati. Un server SMTP dedicato è un particolare server di posta in uscita che viene configurato per gestire enormi volumi di traffico esclusivamente per un solo cliente (di solito un account aziendale). I server SMTP dedicati offrono agli utenti più flessibilità e meno limiti rispetto ai server SMTP pubblici condivisi.

Server SMTP relay

Anche se ogni server SMTP in uscita è tecnicamente un server relay (di inoltro), poiché trasmette i messaggi di posta elettronica ad altri server, il nome “server SMTP relay” è spesso riservato ai server utilizzati da un servizio di relay SMTP per l’invio di email di massa. Come i server dedicati, i servizi di relay SMTP permettono alle organizzazioni di spedire una miriade di messaggi insieme, solo che in questo caso il lavoro pesante viene svolto da una terza parte.

Server di posta in entrata

I server di posta in entrata (o inbound) archiviano i messaggi di posta elettronica ricevuti dai relay SMTP fino a quando non possono essere recuperati dal client di posta elettronica del destinatario. A differenza dei server di posta in uscita, che utilizzano quasi esclusivamente il protocollo SMTP, solitamente i server di posta in entrata si basano sul protocollo Post Office Protocol (POP) o sul protocollo Internet Message Access Protocol (IMAP).

Server SMTP fasulli

I server SMTP fasulli (conosciuti anche come “server SMTP dummy“) sono principalmente utilizzati per testare le email. Esattamente come un vero server SMTP, un server SMTP fasullo accetterà le email dal tuo client di posta e farà finta di inviarle, senza però procedere alla consegna vera e propria. I server SMTP fasulli permettono agli sviluppatori di testare come le app e i siti web gestiscono le email senza dover creare account di posta elettronica usa e getta.

Come funziona il protocollo SMTP?

Proprio come suggerisce il suo nome, il Simple Mail Transfer Protocol è piuttosto semplice in confronto a molti altri protocolli TCP/IP. L’SMTP non richiede l’autenticazione per funzionare (anche se l’autenticazione può essere aggiunta con l’estensione SMTP AUTH) e può essere suddiviso nei seguenti passaggi:

  1. Per iniziare la sessione, il client SMTP (noto come “mail user agent” o MUA) completa l’handshake SMTP connettendosi al server SMTP del suo dominio (noto come “mail transfer agent” o MTA).
  2. La sessione SMTP inizia una volta stabilita la connessione. Il tuo client di posta elettronica (il client SMTP menzionato sopra) invia tutte le informazioni necessarie per la trasmissione dell’email: l’indirizzo email del mittente, l’indirizzo email del destinatario, il contenuto del messaggio e eventuali allegati (usando il protocollo MIME).
  3. Prima di fare qualsiasi altra cosa, il server SMTP verifica se i nomi di dominio del mittente e del destinatario sono gli stessi. Se lo sono, l’email viene inviata immediatamente al server di posta in entrata del destinatario.
  4. Se i domini sono diversi, il server SMTP chiede a un server del Domain Name System (DNS) di fornire l’indirizzo IP del server di posta del destinatario. Con questo indirizzo IP, il server SMTP del mittente si connette al server SMTP del destinatario (noto come “mail delivery agent” o MDA) per inoltrare il messaggio.
  5. Se il server SMTP del destinatario non è disponibile al momento, il messaggio di posta elettronica viene o aggiunto alla coda SMTP (un buffer dove vengono memorizzate le email) o inviato a un server di backup.
  6. Il server SMTP del destinatario verifica il nome di dominio dell’email e il nome dell’utente. Se le informazioni sono corrette, il server SMTP consegna l’email al server di posta in entrata giusto.

Comandi SMTP

Per comunicare con i server SMTP, i client di posta elettronica e le applicazioni web utilizzano dei comandi SMTP speciali. Questi comandi informano il server SMTP sullo stato della trasmissione email e gli dicono cosa deve fare successivamente. Ecco alcuni esempi di comandi SMTP usati nella trasmissione di email:

  • HELO. Fedele al suo nome, il comando HELO viene utilizzato per avviare una sessione SMTP. Questo comando permette al client di posta elettronica di presentarsi formalmente al server SMTP per stabilire una connessione. Non si tratta solo di buone maniere — senza HELO, non c’è trasmissione di posta. Oggi, il comando HELO è stato in gran parte sostituito da EHLO, utilizzato dall’Extended Simple Message Transfer Protocol (ESMTP, protocollo esteso di trasferimento dei messaggi semplici).
  • MAIL FROM. Il comando MAIL FROM dà il via al trasferimento dell’email e indica l’indirizzo email del mittente (il percorso inverso). L’indirizzo può essere lasciato vuoto in alcuni casi — per esempio, quando un sistema automatizzato risponde a qualcuno riguardo al mancato recapito di un messaggio.
  • RCPT TO. Il comando RCPT TO fornisce la casella di posta di destinazione (il percorso diretto) per la consegna. È possibile includere più di un destinatario, ma ciascuno deve essere aggiunto separatamente con RCPT TO.
  • DATA. Il comando DATA è una semplice richiesta di permesso al server di trasferire i contenuti del messaggio. Se il client di posta elettronica riceve il codice 354 in risposta, inizia a caricare l’email riga per riga, compresi eventuali allegati. L’ultima riga contiene solo un singolo punto (“.”) per indicare che il trasferimento dei dati è terminato.
  • HELP. Il comando HELP istruisce il server SMTP a rispondere con un elenco di comandi supportati. Viene tipicamente utilizzato dai client di posta elettronica o dagli amministratori di sistema per verificare quali funzioni può eseguire il server SMTP assegnato.
  • RSET. Il comando RSET pulisce il quadro senza terminare la connessione SMTP. Cancellando i buffer del mittente e del destinatario e le tabelle di stato, il client di posta elettronica può iniziare un nuovo trasferimento di messaggi.
  • QUIT. Il comando QUIT dice al server SMTP di terminare la sessione. La sessione non viene chiusa immediatamente — il server deve prima rispondere con il codice 221 per riconoscere la conformità da parte sua.

Dai, non è così complicato, no? Ricorda, l’SMTP non è un postino vittoriano, ma un moderno corriere informatico!

Fornitori di servizi SMTP

Certo, potresti usare il server SMTP del tuo provider di posta elettronica, ma perché limitarti? Puoi scegliere un altro provider di servizi SMTP o, se sei un amante del fai-da-te, potresti addirittura configurare il tuo server SMTP.

Se stai cercando i migliori server SMTP gratuiti nel 2023, Google (smtp.gmail.com, porta 465 o porta 587) e Yahoo (smtp.mail.yahoo.com, porta 465 o porta 587) sono delle ottime scelte. Entrambi offrono un servizio affidabile e ti permettono di inviare fino a 500 email al giorno, più che sufficiente per l’utente medio e per le piccole imprese.

Per le grandi imprese con campagne di email marketing periodiche, Brevo (smtp.brevo.io, porta 587) e SendGrid (smtp.sendgrid.net, porta 587) sono delle buone opzioni. Questi fornitori di servizi SMTP offrono più funzionalità e supporto in tempo reale per le aziende, ma le loro opzioni gratuite sono piuttosto scarse: 300 messaggi al giorno per Brevo e soltanto 100 messaggi al giorno per SendGrid.

Differenze tra SMTP, IMAP e POP3

Il protocollo SMTP non è l’unico in circolazione per la posta elettronica. Abbiamo già accennato al Post Office Protocol (POP) e l’Internet Message Access Protocol (IMAP) quando abbiamo parlato di server di posta in entrata, ma adesso approfondiamo un po’ questi altri protocolli email.

IMAP

IMAP (attualmente alla sua quarta versione come IMAP4) è un protocollo TCP/IP per ricevere email dai server. Quando usi IMAP, il client di posta elettronica inizialmente scarica solo le date, le informazioni del mittente e gli oggetti dei messaggi di posta elettronica dal server di posta in entrata, conservando questi dati nella cache locale. Questo viene fatto per risparmiare banda: il resto dei contenuti viene scaricato quando l’utente decide di aprire il messaggio.

POP

Come IMAP, anche POP (attualmente alla sua terza versione ufficiale come POP3, mentre POP4 esiste solo come proposta informale) è un protocollo TCP/IP per ricevere email dai server. Tuttavia, a differenza di IMAP, che scarica i contenuti delle email solo quando l’utente apre il messaggio, POP scarica automaticamente tutte le email in sospeso (compresi eventuali allegati) dal server di posta in entrata sul tuo dispositivo e cancella le copie sul server.

SMTP vs. IMAP vs. POP3

Se hai letto attentamente (e spero di sì), avrai notato che parliamo principalmente di SMTP nel contesto dell’invio di email. Questo perché l’SMTP è un protocollo push — un protocollo specificamente progettato per inviare dati da un server all’altro. I protocolli push sono un po’ come il barista che ti porta il caffè prima che tu lo chieda: forzano i server impostati in modalità ascolto a inoltrare (spingere) automaticamente i dati alla loro destinazione.

IMAP e POP, invece, sono entrambi protocolli pull, pensati per ricevere email dai server di posta in arrivo. Questi protocolli recuperano (tirano) i messaggi dal server solo su richiesta dell’utente. IMAP e POP non hanno alcun ruolo nel trasferimento delle email dal mittente al server di posta in arrivo.

Per il funzionamento dei moderni sistemi di email, sono necessari sia protocolli push che pull. Questo significa che l’SMTP non è in competizione con IMAP o POP — al contrario, lavora insieme a loro per consegnare messaggi a persone in tutto il mondo.

Protocollo email SMTP: Conclusioni e Domande Frequenti

Senza il Simple Mail Transfer Protocol, non potrebbero esistere le email moderne. Questa è la triste realtà: SMTP fornisce un metodo semplice per lo scambio di posta tra diversi provider di posta elettronica, domini e reti che popolano il panorama delle comunicazioni di oggi. Ma SMTP non è un capolavoro brillante dell’ingegneria del software – è stato costruito pezzo dopo pezzo in quasi quattro decenni di lavoro ad hoc.

Il protocollo SMTP è nato negli anni ’80 come un modo facile per inviare messaggi semplici, e la sua età comincia a farsi sentire. Come originariamente concepito, SMTP poteva trasferire solo testo ASCII a 7 bit, limitando notevolmente il suo uso. Inoltre, non prevedeva alcuna disposizione per la crittografia, portando a un’esplosione di spam e attacchi di spoofing negli anni ’90.

Col tempo, questi svantaggi sono stati affrontati con estensioni SMTP e nuove tecniche di sicurezza. MIME ha aggiunto la possibilità di inviare caratteri non ASCII e allegati. SMTP AUTH ha abilitato l’autenticazione. Il software di crittografia ha offerto nuovi modi per proteggere i contenuti delle email. Grazie a questi strumenti, SMTP è ancora in forze, nonostante le sue numerose limitazioni intrinseche.

Cosa ne pensi della nostra guida completa al Simple Mail Transfer Protocol (SMTP)? C’è altro che vorresti sapere a riguardo? Commenta qui sotto e condividi questo articolo con i tuoi amici! Non dimenticarti di iscriverti alla newsletter di Stolas Informatica e di seguirci su FacebookInstagram e Telegram per rimanere sempre aggiornato!

Indice

Il tuo indirizzo IP è:

45.79.250.72

La tua posizione è:

Frankfurt am Main,

Germania

Il tuo indirizzo IP e la tua posizione sono visibili a chiunque.

Torna in alto

Offerta a tempo limitato:

Giorni
Ore
Minuti
Secondi

Risparmia il 72%!

su VPN + Antimalware!

Garanzia soddisfatti o rimborsati di 30 giorni

Offerta a tempo limitato:

Giorni
Ore
Minuti
Secondi

Risparmia il 72%!

su VPN + Antimalware!

Garanzia soddisfatti o rimborsati di 30 giorni

Indice

Il tuo indirizzo IP è:

45.79.250.72

La tua posizione è:

Frankfurt am Main,

Germania

Il tuo indirizzo IP e la tua posizione sono visibili a chiunque.