Come controllare una connessione SMTP con una sessione Telnet manuale
Uccello
7 feb 2020
1 min read

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 LOGINe 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 digitaQUIT.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:
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:
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:
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.



