tecnico · risposta con fonti
Server SMTP: cos'è e come funziona
Un server SMTP è un'applicazione che implementa il Simple Mail Transfer Protocol per inviare, ricevere e inoltrare i messaggi email in uscita tra i client e altri server. Funziona come un ufficio postale digitale: accetta un messaggio da un mittente e lo instrada attraverso Internet fino al server di posta del destinatario.
Funzionamento
Il processo inizia quando un Mail User Agent invia una richiesta al server SMTP. Il server usa una serie di comandi: HELO o EHLO per stabilire la connessione, MAIL FROM per identificare il mittente e RCPT TO per specificare il destinatario. Dopo il comando DATA, il server trasmette corpo e intestazioni del messaggio. Se il destinatario si trova su un altro dominio, il server interroga il DNS per il record MX, trova il server di destinazione e gli inoltra il messaggio.
Perché conta per chi invia
I server SMTP sono fondamentali perché le email vengano instradate correttamente e accettate dai sistemi riceventi. Una configurazione corretta del server, insieme a record di autenticazione come SPF e DKIM, evita che i messaggi vengano segnati come spam. Un servizio di relay SMTP dedicato permette di gestire grandi volumi di posta transazionale senza mettere a rischio la reputazione del server di posta aziendale principale.
Errori operativi comuni
Un errore frequente è usare la porta sbagliata per il tipo di connessione. La porta 25 è spesso bloccata dagli ISP per prevenire lo spam, mentre la porta 587 è lo standard per la submission. Un altro problema comune è trascurare STARTTLS o il TLS implicito, lasciando credenziali e contenuto dei messaggi esposti in chiaro. Assicurati inoltre di salvare le credenziali SMTP in variabili d'ambiente invece di scriverle nel codice sorgente dell'applicazione.
Esempio concreto di implementazione
In un ambiente Node.js, uno sviluppatore potrebbe usare una libreria come Nodemailer per connettersi a un server SMTP. Dovrà fornire l'indirizzo dell'host, ad esempio smtp.sendgrid.net, la porta 587 e un token di autenticazione sicuro. L'applicazione invia quindi l'oggetto email al server, che gestisce l'instradamento complesso e la consegna alla destinazione finale. SendHQ offre strumenti gratuiti su https://sendhq.cc/tools per gestire l'infrastruttura email.
Relay vs submission
I server SMTP operano di solito in due modalità. I server di submission accettano la posta dagli utenti finali ed eseguono l'autenticazione per verificare l'identità del mittente. I server di relay trasferiscono la posta tra diversi server SMTP sulla rete. Un server di relay che accetta posta da qualsiasi fonte senza autenticazione è detto open relay: è un grave rischio per la sicurezza e viene quasi sempre bloccato dai filtri di posta moderni.
Le domande dei team
Qual è la differenza tra SMTP e IMAP?
SMTP si usa esclusivamente per inviare o inoltrare la posta in uscita. IMAP e POP3 si usano per recuperare e gestire i messaggi di una casella su un server.
Quale porta SMTP devo usare per un invio sicuro?
La porta 587 è lo standard del settore per la submission con STARTTLS. La porta 465 si usa per il TLS implicito, mentre la porta 25 serve principalmente al relay tra server.
Perché il mio server SMTP rifiuta le mie email?
I rifiuti dipendono di solito da un'autenticazione fallita, da un indirizzo IP presente in una blacklist o dalla mancanza di record DNS come SPF e DKIM che verificano il mittente.
Posso gestire un mio server SMTP?
Sì, ma richiede una manutenzione significativa della reputazione dell'IP e della configurazione DNS, per evitare che i grandi provider lo segnalino come fonte di spam.