Blog

Porte SMTP per le email: 25 vs 465 vs 587 vs 2525

DeBounce
Articoli
47 min letto

Punti chiave

  • Le porte SMTP controllano le modalità di invio delle email dai client e dalle applicazioni ai server di posta, risultando essenziali per stabilire connessioni email sicure e affidabili.
  • La porta 587 è la porta SMTP consigliata per l'invio di email al giorno d'oggi, in quanto supporta l'autenticazione e la crittografia STARTTLS ed è ampiamente supportata dai provider di posta elettronica.
  • Una solida sicurezza SMTP dipende da diverse pratiche fondamentali: richiedere la crittografia TLS per tutte le connessioni, utilizzare l'invio di email autenticato (SMTP AUTH), mantenere aggiornati i certificati SSL/TLS, implementare standard di autenticazione come SPF, DKIM e DMARC e monitorare l'attività SMTP per rilevare tempestivamente problemi di sicurezza o configurazioni errate.
  • I problemi più comuni relativi alla porta SMTP includono timeout di connessione, errori di autenticazione, blocco della porta da parte del provider di servizi Internet o del firewall e problemi di negoziazione TLS come errori di certificato, incongruenze di protocollo o suite di cifratura non supportate.

Ogni giorno, più di 370 miliardi di email Nonostante la comunicazione avvenga attraverso Internet, in pochi pensano all'infrastruttura che rende possibile questo flusso costante di messaggi. Al centro di tutto c'è il Simple Mail Transfer Protocol (SMTP), il protocollo standard responsabile dell'invio delle email dal client o dall'applicazione del mittente a un server di posta, e da lì al server del destinatario.

Una porta SMTP è l'endpoint di rete che abilita questa connessione. Nella trasmissione della posta elettronica, la porta determina come un client o un'applicazione comunica con il server di posta e quali meccanismi di sicurezza, come crittografia e l'autenticazione vengono applicate durante il processo. Ecco perché la porta SMTP utilizzata è importante sia per la consegna che per la sicurezza. Una porta errata può causare errori di connessione, messaggi bloccati o una protezione più debole durante la trasmissione, mentre la configurazione corretta garantisce una consegna affidabile e sicura delle email.

Le porte SMTP più comunemente utilizzate oggi sono la 25, la 465, la 587 e la 2525. In questa guida, spieghiamo come funziona ciascuna di esse e come scegliere quella giusta per una consegna sicura e affidabile delle email.

Tuffiamoci dentro

Ecco una guida di riferimento concisa alle porte SMTP:
Porta 25: porta SMTP standard per il relay di posta elettronica da server a server (comunemente bloccata a causa di problemi di spam).
Porta 587: porta sicura predefinita per l'invio di e-mail (consigliata).
Porta 465: porta SMTPS legacy (da utilizzare solo se necessario).
Porta 2525: porta alternativa quando le altre porte sono bloccate.

Comprensione dei fondamenti SMTP

Che cos'è SMTP e come funziona?

Simple Mail Transfer Protocol (SMTP) è lo standard Internet per la trasmissione della posta elettronica.

Sviluppato nei primi anni '1980, il protocollo SMTP costituisce la base per il trasferimento delle e-mail attraverso le reti, dal mittente al destinatario.

Immagina le funzioni di SMTP come una staffetta:

  1. Composizione: scrivi un'e-mail nel tuo client (come Gmail, Outlook o Apple Mail)
  2. Invio: il tuo client di posta elettronica invia il messaggio a un server SMTP
  3. Relay: il server SMTP determina dove inviare il messaggio successivamente
  4. Consegna: Dopo aver potenzialmente attraversato diverse fasi Server SMTP, il messaggio arriva al server di posta del destinatario
  5. Recupero: il destinatario accede al messaggio utilizzando protocolli come POP3 o IMAP

Un'illustrazione che mostra il semplice processo di invio di un'e-mail tramite Internet (Componi > Server SMTP > Invia al server di posta del destinatario, quindi Leggi)

Per visualizzare questo processo, immagina di inviare una lettera cartacea:

  • Tu (client di posta elettronica) scrivi una lettera e la inserisci in una casella di posta (invio SMTP)
  • Il servizio postale (SMTP relay) instrada la tua lettera attraverso vari centri di smistamento
  • Alla fine, la lettera arriva all'ufficio postale locale del destinatario (server di posta in arrivo)
  • Il destinatario controlla la sua casella di posta (POP3/IMAP) e recupera la tua lettera

L'evoluzione delle porte SMTP

Quando SMTP venne standardizzato per la prima volta nel 1982, la sicurezza della posta elettronica non era una preoccupazione primaria.

Internet era una rete molto più piccola e affidabile, utilizzata principalmente da istituti accademici e di ricerca.

Pertanto, la specifica SMTP originale non prevedeva meccanismi di sicurezza integrati: le e-mail venivano trasmesse come testo normale, senza crittografia o autenticazione robusta.

Tuttavia, questa mancanza di sicurezza è diventata problematica con la crescita di Internet e con la trasformazione della posta elettronica in uno strumento di comunicazione fondamentale per aziende e privati.

Ecco alcuni dei principali problemi di sicurezza con SMTP tradizionale:

  • Trasmissione di testo normale: i messaggi potevano essere intercettati e letti
  • Nessuna crittografia: i dati sensibili erano vulnerabili
  • Autenticazione limitata: facile falsificare l'identità del mittente
  • Potenziale di inoltro aperto: i server potrebbero essere sfruttati per inviare spam

Nel corso del tempo sono state sviluppate estensioni e miglioramenti a SMTP per risolvere queste carenze:

  • SMTP AUTH: Meccanismi di autenticazione forniti
  • STARTTLS: Aggiunto supporto per la crittografia a livello di trasporto
  • SMTPS: crittografia SSL/TLS implementata durante la connessione

Cosa sono i porti e perché sono importanti?

Un'illustrazione delle icone che rappresentano le diverse porte di posta elettronica e perché dovresti usarle

Nelle reti, una porta è un punto logico finale per la comunicazione.

Si pensi alle porte come a porte di accesso specializzate a un sistema informatico, ciascuna delle quali gestisce un tipo specifico di traffico. Le porte sono identificate da numeri che vanno da 0 a 65535.

Per la comunicazione SMTP sono state designate porte specifiche:

  • Porta 25: la porta SMTP originale
  • Porta 465: inizialmente designata per SMTPS (SMTP su SSL)
  • Porta 587: la porta moderna per l'invio dei messaggi
  • Porta 2525: una porta alternativa utilizzata quando le porte standard sono bloccate

La scelta della porta influenza:

  1. Sicurezza: diverse porte offrono diversi livelli di crittografia e autenticazione
  2. Recapitabilità: gli ISP possono bloccare determinate porte per ridurre lo spam
  3. Compatibilità: non tutti i servizi di posta elettronica supportano tutte le porte
  4. Funzionalità: alcune porte sono progettate per scopi specifici nell'ecosistema della posta elettronica

Comprendere queste distinzioni è fondamentale per impostare sistemi di posta elettronica affidabili e sicuri.

Le principali porte SMTP: una prospettiva storica

Quindi, perché queste porte e perché ci sono differenze? Perché non avere una sola porta sicura specifica per la posta elettronica, utilizzata da tutti? Analizziamolo nel dettaglio.

Porta 25: lo standard originale

La porta 25 è stata stabilita come porta SMTP standard nel 1982, quando il protocollo è stato definito per la prima volta dall'Internet Engineering Task Force (IETF).

Per molti anni è stata la porta predefinita per tutto il traffico SMTP, sia per l'invio di e-mail dai client ai server sia per il relay da server a server.

L'implementazione della porta 25 ha avuto origine da una richiesta del 1982 presentata dall'Università della California del Sud all'Internet Engineering Task Force (IETF).

All'epoca, l'attenzione era rivolta alla creazione di un canale di comunicazione standardizzato per la trasmissione di posta elettronica, con una protezione di base contro gli attacchi, come l'intercettazione man-in-the-middle.

Oggi, il ruolo della Porta 25 si è notevolmente ridotto. La sua funzione primaria è ora limitata a:

  • Comunicazione server-server: gli agenti di trasferimento posta (MTA) utilizzano la porta 25 per inoltrare i messaggi tra i server di posta
  • Supporto per sistemi legacy: alcuni vecchi sistemi di posta elettronica si basano ancora sulla porta 25

Una semplice connessione telnet a un server SMTP sulla porta 25 potrebbe apparire così:

> telnet smtp.example.com 25Trying 192.0.2.1…

Connected to smtp.example.com.

Escape character is ‘^]’.

220 smtp.example.com ESMTP Postfix

> EHLO client.example.com

250-smtp.example.com

250-PIPELINING

250-SIZE 10240000

250-VRFY

250-ETRN

250-STARTTLS

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN

Notare la riga 250-STARTTLS, che indica che questo server supporta la crittografia tramite il comando STARTTLS, ma non è obbligatorio.

Tuttavia, tenendo presente questo, la porta 25 presenta diverse limitazioni di sicurezza significative:

  • Nessuna crittografia richiesta: per impostazione predefinita, le comunicazioni sulla porta 25 non sono crittografate
  • STARTTLS facoltativo: sebbene supportato, la crittografia non è obbligatoria
  • Vulnerabile all'intercettazione: le comunicazioni in testo normale possono essere facilmente lette se intercettate
  • Vettore spam: storicamente utilizzato per l'invio di e-mail spam

A causa di questi problemi, in particolare dello sfruttamento da parte degli spammer, molti provider di servizi Internet (ISP) e provider di cloud hosting ora bloccano il traffico in uscita sulla porta 25 dai propri clienti.

Questo blocco aiuta a impedire che i sistemi compromessi vengano utilizzati per distribuire spam.

Se riscontri problemi di connessione sulla porta 25, è probabile che il tuo ISP la stia bloccando. Con un semplice test, potresti vedere:

> telnet smtp.example.com 25Trying 192.0.2.1…

telnet: Unable to connect to remote host: Connection timed out

Questo blocco è così diffuso che la porta 25 non dovrebbe più essere utilizzata per l'invio di email ai client. Dovrebbe invece essere riservata esclusivamente alla comunicazione tra server.

Porta 465: porta di crittografia implicita SSL/TLS

La porta 465 ha forse la storia più contorta tra le porte SMTP.

A metà degli anni '1990, quando divenne evidente la necessità di crittografare la posta elettronica, l'Internet Assigned Numbers Authority (IANA) assegnò brevemente la porta 465 a "SMTPS", ovvero SMTP su SSL.

Tuttavia, questo incarico ebbe vita breve.

Intorno al 1997, l'IETF decise di adottare un approccio diverso per proteggere SMTP: aggiungere il comando STARTTLS al protocollo SMTP stesso, che avrebbe consentito di negoziare la crittografia sulle porte esistenti.

Di conseguenza, l'assegnazione ufficiale della porta 465 a SMTPS è stata revocata dopo appena un anno circa.

Nonostante questa deprecazione ufficiale, molti servizi di posta elettronica avevano già implementato il supporto per la porta 465, che continuava a essere ampiamente utilizzata. Ciò creò una situazione in cui la porta 465 veniva utilizzata nella pratica, nonostante non fosse più ufficialmente designata per SMTP.

Funzionalità TLS implicita

La porta 465 utilizza il cosiddetto "TLS implicito" o "SSL implicito":

  • La connessione inizia immediatamente con la negoziazione SSL/TLS
  • Nessuna parte della comunicazione avviene in testo normale
  • Se la negoziazione TLS fallisce, la connessione viene terminata
  • Tutti i comandi SMTP successivi vengono inviati tramite il canale crittografato

Questo approccio è simile al funzionamento di HTTPS sul web: la connessione sicura viene stabilita prima che vengano trasmessi i dati dell'applicazione.

Ecco un flusso di comunicazione semplificato per la porta 465:

  • Il client avvia la connessione al server sulla porta 465
  • Si verifica l'handshake SSL/TLS
  • Dopo l'handshake riuscito, inizia la comunicazione SMTP
  • Tutti i comandi e i dati SMTP sono crittografati

Oggi la porta 465 si trova in uno stato curioso:

  • Non è ufficialmente riconosciuto dall'IETF per SMTP
  • È ampiamente supportato dai provider di servizi di posta elettronica
  • È consigliato da alcuni provider di posta elettronica per i consumatori
  • Fornisce una sicurezza elevata attraverso il suo approccio TLS implicito

La porta 465 è appropriata per:

  • Sistemi legacy configurati per utilizzare SMTPS su questa porta
  • Scenari in cui è richiesta la massima protezione contro gli attacchi di downgrade
  • Situazioni in cui un provider di posta elettronica lo consiglia specificamente

L'Internet Assigned Numbers Authority ha ora riassegnato la porta 465 a un servizio diverso ("URL Rendezvous Directory for SSM"), anche se in pratica continua a essere utilizzata principalmente per SMTP sicuro.

Porta 587: la porta di invio moderna

Nel 1998, la RFC 2476 (successivamente sostituita dalla RFC 6409) introdusse il concetto di una porta dedicata per l'invio dei messaggi, separata dalla porta di inoltro SMTP. Questa separazione rispondeva alla crescente necessità di distinguere tra due diverse tipologie di traffico SMTP:

  • Invio di messaggi: client di posta elettronica che inviano messaggi al proprio server di posta
  • Relay di messaggi: server di posta che trasferiscono messaggi ad altri server di posta

La porta 587 è stata designata per questo ruolo di invio dei messaggi, creando una netta distinzione dalla funzione di relay della porta 25. Questa separazione ha consentito di applicare policy e requisiti di sicurezza diversi a ciascun tipo di traffico.

Funzionalità STARTTLS

La porta 587 utilizza "TLS esplicito" tramite il comando STARTTLS. Ecco come funziona:

  1. Il client si connette al server sulla porta 587
  2. Il server si identifica ed elenca le estensioni supportate
  3. Il client emette il comando STARTTLS
  4. Il server risponde e inizia la negoziazione TLS
  5. Dopo la negoziazione riuscita, la sessione SMTP viene crittografata
  6. Il client in genere si autentica tramite SMTP AUTH
  7. L'invio dell'e-mail avviene all'interno del canale crittografato

Una tipica sessione SMTP che utilizza la porta 587 con STARTTLS potrebbe apparire così:

> telnet smtp.example.com 587Trying 192.0.2.1…

Connected to smtp.example.com.

Escape character is ‘^]’.

220 smtp.example.com ESMTP Postfix

> EHLO client.example.com

250-smtp.example.com

250-PIPELINING

250-SIZE 10240000

250-VRFY

250-ETRN

250-STARTTLS

250-AUTH PLAIN LOGIN

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN

> STARTTLS

220 2.0.0 Ready to start TLS

… (TLS negotiation occurs) …

> EHLO client.example.com

250-smtp.example.com

250-PIPELINING

250-SIZE 10240000

250-VRFY

250-ETRN

250-AUTH PLAIN LOGIN

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN

> AUTH LOGIN

334 VXNlcm5hbWU6

dXNlcm5hbWU=

334 UGFzc3dvcmQ6

cGFzc3dvcmQ=

235 2.7.0 Authentication successful

Si noti come la comunicazione SMTP inizi in testo normale ma passi alla crittografia TLS dopo l'emissione del comando STARTTLS.

Nella maggior parte dei casi, la porta scelta sarà la 587.

È emerso come lo standard consigliato per l'invio di e-mail per diverse valide ragioni:

  • Standard ufficiale: è riconosciuto dall'IETF come la porta corretta per l'invio dei messaggi
  • Ampio supporto: la maggior parte dei provider di posta elettronica moderni supporta la porta 587
  • Compatibilità ISP: è meno probabile che venga bloccata dagli ISP rispetto alla porta 25
  • Sicurezza con flessibilità: supporta una crittografia avanzata mantenendo la compatibilità con le versioni precedenti
  • Autenticazione richiesta: in genere applica SMTP AUTH, riducendo lo spam

Per la stragrande maggioranza degli utenti e delle organizzazioni che configurano nuovi sistemi di posta elettronica, la porta 587 dovrebbe essere la scelta predefinita per l'invio dei messaggi.

Porta 2525: l'opzione alternativa

La porta 2525 non è una porta SMTP ufficialmente designata né da IANA né da IETF. È invece emersa come alternativa pratica quando le porte standard (25, 465 e 587) sono bloccate dagli ISP o dalle reti aziendali.

Dal punto di vista funzionale, la porta 2525 in genere funziona in modo identico alla porta 587:

  • Supporta STARTTLS per la crittografia
  • Richiede l'autenticazione tramite SMTP AUTH
  • Viene utilizzato per l'invio di messaggi, non per il relay

La differenza principale è semplicemente il numero di porta stesso, che aiuta a bypassare le restrizioni di rete.

La porta 2525 dovrebbe essere presa in considerazione in questi scenari:

  • Quando ci si connette da reti che bloccano le porte 25, 465 e 587
  • In ambienti aziendali con rigide politiche di firewall
  • Quando si utilizzano provider cloud che limitano le porte di posta elettronica standard
  • Se riscontri costantemente problemi di connessione con le porte standard

Molti provider di servizi di posta elettronica, tra cui Mailgun, SendGrid e altri, supportano la porta 2525 specificatamente per offrire questa opzione di fallback ai propri clienti.

Come scegliere la porta SMTP corretta dal punto di vista della sicurezza

Un'illustrazione di uno sviluppatore che pensa a quale porta di posta elettronica utilizzare nel proprio progetto

Parliamo di sicurezza perché, dal punto di vista di uno sviluppatore, questa è una delle considerazioni più importanti. Ci sono diverse opzioni.

STARTTLS (TLS esplicito)

STARTTLS, utilizzato principalmente sulle porte 25 e 587, fornisce una "crittografia opportunistica" attraverso questi passaggi:

  • La connessione inizia non crittografata
  • Il client emette il comando STARTTLS
  • Se il server lo supporta, la crittografia viene negoziata
  • La comunicazione continua crittografata

vantaggi:

  • Compatibilità con le versioni precedenti dei server non TLS
  • Funziona con porti e infrastrutture esistenti

svantaggi:

  • La comunicazione iniziale non è crittografata
  • Vulnerabile agli attacchi di downgrade in cui un aggressore impedisce il comando STARTTLS
  • Non tutti i server richiedono TLS, consentendo il fallback in testo normale

TLS implicito

Il TLS implicito, utilizzato sulla porta 465, adotta un approccio diverso:

  • La connessione inizia immediatamente con la negoziazione TLS
  • Se la negoziazione TLS fallisce, la connessione viene terminata
  • Non si verifica mai alcuna comunicazione non crittografata

vantaggi:

  • Nessuna comunicazione in testo normale in nessun momento
  • Impossibile effettuare il downgrade alla connessione non crittografata
  • Maggiore protezione contro gli attacchi man-in-the-middle

svantaggi:

  • Non retrocompatibile con i server che non supportano TLS
  • Non è l'approccio standard ufficiale dell'IETF

Requisiti di autenticazione

L'autenticazione è un componente di sicurezza fondamentale che verifica l'identità del client mittente. I requisiti di autenticazione variano in base alla porta:

Porta 25:

  • L'autenticazione è spesso facoltativa
  • Spesso consente il relay non autenticato tra i server
  • Potrebbe consentire l'invio di messaggi anonimi su alcuni server

Porta 465:

  • Autenticazione in genere richiesta
  • Solitamente applicato dopo aver stabilito la crittografia TLS
  • Raramente consente l'invio di messaggi anonimi

Porta 587:

  • Autenticazione richiesta dallo standard
  • Applicato dopo la crittografia STARTTLS
  • Progettato specificamente per l'invio autenticato

Porta 2525:

  • I requisiti di autenticazione corrispondono alla porta 587
  • Richiede l'autenticazione per l'invio del messaggio

Vale la pena notare che i moderni server di posta elettronica dovrebbero sempre richiedere l'autenticazione per l'invio dei messaggi, indipendentemente dalla porta, per prevenire abusi.

Caratteristica Port 25 Port 465 Port 587 Port 2525
Uso primario Relay server-to-server Invio sicuro dei messaggi Invio del messaggio Presentazione alternativa
Tipo di crittografia STARTTLS facoltativo TLS implicito STARTTLS STARTTLS
Connessione iniziale in chiaro Encrypted in chiaro in chiaro
Rischio di attacco di downgrade Alto Basso Medio Medio
Autenticazione Opzionale Obbligatorio Obbligatorio Obbligatorio
Probabilità di blocco ISP Alto Medio Basso Basso
Standard IETF Sì (per il relè) Non Sì (per la presentazione) Non
Consigliato per Solo server-to-server Sistemi legacy Clienti moderni Quando gli altri sono bloccati

Best Practice per la massima sicurezza della posta elettronica

Per garantire il massimo livello di sicurezza della posta elettronica durante la configurazione di SMTP:

  1. Utilizzare sempre la crittografia:
  • Configura i tuoi server in modo che richiedano TLS per tutte le connessioni
  • Disabilita l'autenticazione in testo normale
  • Utilizzare versioni TLS potenti (TLS 1.2 o superiore)
  1. Implementa l'autenticazione forte:
  • Richiedi SMTP AUTH per tutti gli invii di messaggi
  • Utilizzare un archivio password sicuro (hashing con salt)
  • Valutare l'implementazione dell'autenticazione a due fattori per gli account di posta elettronica
  1. Rimani aggiornato con i certificati:
  • Utilizzare certificati firmati da CA attendibili
  • Rinnovare regolarmente i certificati SSL/TLS
  • Monitorare le vulnerabilità dei certificati
  1. Configurare le intestazioni e le policy appropriate:
  • Implementare SPF, DKIM e DMARC per l'autenticazione
  • Imposta le intestazioni HSTS appropriate
  • Configurare i server di posta per rifiutare le connessioni non crittografate
  1. Monitorare e verificare:
  • Registra tutte le transazioni SMTP
  • Esaminare regolarmente i registri per individuare attività sospette
  • Testare periodicamente la configurazione della sicurezza della posta elettronica

Come implementare le porte SMTP

Illustrazione di uno sviluppatore che riflette sul modo migliore per impostare le porte SMTP per l'invio delle email.

Ora, scegli le porte più adatte al tuo progetto. Possiamo suddividerle in base al caso d'uso, così potrai trovare la soluzione più adatta.

Per singoli utenti e client di posta elettronica

Se stai configurando un client di posta elettronica come Outlook, Apple Mail o Thunderbird:

  1. Prima scelta: Porta 587 con STARTTLS
  • Ampiamente supportato e con meno probabilità di essere bloccato
  • Esempio di configurazione per Gmail in Outlook:
  • Server di posta in uscita: smtp.gmail.com
  • Porto: 587
  • Crittografia: STARTTLS
  • Autenticazione: Sì, con nome utente e password
  1. Seconda scelta: Porta 465 con SSL/TLS
  • Se il tuo fornitore lo consiglia espressamente
  • Esempio di configurazione per Yahoo Mail:
  • Server di posta in uscita: smtp.mail.yahoo.com
  • Porto: 465
  • Crittografia: SSL/TLS
  • Autenticazione: Sì, con nome utente e password
  1. Ultima risorsa: porta 2525 con STARTTLS
  • Solo se le porte 587 e 465 sono bloccate
  • Non tutti i provider supportano questa porta, quindi controlla la documentazione

Per applicazioni aziendali e mittenti ad alto volume

Per le applicazioni che inviano e-mail transazionali o di marketing:

Consigliato: Porta 587

  • Il miglior equilibrio tra recapito e sicurezza
  • Supportato da tutti i principali provider di servizi di posta elettronica
  • Esempio di un'applicazione Node.js che utilizza Nodemailer:

const nodemailer = require(‘nodemailer’);let transporter = nodemailer.createTransport({

host: ‘smtp.example.com’,

port: 587,

secure: false, // true for 465, false for other ports

auth: {

user: ‘username’,

pass: ‘password’

},

tls: {

// do not fail on invalid certs

rejectUnauthorized: false

}

});

Alternativa: Porta 465

  • Per i fornitori che lo consigliano espressamente
  • Esempio in PHP utilizzando PHPMailer:

<?php
use PHPMailerPHPMailerPHPMailer;

require ‘vendor/autoload.php’;

$mail = new PHPMailer;

$mail->isSMTP();

$mail->Host = ‘smtp.example.com’;

$mail->SMTPAuth = true;

$mail->Username = ‘username’;

$mail->Password = ‘password’;

$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // SSL encryption

$mail->Port = 465;

?>

Opzione di backup: Porta 2525

  • Quando si distribuisce su piattaforme che bloccano le porte standard
  • Esempio in Python usando smtplib:

import smtplibimport ssl

from email.message import EmailMessage

msg = EmailMessage()

msg.set_content(“This is a test email.”)

msg[‘Subject’] = ‘Test Email’

msg[‘From’] = ‘[email protected]

msg[‘To’] = ‘[email protected]

context = ssl.create_default_context()

with smtplib.SMTP(‘smtp.example.com’, 2525) as server:

server.starttls(context=context)

server.login(‘username’, ‘password’)

server.send_message(msg)

Per la comunicazione server-server

Per la configurazione del server di posta che gestisce il traffico relay:

Standard: Porta 25

  • Utilizzato per la comunicazione MTA-MTA
  • Dovrebbe essere configurato con STARTTLS quando possibile
  • Esempio di configurazione di Postfix in /etc/postfix/main.cf:

# Outgoing relay settingsrelayhost = [mail.example.com]:25

smtp_tls_security_level = may

smtp_tls_note_starttls_offer = yes

Alternativa se la porta 25 è bloccata: configurazione personalizzata

  • Alcuni provider consentono il relay su porte alternative
  • Esempio:

# Using alternative port for relayrelayhost = [mail.example.com]:587

smtp_tls_security_level = encrypt

smtp_sasl_auth_enable = yes

smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

smtp_sasl_security_options = noanonymous

Esempi di configurazione per server di posta elettronica comuni

Configurazione Postfix (Linux)

Per configurare Postfix per proteggere l'invio SMTP sulla porta 587:

  1. Modifica /etc/postfix/master.cf:

# SMTP submission on port 587submission inet n – y – – smtpd

-o syslog_name=postfix/submission

-o smtpd_tls_security_level=encrypt

-o smtpd_sasl_auth_enable=yes

-o smtpd_tls_auth_only=yes

-o smtpd_client_restrictions=permit_sasl_authenticated,reject

-o milter_macro_daemon_name=ORIGINATING

  1. Modificare /etc/postfix/main.cf per configurare TLS:

# TLS parameterssmtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

smtpd_tls_security_level=may

smtpd_tls_protocols = !SSLv2, !SSLv3

smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3

  1. Riavvia Postfix:
sudo systemctl restart postfix

Microsoft Exchange Server

Per configurare Exchange Server per l'invio SMTP sicuro:

  1. Aprire l'Exchange Admin Center
  2. Vai a Flusso di posta > Connettori di ricezione
  3. Crea o modifica un connettore per l'invio del client
  4. Configurare il connettore per:
  • Ascolta sulla porta 587
  • Richiede crittografia TLS
  • Richiedi autenticazione
  • Imposta gruppi di autorizzazioni appropriati (in genere "Utenti di Exchange")

Test di connettività delle porte e risoluzione dei problemi

Per testare la connettività a un server SMTP su una porta specifica, è possibile utilizzare semplici strumenti da riga di comando:

Using Telnet:# Testing port 587

telnet smtp.example.com 587

# You should see something like:

Trying 192.0.2.1…

Connected to smtp.example.com.

Escape character is ‘^]’.

220 smtp.example.com ESMTP ready

Using OpenSSL for TLS testing:

# Testing STARTTLS on port 587

openssl s_client -starttls smtp -crlf -connect smtp.example.com:587

# Testing implicit TLS on port 465

openssl s_client -connect smtp.example.com:465

Using a dedicated SMTP testing tool like swaks:

# Basic SMTP test with authentication

swaks –server smtp.example.com –port 587 –tls –auth-user username –auth-password password –to [email protected] –from [email protected]

Problemi comuni relativi alla porta SMTP e relative soluzioni

Timeout di connessione e fallimenti di autenticazione

Problema: timeout di connessione

sintomi:

  • Impossibile stabilire una connessione al server SMTP
  • Il client segnala errori di "connessione scaduta"
  • L'invio delle e-mail sembra bloccarsi indefinitamente

Cause possibili:

  1. ISP o rete che blocca la porta
  2. Restrizioni del firewall
  3. Il server è inattivo o irraggiungibile
  4. Indirizzo del server errato

Soluzioni:

  1. Prova una porta alternativa (587, 465 o 2525)
  2. Controllare le impostazioni del firewall e le policy di rete
  3. Verifica che l'indirizzo del server sia corretto
  4. Eseguire il test su una rete diversa per isolare i problemi di blocco dell'ISP
  5. Aumenta le impostazioni di timeout della connessione nel tuo client di posta elettronica

Problema: errori di autenticazione

sintomi:

  • Connessione stabilita ma autenticazione fallita
  • Messaggi di errore come "535 Autenticazione fallita" o "Nome utente/password non validi"
  • Impossibile inviare la posta nonostante la connessione sia riuscita

Cause possibili:

  1. nome utente o password errati
  2. Mancata corrispondenza del metodo di autenticazione
  3. Restrizioni dell'account o policy di sicurezza
  4. Requisiti TLS/SSL non soddisfatti prima dell'autenticazione

Soluzioni:

  1. Verificare che le credenziali siano corrette e aggiornate
  2. Controlla quali metodi di autenticazione supporta il server (PLAIN, LOGIN, CRAM-MD5)
  3. Assicurarsi che la crittografia sia configurata correttamente prima dell'autenticazione
  4. Per gli account Google e Microsoft, potrebbe essere necessaria una password specifica per l'app o per abilitare app meno sicure
  5. Verificare le restrizioni dell'account o le limitazioni IP

Blocco delle porte da parte di ISP e reti

Il blocco delle porte è sempre più comune, soprattutto per la porta 25:

Identificazione del blocco delle porte

Segnali che indicano un blocco delle porte:

  • Si verificano costantemente timeout di connessione
  • Altri servizi Internet funzionano normalmente
  • Il problema persiste su diversi client di posta elettronica
  • I problemi si verificano su una rete ma non su altre

Test per il blocco delle porte:

# Use telnet to test connectivitytelnet smtp.example.com 25

# If blocked, you’ll see no response or a timeout

# If open, you’ll see the server’s greeting banner

Soluzioni per il blocco delle porte

  1. Passare a una porta alternativa:
  • Prova la porta 587 per l'invio del messaggio
  • Se fallisce, prova la porta 465
  • Come ultima risorsa, prova la porta 2525
  1. Utilizzare una VPN o una rete diversa:
  • Le reti mobili potrebbero avere politiche diverse rispetto agli ISP domestici
  • Le reti aziendali possono essere instradate tramite uno smart host
  1. Contatta il tuo ISP:
  • Alcuni ISP sbloccheranno la porta 25 per i clienti aziendali
  • Sii pronto a spiegare la tua legittima necessità
  1. Utilizzare uno smart host o un relay:
  • Configura il tuo server di posta per inoltrare tramite il server SMTP del tuo ISP
  • Utilizzare un servizio di consegna e-mail di terze parti

Problemi di negoziazione TLS

I problemi TLS possono essere sottili e difficili da risolvere:

Problemi comuni di TLS

  1. Errori di convalida del certificato:
  • Il certificato del server è scaduto
  • Il certificato non proviene da un'autorità attendibile
  • Il nome host del certificato non corrisponde al nome del server
  • Il client e il server non riescono a concordare sulle suite di cifratura
  1. Discordanze nella versione del protocollo:
  • Il client utilizza una versione TLS più recente di quella supportata dal server
  • Il server richiede una versione TLS più recente di quella supportata dal client
  • Implementazioni TLS obsolete con vulnerabilità

Diagnosi dei problemi TLS

Utilizzare OpenSSL per ispezionare l'handshake TLS:

# For port 587 with STARTTLSopenssl s_client -starttls smtp -connect smtp.example.com:587 -tls1_2

# For port 465 with implicit TLS

openssl s_client -connect smtp.example.com:465 -tls1_2

# Look for these in the output:

# – Certificate information and expiration

# – Certificate chain validation

# – TLS version and cipher used

Risoluzione dei problemi TLS

  1. Soluzioni lato server:
  • Aggiorna i certificati SSL/TLS
  • Configurare le catene di certificati appropriate
  • Supporta le versioni moderne di TLS (1.2, 1.3)
  • Disabilitare le suite di cifratura non sicure
  1. Soluzioni lato client:
  • Aggiorna il client di posta elettronica o le librerie per supportare il moderno TLS
  • Configurare il client in modo che si fidi dell'autorità di certificazione del server
  • Se necessario, regolare le impostazioni di sicurezza TLS
  1. Soluzioni temporanee (da usare con cautela):
  • Disabilita la convalida del certificato solo per i test
  • Prova diverse versioni di TLS per isolare i problemi di compatibilità

Oltre SMTP: protocolli di posta elettronica correlati

Qualcuno è seduto davanti a un computer con delle frecce che puntano alle icone SMTP, IMAP e POP3

SMTP non è l'unico sistema correlato alla posta elettronica, ed è importante comprendere il resto del sistema per poter creare sistemi che funzionino in modo efficace, sostenibile ed efficiente. Ecco una guida rapida ad alcuni degli altri fattori che è necessario conoscere.

Mentre SMTP gestisce l'invio di e-mail, la ricezione di e-mail richiede protocolli diversi:

POP3 (Post Office Protocol versione 3)

POP3 è uno dei protocolli di recupero della posta elettronica più vecchi:

  • Funzione: scarica i messaggi dal server al client
  • Porte predefinite: 110 (non crittografata) e 995 (SSL/TLS)
  • Comportamento: in genere rimuove i messaggi dal server dopo il download
  • Ideale per: accesso a un singolo dispositivo con spazio di archiviazione limitato sul server

Una semplice sessione POP3 potrebbe apparire così:

> telnet mail.example.com 110+OK POP3 server ready

> USER username

+OK

> PASS password

+OK Logged in

> LIST

+OK 2 messages

1 1425

2 32360

> RETR 1

+OK 1425 octets

(… message content …)

> QUIT

+OK Logging out

IMAP (protocollo di accesso ai messaggi Internet)

IMAP è un protocollo più sofisticato per l'accesso alle caselle di posta:

  • Funzione: sincronizza i messaggi tra server e client
  • Porte predefinite: 143 (non crittografata) e 993 (SSL/TLS)
  • Comportamento: mantiene i messaggi sul server, consentendo l'accesso a più dispositivi
  • Ideale per: più dispositivi che accedono alla stessa casella di posta

Una sessione IMAP potrebbe iniziare:

> telnet mail.example.com 143* OK IMAP4rev1 Server Ready

> A001 LOGIN username password

* OK Logged in

> A002 SELECT INBOX

* 18 EXISTS

* 2 RECENT

* OK [UNSEEN 17] Message 17 is first unseen

* OK [UIDVALIDITY 1428913542] UIDs valid

* FLAGS (Answered Flagged Deleted Seen Draft)

* OK [PERMANENTFLAGS (Answered Flagged Deleted Seen Draft *)] Limited

A002 OK [READ-WRITE] SELECT completed

Come questi protocolli interagiscono con SMTP

Il percorso end-to-end della posta elettronica prevede l'interazione di più protocolli:

  1. Composizione e invio (SMTP):
  • L'utente scrive un'e-mail
  • Il client di posta elettronica invia tramite SMTP al server di invio
  • Il messaggio viene inoltrato tramite SMTP al server di posta del destinatario
  1. Archiviazione e recupero (POP3/IMAP):
  • Il server del destinatario memorizza il messaggio in arrivo
  • Il destinatario si connette tramite POP3 o IMAP per accedere alla propria casella di posta
  • I messaggi vengono scaricati (POP3) o sincronizzati (IMAP)
  1. Risposta (di nuovo SMTP):
  • Il destinatario risponde al messaggio
  • Il loro cliente invia la risposta tramite SMTP
  • Il ciclo continua

Configurazioni delle porte per un sistema di posta elettronica completo

Una configurazione completa del server di posta elettronica richiede più porte:

Servizio Protocollo Porta non crittografata Porta crittografata Metodo di crittografia
Invio di posta SMTP (inoltro) 25 25 STARTTLS
Invio di posta SMTP 587 587 STARTTLS
Invio sicuro SMTPS N/A 465 TLS implicito
Recupero della posta POP3 110 995 TLS implicito
Accesso alla posta IMAP 143 993 TLS implicito

Per configurare un server di posta elettronica completo è necessario configurare tutte queste porte in modo appropriato, sia per la funzionalità di invio che di ricezione.

Concludendo

Dopo aver esplorato le complessità delle porte SMTP, emergono alcune linee guida chiare:

  1. La porta 587 rimane lo standard consigliato per l'invio di e-mail:
  • Fornisce una trasmissione sicura tramite STARTTLS
  • È ampiamente supportato e meno frequentemente bloccato
  • Segue gli standard IETF stabiliti
  1. La porta 25 dovrebbe essere riservata esclusivamente alla comunicazione tra server:
  • È spesso bloccato per le connessioni client
  • Manca la sicurezza obbligatoria in molte implementazioni
  • È la porta standard per il trasferimento della posta tra server
  1. La porta 465 funge da alternativa per l'invio sicuro:
  • Offre TLS implicito che impedisce gli attacchi di downgrade
  • Potrebbe essere necessario per i sistemi legacy
  • Fornisce una buona sicurezza ma non è lo standard IETF
  1. La porta 2525 funziona come opzione di fallback:
  • Bypassa i blocchi delle porte comuni
  • Non è standardizzato ma è ampiamente supportato
  • Dovrebbe essere utilizzato solo quando le porte standard non sono disponibili

Per i diversi utenti di posta elettronica, le porte che consigliamo sono:

Per gli utenti individuali:

  • Configurare i client di posta elettronica per utilizzare la porta 587 con STARTTLS
  • Assicurarsi che sia abilitata l'autenticazione corretta
  • Utilizzare la porta 465 solo se specificamente consigliato dal tuo provider di posta elettronica

Per gli amministratori di posta elettronica aziendale:

  • Configurare i server di posta per accettare invii sulla porta 587
  • Richiede crittografia e autenticazione TLS
  • Utilizzare la porta 25 solo per il relay server-to-server con TLS abilitato
  • Mantenere aggiornate tutte le misure di sicurezza e i certificati

Per gli sviluppatori che integrano la funzionalità di posta elettronica:

  • Implementa la porta 587 come porta SMTP predefinita
  • Includere opzioni di fallback su altre porte (465, 2525)
  • Utilizzare sempre l'autenticazione e la crittografia
  • Rimani aggiornato sulle migliori pratiche di sicurezza

Per i provider di servizi di posta elettronica:

  • Supporta entrambe le porte 587 e 465 per la massima compatibilità
  • Offrire la porta 2525 come opzione di fallback
  • Implementare una sicurezza avanzata su tutte le porte
  • Rimani al passo con gli standard emergenti e le pratiche di sicurezza

Seguendo queste best practice e restando informato, puoi garantire che la tua infrastruttura di posta elettronica rimanga sicura e affidabile, recapitando correttamente i messaggi e proteggendo al contempo le informazioni sensibili da intercettazioni o compromissioni.

La posta elettronica rimane uno degli strumenti di comunicazione più importanti e comprendere le sfumature delle porte SMTP è essenziale per chiunque gestisca sistemi di posta elettronica.

I protocolli e le porte che abbiamo esplorato rappresentano decenni di evoluzione degli standard Internet, adattandosi alle crescenti minacce alla sicurezza e mantenendo al contempo l'interoperabilità che rende la posta elettronica così universale.

Domande frequenti

Risposte alle domande più frequenti su questo argomento.
01

È possibile che un software antivirus blocchi le porte SMTP?

Sì. Alcuni antivirus e strumenti di sicurezza includono funzionalità firewall o di scansione della posta elettronica che possono bloccare o limitare le porte SMTP, in particolare le porte 25, 465 o 587. Se l'invio dell'e-mail non riesce, controlla le regole del firewall del tuo antivirus o disattiva temporaneamente la scansione della posta elettronica per vedere se risolve il problema.

02

Le porte SMTP sono diverse per Gmail, Outlook o altri provider?

I numeri di porta sono standard, ma i provider potrebbero raccomandare configurazioni diverse. La maggior parte dei servizi, inclusi Gmail e Outlook, supporta la porta 587 per l'invio sicuro delle email, mentre la porta 465 potrebbe essere disponibile anche per le connessioni SSL/TLS. Verifica sempre le impostazioni SMTP del provider per confermare l'indirizzo del server e il metodo di sicurezza corretti.