Tutto Quello Che C’è Da Sapere Sul Server SMTP

On Febbraio 06, 2024
9min read
Zakhar Yung Technical Content Writer @Mailtrap
Questa è l'immagine di copertina di un articolo sui dettagli dei server SMTP.

È difficile inviare un’email? Dal punto di vista dell’utente, tutto sembra abbastanza semplice. Sotto il cofano, tuttavia, c’è un sistema complesso che guida le e-mail dal mittente al destinatario. 

Quando si fa clic su un pulsante per inviare un’e-mail, il client di posta elettronica si connette al server di posta. I server sono computer che gestiscono servizi specifici. Un server di posta elettronica è pensato per gestire le e-mail. 

Allo stesso tempo, possiamo suddividere i server di posta elettronica in due categorie: in uscita e in entrata. Oggi stiamo parlando di un concetto relativo a un server di posta in uscita, noto come server SMTP.

Che cos’ è un server SMTP? 

Un server SMTP è un computer o un’app responsabile dell’invio di e-mail. Funziona secondo il Simple Mail Transfer Protocol (SMTP). Un server SMTP riceve e-mail dal client di posta elettronica. Quindi li passa a un altro server di posta elettronica SMTP e li inoltra al server di posta in arrivo.

Come funziona un server SMTP? 

Dai un’occhiata ai passaggi di base del percorso di invio delle e-mail e al ruolo svolto dal server SMTP.

  • Un mail user agent (MUA), che può essere il tuo client di posta elettronica o un’app, si connette al server SMTP del tuo dominio (ad esempio, live.mailtrap.io) per avviare la connessione SMTP. Questo è chiamato handshake SMTP. La connessione viene effettuata tramite una porta SMTP, che normalmente è 25. Tuttavia, altre porte, come 465, 587, 2525 potrebbero anche essere utilizzate in casi diversi. Puoi saperne di più su di loro nel nostro post sul blog sulle porte SMTP. Una volta connesso, inizia la sessione SMTP.
  • Il client invia gli indirizzi e-mail del mittente e del destinatario, nonché il corpo e gli allegati dell’e-mail, al server. 
  • Il server SMTP, o più precisamente l’ agente di trasferimento della posta (MTA), controlla se il nome di dominio del destinatario e del mittente è lo stesso. Se lo è, l’e-mail va direttamente al server POP3 o IMAP del destinatario. Se i domini sono diversi, il server SMTP deve comunicare con il DNS (Domain Name Server).
  • Il DNS fornisce l’indirizzo IP del destinatario. 
  • Il server SMTP del mittente si connette al server SMTP del destinatario e inoltra l’e-mail. Se il server del destinatario non è disponibile (inattivo o occupato), l’e-mail verrà inserita in una coda SMTP. Questo è un buffer in cui le e-mail vengono archiviate prima di raggiungere l’endpoint. Per ulteriori informazioni su questo, leggi il nostro post sul blog sull’ accodamento delle e-mail. In alternativa, l’e-mail può essere inviata a un server di backup.
  • Il server SMTP del destinatario verifica l’e-mail in arrivo. Se il dominio e il nome utente sono stati riconosciuti, il server inoltra l’e-mail ai server di ricezione, server POP3 o IMAP.
Questa è un'immagine che mostra un'illustrazione di come funziona un server SMTP senza relay

Il server SMTP è sicuro? 

Sorprendentemente, il server SMTP non è intrinsecamente sicuro. Non ha alcun meccanismo di crittografia o di sicurezza incorporato. Ciò lo rende vulnerabile a spoofing, spamming o perdita di dati. Per evitare tutti questi sfortunati eventi, i provider di posta elettronica hanno aggiunto livelli di sicurezza all’infrastruttura. 

Il primo meccanismo che hanno incorporato è stato il Secure Sockets Layer (SSL), ma aveva notevoli difetti di sicurezza. Di conseguenza, Internet Engineering Task Force (IETF) ha deprecato la sua versione finale, SSL 3.0 nel 2015 applicando RFC 7568.

4 anni dopo la creazione di SSL, un altro standard di sicurezza, Transport Security Layer (TLS) è stato introdotto al pubblico. Inizialmente, non era nemmeno perfetto, ma è stato migliorato nel corso degli anni. A partire dal 2022, la versione TLS 1.3 è considerata il protocollo più sicuro per la crittografia delle e-mail.Tutto ciò è fantastico, ma a che punto della connessione SMTP entra in gioco TLS? Per impostazione predefinita, la maggior parte dei client di posta elettronica avvia una connessione TLS durante l’handshake. Lo fanno utilizzando il comando SMTP STARTTLS, che avvia il passaggio a una connessione crittografata. Per saperne di più, dai un’occhiata al nostro post sul blog sulla sicurezza SMTP.

Cos’ è l’autenticazione SMTP? 

L’autenticazione SMTP o SMTP AUTH è il meccanismo utilizzato per proteggere il server di posta elettronica in uscita. È il servizio fornito dall’Extended Simple Mail Transfer Protocol (ESMTP) che aggiunge nuove funzionalità al protocollo SMTP, inclusa l’autenticazione. 

SMTP AUTH ‘‘richiede che il mittente sia autorizzato a utilizzare il server per inviare e-mail. Rende più difficile impersonare utenti reali, proteggendoli da spoofer e spammer. SMTP AUTH sfrutta il meccanismo SASL per l’autenticazione, che specifica il livello di sicurezza e i metodi di login. Meccanismi come PLAIN, LOGIN e CRAM-MD5 sono comunemente usati in questo processo. Per approfondire l’autenticazione SMTP, consulta la nostra guida dedicata.

Dovresti usare server SMTP locale o basato su cloud? 

Il tuo proprio server SMTP 

Impostare il proprio server SMTP potrebbe essere un’opzione se si desidera inviare e-mail di massa. Non impone alcun limite al numero di e-mail inviate all’ora/giorno e garantisce il controllo di tutta la posta in uscita. 

Tuttavia, questo comporta uno svantaggio in quanto la frequenza di rimbalzo può aumentare del 20-30%, che è una considerazione importante per la deliverability delle campagne di marketing transazionale o di posta elettronica. Se vuoi conoscere tutti i dettagli della configurazione del tuo server SMTP, leggi questo post sul blog.

API di invio e-mail di terze parti 

Nella nostra guida sui migliori server SMTP gratuiti, abbiamo introdotto un elenco di API e-mail di terze parti basate su cloud che la maggior parte delle startup e dei progetti opta per. Si tratta di servizi di inoltro SMTP che includono Gmail, Amazon SES, Elastic Email, Mailtrap e altri. 

Il vantaggio principale dell’utilizzo di provider di servizi SMTP al posto dell’SMTP locale è che non è necessario creare e mantenere l’intera infrastruttura di posta elettronica da soli. Ciò significa che risparmi le tue risorse. 

Tuttavia, è importante scegliere un provider di posta elettronica affidabile come Mailtrap Email Sending. Si tratta di una soluzione end-to-end in grado di consegnare in modo sicuro i messaggi di posta elettronica alle caselle di posta dei destinatari.

Include un gran numero di utili funzioni, come analitiche attuabili, SDK per una serie di linguaggi di programmazione, consegna puntuale delle e-mail, configurazione fluida e sicura e altro ancora. Le analisi citate possono essere utilizzate per monitorare e controllare la deliverability di tutte le vostre e-mail in uscita.

Questa è un'immagine che mostra la funzione di panoramica delle statistiche di invio e-mail di Mailtrap.

L’aspetto più importante è che Mailtrap Email Sending semplifica enormemente l’utilizzo del servizio SMTP o dell’API di posta elettronica. Una volta verificato il vostro dominio con i protocolli di autenticazione SPF, DKIM e DMARC, vedrete immediatamente le credenziali SMTP e API per l’invio transazionale e massivo di e-mail.

Il server SMTP di Mailtrap Email Sending sfrutta i meccanismi di autenticazione PLAIN e LOGIN e richiede la crittografia STARTTLS.

Questa è un'immagine che mostra il flusso di invio di e-mail di massa e transazionali di Mailtrap.

Ora che sai cos’ è un server SMTP e come funziona, approfondiamo e rispondiamo alle altre domande che potresti avere.

Server di SMTP relay o API HTTP: qual è il migliore e quando? 

Un agente utente di posta (il client) invia e-mail al server tramite SMTP. È un protocollo indipendente dalla piattaforma ampiamente utilizzato per l’invio di e-mail. Allo stesso tempo, puoi inviare e-mail dalla tua app utilizzando un protocollo specifico per il web: HTTP. In questo caso, non ci sono client-server o server-server avanti e indietro. La tua app invia richieste HTTP a un servizio di terze parti che esegue l’invio di e-mail. Questo modo di recapito della posta è noto come API HTTP o API Web.

Non possiamo affermare che le API Web superino il servizio dei server di  SMTP relay. Ogni opzione ha i suoi pro e contro.

Questa è un'immagine che mostra i pro e i contro delle API web e del server relay SMTP

Scegliere un server SMTP se:

  • preferisci la semplicità per le attività di base 
  • hai bisogno di integrabilità con il tuo sistema CRM o client di posta
  • stai cercando una soluzione affidabile e sostenibile

Seleziona API Web se:

  • ti occupi di email di massa
  • hai bisogno di maggiori funzionalità
  • non ti dispiace armeggiare con il codice

Per ulteriori informazioni sulle differenze tra server di SMTP relay e API HTTP, leggi il nostro post sul blog.

Che cos’ è un indirizzo di server SMTP? 

Un server SMTP ha un indirizzo web per comunicare con altri server e client su Internet. Di solito, é smtp. o mail. più il nome di dominio. Alcuni esempi?

Provider di servizi di posta elettronicaImpostazioni e indirizzi SMTP
Microsoft 365 and OutlookServer: smtp.office365.com
Porta: 587
Crittografia: STARTTLS
Gmail Server: smtp.gmail.com 
Porta: 587 o465
Crittografia: SSL, TLS o STARTTLS
GMXServer: mail.gmx.net 
Porta: 587
Crittografia: N/A
YahooServer: smtp.mail.yahoo.com
Porta: 587 o 465
Crittografia: SSL o TLS
iCloud Mail Server: smtp.mail.me.com
Porta: 587
Crittografia: SSL, TLS o STARTTLS

Se hai configurato il tuo server SMTP, puoi utilizzare il suo indirizzo IP, ad esempio 192.0.2.0, invece dell’indirizzo web. 

Gli utenti dei servizi di posta elettronica condivisi possono trovare informazioni sul nome e sull’indirizzo del server SMTP cercando i record MX del dominio.

Un server SMTP e un SMTP relay sono la stessa cosa? 

SMTP relay è il processo di trasferimento di e-mail tra server SMTP (o MTA, se si vuole). Un relay si verifica se il mittente e il destinatario provengono da domini diversi. In pratica, tuttavia, il termine SMTP relay si riferisce spesso ai server SMTP che consentono la trasmissione. I provider di posta elettronica come Mailtrap Email Sending offrono tali server di inoltro per l’invio di posta elettronica di massa e transazionale. In questo contesto, possiamo dire che un server SMTP e un relay SMTP sono la stessa cosa.

Che cosa è un falso server SMTP? 

  • Un vero server SMTP accetta le e-mail dal client e le invia al server di posta in arrivo. 
  • Un server SMTP falso accetta e-mail dal client ed emula l’invio senza consegna effettiva. 

Perché dovrei averne uno falso? – Per testare l’invio di e-mail, ovviamente!

Ad un certo punto del tuo progetto, dovrai inviare un paio di e-mail di prova dalla tua app o dal tuo sito web. Puoi farlo utilizzando un vero server SMTP. In questo caso, dovresti armeggiare con account di posta elettronica fittizi, ovvero creare centinaia di indirizzi e-mail che scompariranno in poche ore. 

Se siamo completamente onesti, le e-mail fittizie non sono la migliore soluzione per i test. Richiedono troppe risorse, hanno capacità di test di progettazione limitate e contengono il rischio di spamming di utenti reali. È qui che entra in gioco un falso server SMTP!

Oltre all’invio di e-mail, la piattaforma Mailtrap Email Delivery comprende Email Testing, una soluzione di test basata su cloud che cattura il traffico SMTP in uscita.

Con Mailtrap Email Testing, le e-mail di prova inviate dalla tua app verranno intrappolate utilizzando un server SMTP falso e inserite in una casella di posta virtuale. Puoi essere sicuro che nessuna delle email arriverà ai tuoi utenti. A differenza delle e-mail fittizie, la Email Testing consente l’automazione QA ed elimina la maggior parte del lavoro manuale. 

Questa è un'immagine che mostra la funzione di anteprima HTML di Mailtrap Email Testing.

Inoltre, è possibile visualizzare l’anteprima delle e-mail, verificare la presenza di spam e del dominio/IP del mittente nella blacklist, ispezionare l’HTML/CSS e molto altro ancora.

Questa è un'immagine che mostra la funzione di controllo HTML di Mailtrap Email Testing.

Potresti anche considerare di configurare un server SMTP falso locale come MailHog o MailCatcher o persino un’app desktop, ad esempio FakeSMTP o DevNull SMTP. Abbiamo descritto i motivi per scegliere tra opzioni SMTP false cloud o locali nel post del blog dedicato.

Qual è la differenza tra un server SMTP e un server IMAP/POP3? 

SMTP è un protocollo di invio di e-mail, mentre IMAP4 e POP3 sono protocolli per la ricezione di e-mail. Pertanto, un server di posta in arrivo può utilizzare uno di questi protocolli per la consegna di posta elettronica. Ecco come funzionano:

IMAP workflowPOP3 workflow
Il client di e-mail si connette alserver
Il destinatario può vedere le intestazioni di tutte le e-mail sul server
Il cliente di posta elettronica scarica un’e-mail scelta su richiesta
Il client di posta elettronica si connette al server 
Il client di posta elettronica recupera le e-mail 
Il server elimina le e-mail memorizzate
Il client di posta elettronica si disconnetta dal server

La differenza principale tra questi protocolli è che i server IMAP memorizzano sempre le copie delle e-mail, mentre i server POP3 le eliminano una volta recuperate. Per ulteriori informazioni sulle differenze tra server in entrata e in uscita, consulta il nostro post sul blog IMAP vs POP3 vs SMTP.

In che modo un MTA differisce da un server SMTP? 

È pratica comune utilizzare il termine “mail transfer agent ” invece di “SMTP server”. Ma queste nozioni non sono diverse? Un MTA è un software installato sul server SMTP. Generalmente, un MTA riceve e-mail da un MUA e le inoltra a:

  • un mail delivery agent (MDA), se il mittente e il destinatario hanno lo stesso dominio, o
  • un altro MTA (server SMTP) 

In alcuni casi, ci potrebbe essere anche un mail submission agent (MSA) tra il MUA e MTA. Tuttavia, molti MTA svolgono la funzione MSA, ecco perché la menzione degli agenti di invio della posta viene spesso omessa. Gli MTA più utilizzati sono Postfix, Sendmail ed Exim.

Quindi, se chiami il server SMTP un MTA o anche un MSA, questo non sarà un errore. La differenza sta nella nomenclatura che si usa.

Elenco di controllo per la risoluzione dei problemi del server SMTP 

Diciamo che hai controllato l’invio di posta elettronica della tua app e va bene. Speriamo che la Mailtrap Email Delivery Platform ti abbia aiutato in questo :). Ma quando hai iniziato a utilizzare un vero server SMTP per l’invio di e-mail, non sono state consegnate. La seguente lista di controllo ti aiuterà a rilevare ciò che potrebbe essere sbagliato:

  • controlla la connessione Internet
  • controlla la configurazione del server SMTP (nome server, porta, nome utente, password)
  • prova diverse porte SMTP

verifica la connessione al server SMTP. Per questo, è possibile utilizzare un servizio online come MXToolbox o eseguire una sessione telnet manuale. Leggi il nostro post sul blog su come testare il server SMTP per imparare come farlo. Potrebbe anche essere necessario conoscere i comandi SMTP e i codici di risposta per la risoluzione dei problemi.

In conclusione

Questo è tutto ciò che volevamo trattare in questa guida sui server SMTP. Abbiamo coperto tutte le domande più frequenti, incluso cos’ è un server SMTP, come funziona, come si confronta con altri server SMTP e come risolvere gli errori. Abbiamo anche discusso su SMTP relay di terze parti e server SMTP falsi per il test. 

Per sfruttare i falsi server SMTP e quindi inviare e-mail tramite un SMTP basato su cloud, si consiglia di utilizzare la piattaforma di consegna e-mail Mailtrap. È una soluzione unica per tutte le tue esigenze SMTP. 

Per uno sguardo approfondito sui diversi aspetti del server SMTP, dai un’occhiata ai post del blog che abbiamo consigliato sopra. Se ci sono altri argomenti che vorresti che trattassimo, faccelo sapere su Twitter.

Article by Zakhar Yung Technical Content Writer @Mailtrap