Come controllare una connessione SMTP con una sessione Telnet manuale

Uccello

7 feb 2020

Email

1 min read

Come controllare una connessione SMTP con una sessione Telnet manuale

Punti Chiave

    • Il test manuale di telnet è un modo rapido e a bassa tecnologia per diagnosticare problemi di connettività e configurazione SMTP.

    • Usalo per verificare se un server SMTP è raggiungibile, configurato correttamente e in grado di accettare connessioni.

    • Il test può rivelare porte bloccate, restrizioni di relay, errori DNS o problemi di compatibilità TLS.

    • I comandi SMTP essenziali includono EHLO/HELO, MAIL FROM, RCPT TO, DATA e QUIT.

    • La porta 25 è standard per il relay, mentre 465 e 587 sono utilizzate per la sottomissione sicura.

    • L'autenticazione codificata in Base64 (AUTH LOGIN) è richiesta quando i server richiedono credenziali di accesso.

    • Strumenti come Swaks o piattaforme di test email integrate possono automatizzare ed espandere i passaggi diagnostici di telnet.

Punti salienti del Q&A

  • Perché utilizzare telnet invece di uno strumento dedicato per il test delle email?

    Telnet ti offre visibilità diretta nel dialogo SMTP grezzo. È inestimabile per la risoluzione dei problemi a livello di protocollo e per confermare le risposte del server senza strati di terze parti.

  • Qual è il modo più veloce per capire se la mia porta SMTP è bloccata?

    Esegui telnet mail.example.com 25. Se ricevi “Connessione rifiutata”, è probabile che il tuo ISP o host stia bloccando la porta.

  • Devo autenticarmi quando testo con telnet?

    Solo se il server di posta richiede autenticazione. Usa il comando AUTH LOGIN e invia il tuo nome utente e la tua password codificati in Base64.

  • Posso inviare un'email completa tramite telnet?

    Sì. Dopo DATA, aggiungi le tue intestazioni e il corpo, termina con un singolo punto (.) su una riga a parte, e poi digita QUIT.

  • Telnet è sicuro per il test SMTP?

    No. Telnet trasmette dati in testo semplice. Usalo solo per testare in ambienti sicuri e controllati. Per connessioni sicure, testa su TLS utilizzando strumenti che supportano STARTTLS.

Nel mondo delle email, ci sono molte sfaccettature nei test, ma uno dei test più basilari che puoi fare è semplicemente collegarti a un server SMTP dato utilizzando telnet. Questo controllo SMTP è utile per determinare se esistono o meno i problemi più basilari.

Nel mondo delle email, ci sono molte sfaccettature nel test, ma uno dei test più basilari che puoi fare è semplicemente fare telnet in un dato server SMTP.  Questo controllo SMTP è utile per determinare se esistono o meno i problemi più basilari.

  • Il server è attivo?

  • C'è un firewall che blocca le comunicazioni?

  • Il server di posta consente il relay di un particolare dominio/email address?

  • Quali comandi SMTP supporta il server di posta?

  • Il server risponde con il nome host corretto?

  • La connessione funziona al di fuori di qualsiasi software di terze parti o API?

Tutte queste domande e molte altre possono essere risposte con un semplice test telnet.

Prima di iniziare, assicurati di aprire il nostro pezzo complementare a questo post: A dove vengono inviati i messaggi di bounce? in una nuova scheda così puoi leggerlo dopo aver finito con questo blog.

Come nota, i comandi usati nei seguenti esempi (così come comandi aggiuntivi) sono trattati nella sezione 4.1 di RFC 2821.

Nel mondo delle email, ci sono molte sfaccettature nel test, ma uno dei test più basilari che puoi fare è semplicemente fare telnet in un dato server SMTP.  Questo controllo SMTP è utile per determinare se esistono o meno i problemi più basilari.

  • Il server è attivo?

  • C'è un firewall che blocca le comunicazioni?

  • Il server di posta consente il relay di un particolare dominio/email address?

  • Quali comandi SMTP supporta il server di posta?

  • Il server risponde con il nome host corretto?

  • La connessione funziona al di fuori di qualsiasi software di terze parti o API?

Tutte queste domande e molte altre possono essere risposte con un semplice test telnet.

Prima di iniziare, assicurati di aprire il nostro pezzo complementare a questo post: A dove vengono inviati i messaggi di bounce? in una nuova scheda così puoi leggerlo dopo aver finito con questo blog.

Come nota, i comandi usati nei seguenti esempi (così come comandi aggiuntivi) sono trattati nella sezione 4.1 di RFC 2821.

Nel mondo delle email, ci sono molte sfaccettature nel test, ma uno dei test più basilari che puoi fare è semplicemente fare telnet in un dato server SMTP.  Questo controllo SMTP è utile per determinare se esistono o meno i problemi più basilari.

  • Il server è attivo?

  • C'è un firewall che blocca le comunicazioni?

  • Il server di posta consente il relay di un particolare dominio/email address?

  • Quali comandi SMTP supporta il server di posta?

  • Il server risponde con il nome host corretto?

  • La connessione funziona al di fuori di qualsiasi software di terze parti o API?

Tutte queste domande e molte altre possono essere risposte con un semplice test telnet.

Prima di iniziare, assicurati di aprire il nostro pezzo complementare a questo post: A dove vengono inviati i messaggi di bounce? in una nuova scheda così puoi leggerlo dopo aver finito con questo blog.

Come nota, i comandi usati nei seguenti esempi (così come comandi aggiuntivi) sono trattati nella sezione 4.1 di RFC 2821.

Come invio un'email utilizzando Telnet?

Inviare email tramite telnet può aiutarti a identificare problemi di consegna all'interno della tua configurazione attuale.

Prima di inviare un'email utilizzando telnet, conferma che telnet sia sia installato che abilitato sul tuo computer. La maggior parte dei computer viene fornita con un client telnet preinstallato. Per quelle versioni di Windows che non lo hanno, è possibile installarne uno aprendo la sezione "Programmi e funzionalità" del pannello di controllo e selezionando "Attiva o disattiva funzionalità di Windows". Con questa finestra aperta, seleziona "client telnet" e poi fai clic su OK.

Una volta verificato che un client telnet è installato sul server, apri la finestra del terminale in cui entrerai i tuoi comandi. Su Windows, usa Windows + R, digita "cmd" e premi invio. Per gli utenti Mac, troverai l'icona del terminale aprendo Finder e cercando "Utility" nella pagina delle Applicazioni, oppure digitando "terminal" nella funzione di ricerca di Launchpad.

Quindi, dobbiamo trovare un server di posta a cui accedere. Per questo, avremo bisogno del record DNS MX per un determinato dominio. Questo può essere trovato con il seguente comando (per questi esempi verrà utilizzato port25.com, ma qualsiasi dominio può essere sostituito):

Windows:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  MX preference = 100, mail exchanger = mail.port25.com

Linux:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  mail exchanger = 100 mail.port25.com

Riferimento rapido sulle porte SMTP

Qui c'è un riferimento rapido alle porte di invio SMTP comuni e quando utilizzarle:

Porta

Crittografia

Utilizzo tipico


25

Nessuna / TLS opportunistica

Relay server-to-server

Spesso bloccata dagli ISP per il controllo dello spam

465

SSL/TLS implicito

Invio sicuro legacy

Deprecato ma ancora utilizzato da sistemi più vecchi

587

STARTTLS

Invio autenticato moderno

Consigliato per l'invio di email da client

Per la configurazione avanzata del server di posta e l'ottimizzazione, consulta la nostra guida sui consigli per la configurazione di PowerMTA. Se il tuo relay SMTP utilizza una porta diversa dalla 25 come mostrato nell'esempio, utilizzerai la porta specificata nella risposta del server di scambio di posta al nslookup. Puoi anche verificare la porta su cui fa affidamento il tuo SMTP chiedendo al tuo amministratore o accedendo al server di scambio di posta e rivedendo i protocolli.

Ora abbiamo bisogno del DNS PTR per l'IP che stiamo per utilizzare.  Prima dobbiamo sapere quale indirizzo IP l'internet vede come nostro.  Per trovare questo possiamo utilizzare un sito web come:

http://whatismyipaddress.com/

Con l'indirizzo IP, esegui il seguente comando, dove A.B.C.D è l'indirizzo IP.

Windows:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

Linux:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

server.example.com è solo un esempio, e i tuoi risultati saranno diversi.

Ora che abbiamo il record MX per port25.com e il PTR per l'IP che stiamo per utilizzare, è tempo di accedere al server SMTP. Per farlo, usa il seguente comando:

telnet mail.port25.com 25

Qualcosa di simile al seguente dovrebbe ora essere visualizzato:

Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

Se ricevi un messaggio di errore come "impossibile connettersi" a questo punto, sia il numero di porta è corretto, sia il server di posta sta affrontando problemi.

Il primo comando che dobbiamo emettere al server di posta per il nostro tester email SMTP è l'EHLO  o HELO.  Questo è un saluto di base che avvia la comunicazione tra il client telnet e il server SMTP.  Viene anche passato il DNS PTR per l'indirizzo IP da cui ci stiamo connettendo, come determinato in precedenza.

EHLO server.example.com

Qualcosa di simile al seguente dovrebbe essere restituito:

250-mail.port25.com says hello
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250-8BITMIME
250-XACK
250-XMRG
250-SIZE 54525952
250-VERP
250 DSN

Questo mostra i comandi SMTP che il server SMTP accetta.  Non tutti i server SMTP supportano gli stessi set di comandi. Ad esempio, yahoo mostra solo i seguenti:

250-8BITMIME 
250-SIZE 41943040 
250 PIPELINING

Inviare email tramite telnet può aiutarti a identificare problemi di consegna all'interno della tua configurazione attuale.

Prima di inviare un'email utilizzando telnet, conferma che telnet sia sia installato che abilitato sul tuo computer. La maggior parte dei computer viene fornita con un client telnet preinstallato. Per quelle versioni di Windows che non lo hanno, è possibile installarne uno aprendo la sezione "Programmi e funzionalità" del pannello di controllo e selezionando "Attiva o disattiva funzionalità di Windows". Con questa finestra aperta, seleziona "client telnet" e poi fai clic su OK.

Una volta verificato che un client telnet è installato sul server, apri la finestra del terminale in cui entrerai i tuoi comandi. Su Windows, usa Windows + R, digita "cmd" e premi invio. Per gli utenti Mac, troverai l'icona del terminale aprendo Finder e cercando "Utility" nella pagina delle Applicazioni, oppure digitando "terminal" nella funzione di ricerca di Launchpad.

Quindi, dobbiamo trovare un server di posta a cui accedere. Per questo, avremo bisogno del record DNS MX per un determinato dominio. Questo può essere trovato con il seguente comando (per questi esempi verrà utilizzato port25.com, ma qualsiasi dominio può essere sostituito):

Windows:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  MX preference = 100, mail exchanger = mail.port25.com

Linux:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  mail exchanger = 100 mail.port25.com

Riferimento rapido sulle porte SMTP

Qui c'è un riferimento rapido alle porte di invio SMTP comuni e quando utilizzarle:

Porta

Crittografia

Utilizzo tipico


25

Nessuna / TLS opportunistica

Relay server-to-server

Spesso bloccata dagli ISP per il controllo dello spam

465

SSL/TLS implicito

Invio sicuro legacy

Deprecato ma ancora utilizzato da sistemi più vecchi

587

STARTTLS

Invio autenticato moderno

Consigliato per l'invio di email da client

Per la configurazione avanzata del server di posta e l'ottimizzazione, consulta la nostra guida sui consigli per la configurazione di PowerMTA. Se il tuo relay SMTP utilizza una porta diversa dalla 25 come mostrato nell'esempio, utilizzerai la porta specificata nella risposta del server di scambio di posta al nslookup. Puoi anche verificare la porta su cui fa affidamento il tuo SMTP chiedendo al tuo amministratore o accedendo al server di scambio di posta e rivedendo i protocolli.

Ora abbiamo bisogno del DNS PTR per l'IP che stiamo per utilizzare.  Prima dobbiamo sapere quale indirizzo IP l'internet vede come nostro.  Per trovare questo possiamo utilizzare un sito web come:

http://whatismyipaddress.com/

Con l'indirizzo IP, esegui il seguente comando, dove A.B.C.D è l'indirizzo IP.

Windows:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

Linux:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

server.example.com è solo un esempio, e i tuoi risultati saranno diversi.

Ora che abbiamo il record MX per port25.com e il PTR per l'IP che stiamo per utilizzare, è tempo di accedere al server SMTP. Per farlo, usa il seguente comando:

telnet mail.port25.com 25

Qualcosa di simile al seguente dovrebbe ora essere visualizzato:

Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

Se ricevi un messaggio di errore come "impossibile connettersi" a questo punto, sia il numero di porta è corretto, sia il server di posta sta affrontando problemi.

Il primo comando che dobbiamo emettere al server di posta per il nostro tester email SMTP è l'EHLO  o HELO.  Questo è un saluto di base che avvia la comunicazione tra il client telnet e il server SMTP.  Viene anche passato il DNS PTR per l'indirizzo IP da cui ci stiamo connettendo, come determinato in precedenza.

EHLO server.example.com

Qualcosa di simile al seguente dovrebbe essere restituito:

250-mail.port25.com says hello
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250-8BITMIME
250-XACK
250-XMRG
250-SIZE 54525952
250-VERP
250 DSN

Questo mostra i comandi SMTP che il server SMTP accetta.  Non tutti i server SMTP supportano gli stessi set di comandi. Ad esempio, yahoo mostra solo i seguenti:

250-8BITMIME 
250-SIZE 41943040 
250 PIPELINING

Inviare email tramite telnet può aiutarti a identificare problemi di consegna all'interno della tua configurazione attuale.

Prima di inviare un'email utilizzando telnet, conferma che telnet sia sia installato che abilitato sul tuo computer. La maggior parte dei computer viene fornita con un client telnet preinstallato. Per quelle versioni di Windows che non lo hanno, è possibile installarne uno aprendo la sezione "Programmi e funzionalità" del pannello di controllo e selezionando "Attiva o disattiva funzionalità di Windows". Con questa finestra aperta, seleziona "client telnet" e poi fai clic su OK.

Una volta verificato che un client telnet è installato sul server, apri la finestra del terminale in cui entrerai i tuoi comandi. Su Windows, usa Windows + R, digita "cmd" e premi invio. Per gli utenti Mac, troverai l'icona del terminale aprendo Finder e cercando "Utility" nella pagina delle Applicazioni, oppure digitando "terminal" nella funzione di ricerca di Launchpad.

Quindi, dobbiamo trovare un server di posta a cui accedere. Per questo, avremo bisogno del record DNS MX per un determinato dominio. Questo può essere trovato con il seguente comando (per questi esempi verrà utilizzato port25.com, ma qualsiasi dominio può essere sostituito):

Windows:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  MX preference = 100, mail exchanger = mail.port25.com

Linux:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  mail exchanger = 100 mail.port25.com

Riferimento rapido sulle porte SMTP

Qui c'è un riferimento rapido alle porte di invio SMTP comuni e quando utilizzarle:

Porta

Crittografia

Utilizzo tipico


25

Nessuna / TLS opportunistica

Relay server-to-server

Spesso bloccata dagli ISP per il controllo dello spam

465

SSL/TLS implicito

Invio sicuro legacy

Deprecato ma ancora utilizzato da sistemi più vecchi

587

STARTTLS

Invio autenticato moderno

Consigliato per l'invio di email da client

Per la configurazione avanzata del server di posta e l'ottimizzazione, consulta la nostra guida sui consigli per la configurazione di PowerMTA. Se il tuo relay SMTP utilizza una porta diversa dalla 25 come mostrato nell'esempio, utilizzerai la porta specificata nella risposta del server di scambio di posta al nslookup. Puoi anche verificare la porta su cui fa affidamento il tuo SMTP chiedendo al tuo amministratore o accedendo al server di scambio di posta e rivedendo i protocolli.

Ora abbiamo bisogno del DNS PTR per l'IP che stiamo per utilizzare.  Prima dobbiamo sapere quale indirizzo IP l'internet vede come nostro.  Per trovare questo possiamo utilizzare un sito web come:

http://whatismyipaddress.com/

Con l'indirizzo IP, esegui il seguente comando, dove A.B.C.D è l'indirizzo IP.

Windows:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

Linux:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

server.example.com è solo un esempio, e i tuoi risultati saranno diversi.

Ora che abbiamo il record MX per port25.com e il PTR per l'IP che stiamo per utilizzare, è tempo di accedere al server SMTP. Per farlo, usa il seguente comando:

telnet mail.port25.com 25

Qualcosa di simile al seguente dovrebbe ora essere visualizzato:

Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

Se ricevi un messaggio di errore come "impossibile connettersi" a questo punto, sia il numero di porta è corretto, sia il server di posta sta affrontando problemi.

Il primo comando che dobbiamo emettere al server di posta per il nostro tester email SMTP è l'EHLO  o HELO.  Questo è un saluto di base che avvia la comunicazione tra il client telnet e il server SMTP.  Viene anche passato il DNS PTR per l'indirizzo IP da cui ci stiamo connettendo, come determinato in precedenza.

EHLO server.example.com

Qualcosa di simile al seguente dovrebbe essere restituito:

250-mail.port25.com says hello
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250-8BITMIME
250-XACK
250-XMRG
250-SIZE 54525952
250-VERP
250 DSN

Questo mostra i comandi SMTP che il server SMTP accetta.  Non tutti i server SMTP supportano gli stessi set di comandi. Ad esempio, yahoo mostra solo i seguenti:

250-8BITMIME 
250-SIZE 41943040 
250 PIPELINING

Come posso testare SMTP utilizzando l'autenticazione Telnet?

Ora che sai come controllare una connessione SMTP con telnet, discuteremo delle procedure di autenticazione. L'autenticazione SMTP aiuta a prevenire che grandi quantità di spam raggiungano le caselle di posta dei lettori, anche se non tutti i server di scambio di posta lo richiedono. Comprendere l'autenticazione è anche cruciale quando analizzi gli header delle email per la risoluzione dei problemi di consegna.

La principale differenza nei protocolli di autenticazione moderni è la presenza di una codifica base64. Il Base64 converte i dati binari nel formato testo ASCII richiesto dai server di posta per una trasmissione dei dati di successo. È un modo per rappresentare le tue credenziali di accesso - una combinazione di testo - in un formato numerico comprensibile per il computer.

Puoi generare il tuo base64 utilizzando software o strumenti online gratuiti. Una volta che comunichi le informazioni al server di posta, quest'ultimo confronta questi dati con i suoi record per determinare l'autenticazione.

Per testare l'autenticazione SMTP tramite telnet, completa i seguenti passaggi:

  • Apri il terminale e connettiti con il server di posta utilizzando il nome del server telnet e il comando di accesso - mail.port25.com nell'esempio sopra.

  • Saluta il server con EHLO o HELO, inserisci AUTH LOGIN e attendi la risposta del computer. 

  • Inserisci il nome utente codificato in base64 e lascia che il server risponda.

  • Inserisci la password codificata in base64 e dovresti ricevere una risposta come “autenticazione riuscita.”

  • Procedi con MAIL FROM, RCPT TO, DATA e QUIT per inviare la tua email autenticata.

Ora che sai come controllare una connessione SMTP con telnet, discuteremo delle procedure di autenticazione. L'autenticazione SMTP aiuta a prevenire che grandi quantità di spam raggiungano le caselle di posta dei lettori, anche se non tutti i server di scambio di posta lo richiedono. Comprendere l'autenticazione è anche cruciale quando analizzi gli header delle email per la risoluzione dei problemi di consegna.

La principale differenza nei protocolli di autenticazione moderni è la presenza di una codifica base64. Il Base64 converte i dati binari nel formato testo ASCII richiesto dai server di posta per una trasmissione dei dati di successo. È un modo per rappresentare le tue credenziali di accesso - una combinazione di testo - in un formato numerico comprensibile per il computer.

Puoi generare il tuo base64 utilizzando software o strumenti online gratuiti. Una volta che comunichi le informazioni al server di posta, quest'ultimo confronta questi dati con i suoi record per determinare l'autenticazione.

Per testare l'autenticazione SMTP tramite telnet, completa i seguenti passaggi:

  • Apri il terminale e connettiti con il server di posta utilizzando il nome del server telnet e il comando di accesso - mail.port25.com nell'esempio sopra.

  • Saluta il server con EHLO o HELO, inserisci AUTH LOGIN e attendi la risposta del computer. 

  • Inserisci il nome utente codificato in base64 e lascia che il server risponda.

  • Inserisci la password codificata in base64 e dovresti ricevere una risposta come “autenticazione riuscita.”

  • Procedi con MAIL FROM, RCPT TO, DATA e QUIT per inviare la tua email autenticata.

Ora che sai come controllare una connessione SMTP con telnet, discuteremo delle procedure di autenticazione. L'autenticazione SMTP aiuta a prevenire che grandi quantità di spam raggiungano le caselle di posta dei lettori, anche se non tutti i server di scambio di posta lo richiedono. Comprendere l'autenticazione è anche cruciale quando analizzi gli header delle email per la risoluzione dei problemi di consegna.

La principale differenza nei protocolli di autenticazione moderni è la presenza di una codifica base64. Il Base64 converte i dati binari nel formato testo ASCII richiesto dai server di posta per una trasmissione dei dati di successo. È un modo per rappresentare le tue credenziali di accesso - una combinazione di testo - in un formato numerico comprensibile per il computer.

Puoi generare il tuo base64 utilizzando software o strumenti online gratuiti. Una volta che comunichi le informazioni al server di posta, quest'ultimo confronta questi dati con i suoi record per determinare l'autenticazione.

Per testare l'autenticazione SMTP tramite telnet, completa i seguenti passaggi:

  • Apri il terminale e connettiti con il server di posta utilizzando il nome del server telnet e il comando di accesso - mail.port25.com nell'esempio sopra.

  • Saluta il server con EHLO o HELO, inserisci AUTH LOGIN e attendi la risposta del computer. 

  • Inserisci il nome utente codificato in base64 e lascia che il server risponda.

  • Inserisci la password codificata in base64 e dovresti ricevere una risposta come “autenticazione riuscita.”

  • Procedi con MAIL FROM, RCPT TO, DATA e QUIT per inviare la tua email autenticata.

Altre notizie

Leggi di più da questa categoria

A person is standing at a desk while typing on a laptop.

La piattaforma completa nativa dell'IA che si espande con la tua azienda.

© 2025 Uccello

A person is standing at a desk while typing on a laptop.

La piattaforma completa nativa dell'IA che si espande con la tua azienda.

© 2025 Uccello