Quando un'applicazione deve inviare email, emergono quattro porte: 25, 465, 587 e 2525. Due di queste sono standard di submission, la 587 e la 465, e il consiglio più spesso ripetuto sulla 465 è superato dal 2018. La porta 25 non è affatto pensata per la submission, e la 2525 è una convenzione senza alcuno standard alle spalle.
La risposta breve: usa la 587 con STARTTLS. Usa la 465 se il tuo client preferisce aprire direttamente una connessione TLS. Usa la 2525 se qualcosa nella tua rete blocca la 587. Non usare la 25 per inviare email da un'applicazione.
Cosa fa effettivamente ogni porta?
Le porte si distinguono su due assi: se sono pensate per la submission o per il relay, e quando inizia la cifratura nella connessione.
- 25 è la porta di relay. È il modo in cui un mail server consegna un messaggio a un altro. Precede la submission autenticata e non presuppone nessuna delle due.
- 587 è la porta di submission, definita a questo scopo dalla RFC 6409. La connessione si apre in chiaro e passa a TLS con il comando
STARTTLSprima dell'invio delle credenziali. - 465 è la porta di submission con TLS implicito. L'handshake TLS avviene per primo e l'intero dialogo SMTP si svolge al suo interno, quindi nulla viene mai inviato in chiaro. Le librerie di solito lo indicano come "SSL/TLS" o "SMTPS".
- 2525 non ha alcuno standard che la assegni a SMTP. I provider la offrono come alternativa alla 587 per le reti che bloccano la porta standard.
La differenza tra 465 e 587 riguarda quando TLS inizia, non quanto è robusto. Sulla 465 la connessione è cifrata dal primo byte. Sulla 587 diventa cifrata un round trip dopo, e un server configurato correttamente rifiuta AUTH finché la cifratura non è attiva.
La porta 465 è deprecata?
No, e questo è il singolo consiglio obsoleto su SMTP più diffuso.
La storia è realmente confusa. La porta 465 è stata assegnata per SMTP su TLS agli inizi, poi ritirata a favore dell'approccio STARTTLS sulla 587, ed è da lì che viene il consiglio "465 is deprecated". Quel consiglio è stato corretto per un periodo. Poi la RFC 8314, pubblicata a gennaio 2018, ha raccomandato TLS implicito per la submission della posta e ha ristabilito la 465 come porta dedicata, con il nome di servizio submissions.
Quindi una pagina che ti dice che la 465 è obsoleta descrive la situazione precedente al 2018. Sia la 465 sia la 587 sono attuali. Scegli quella che il tuo client supporta meglio, e preferisci la 465 se preferisci non dipendere da un upgrade da testo in chiaro a TLS.
Perché la porta 25 è bloccata e come verifico?
La porta 25 in uscita è bloccata da molti ISP consumer e da provider cloud e di hosting, perché una porta di relay non autenticata su una macchina compromessa è il modo in cui viene inviato spam in massa. La possibilità di rimuovere il blocco dipende da chi lo ha impostato. Un ISP consumer generalmente non lo rimuove per una linea residenziale, mentre i provider cloud variano: alcuni accettano una richiesta di rimozione, e almeno uno non prevede alcuna eccezione. Verifica la policy pubblicata dal tuo provider piuttosto che dare per scontato l'uno o l'altro caso.
Puoi confermare un blocco aprendo una connessione verso un mail server noto sulla porta 25 e verificando se ricevi un saluto 220 o un timeout. Una sessione manuale è il modo più chiaro per vederlo, e verificare una connessione SMTP con una sessione telnet ne mostra una passo per passo.
Se la porta 25 è bloccata, non è quello il problema da risolvere. Un'applicazione dovrebbe comunque effettuare la submission sulla 587 o sulla 465.
Qual è la differenza tra submission e relay?
La submission è un client di posta o un'applicazione che consegna un nuovo messaggio a un server verso cui si è autenticato. Il relay è un server che inoltra un messaggio esistente verso la sua destinazione.
La differenza determina quale porta e quali regole si applicano. La submission richiede autenticazione, consente al server di correggere e firmare il messaggio in uscita, e avviene sulla 587 o sulla 465. Il relay avviene sulla 25, tra server, ed è ciò che i sistemi antispam e di reputazione del destinatario valutano.
Un'applicazione che invia la propria posta sta sempre facendo submission. Se stai configurando qualcosa e stai per usare la porta 25, la configurazione sta descrivendo la metà sbagliata del sistema.
Quali porte accetta Bird?
Tre, e la porta 25 non è volutamente tra queste:
| Porta | Cifratura |
|---|---|
| 465 | TLS implicito (SMTPS) |
| 587 | STARTTLS |
| 2525 | STARTTLS |
Sulla 587 e sulla 2525, AUTH viene rifiutato finché STARTTLS non è stato eseguito, quindi le credenziali non viaggiano mai in chiaro su nessuna delle tre. La porta 25 non è offerta per la submission.
L'host dipende dalla regione della tua chiave, che è il prefisso nella chiave stessa: una chiave bk_eu1_... invia tramite eu1.smtp.bird.com, una chiave bk_us1_... tramite us1.smtp.bird.com. L'autenticazione usa la tua normale chiave API anziché una credenziale SMTP separata: il nome utente è la stringa letterale bird e la password è la chiave.
La posta inviata tramite SMTP viene trattata esattamente come la posta inviata attraverso l'email API, con la stessa verifica del dominio, firma DKIM, gestione delle soppressioni, tracking ed eventi. Inviare email tramite SMTP contiene il riferimento completo alla connessione, due sessioni annotate, una sulla 465 e una condivisa tra 587 e 2525, e i valori predefiniti per chiave che definiscono un invio.
Come trovo la porta usata dal mio client?
Dove cercare dipende dal software, ma lo schema è sempre lo stesso:
- Framework applicativi: la porta si trova nella configurazione della posta, di solito accanto all'host, come impostazione
portoMAIL_PORT. - Content-management system: la espongono nella pagina delle impostazioni di un plugin SMTP, accanto a un menu a tendina per la cifratura. Quel menu è l'impostazione che più spesso viene sbagliata: "SSL/TLS" corrisponde alla 465 e "STARTTLS" alla 587 o alla 2525, e un abbinamento errato produce una connessione che si blocca o viene rifiutata anziché un errore utile.
- Dispositivi come stampanti e scanner la riportano in una schermata di notifiche o scan-to-email.
Se la posta non funziona e sospetti che sia la porta, testa la connessione direttamente prima di modificare il codice dell'applicazione. Una sessione manuale ti dice se la porta è raggiungibile, se TLS viene negoziato e se l'autenticazione è accettata, il che separa un blocco di rete da un problema di credenziali.
In breve
Usa la 587 con STARTTLS, a meno che tu non abbia un motivo per non farlo.
È la porta di submission definita dalla RFC 6409, e ogni client e libreria di uso comune la supporta.
La porta 465 non è deprecata.
È stata ritirata per SMTP su TLS una volta, poi la RFC 8314 l'ha ripristinata nel 2018 come porta di submission raccomandata con TLS implicito. I consigli che la dichiarano obsoleta sono precedenti.
La porta 25 è per il relay server-to-server.
I provider di hosting e gli ISP consumer bloccano la porta 25 in uscita per limitare lo spam, e non è la porta su cui un'applicazione dovrebbe effettuare la submission.
La porta 2525 è un fallback senza alcuno standard alle spalle.
Nessuna RFC la assegna a SMTP. I provider la offrono perché alcune reti bloccano la 587, e per il resto si comporta come la 587.
