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

Conclusioni principali

    • I test manuali telnet sono 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 accetta connessioni.

    • Il test può rivelare porte bloccate, restrizioni di inoltro, 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 l'inoltro, mentre 465 e 587 sono utilizzate per l'invio sicuro.

    • 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 del telnet.

Q&A Highlights

  • Perché usare telnet invece di uno strumento dedicato per il testing delle email?

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

  • Qual è il modo più rapido per sapere 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.

  • Ho bisogno di autenticarmi quando testo con telnet?

    Solo se il server di posta richiede l'autenticazione. Usa il comando AUTH LOGIN e invia il tuo nome utente e 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 propria riga, e poi digita QUIT.

  • Telnet è sicuro per il testing 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 nel testare, ma uno dei test più basilari che puoi fare è semplicemente telnet in un determinato server SMTP. Questo controllo SMTP è utile per determinare se esistono o meno i problemi più basilari.

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

  • Il server è operativo?

  • C'è un firewall che blocca la comunicazione?

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

  • Quali comandi SMTP supporta il server di posta?

  • Il server risponde con il nome host corretto?

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

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

Prima di iniziare, assicurati di aprire il nostro pezzo di accompagnamento a questo post: Dove vengono inviati i messaggi di rimbalzo? in una nuova scheda così puoi leggerlo dopo che hai terminato questo blog.

Come nota, i comandi utilizzati negli esempi seguenti (così come comandi aggiuntivi) sono coperti nella sezione 4.1 di RFC 2821.

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

  • Il server è operativo?

  • C'è un firewall che blocca la comunicazione?

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

  • Quali comandi SMTP supporta il server di posta?

  • Il server risponde con il nome host corretto?

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

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

Prima di iniziare, assicurati di aprire il nostro pezzo di accompagnamento a questo post: Dove vengono inviati i messaggi di rimbalzo? in una nuova scheda così puoi leggerlo dopo che hai terminato questo blog.

Come nota, i comandi utilizzati negli esempi seguenti (così come comandi aggiuntivi) sono coperti nella sezione 4.1 di RFC 2821.

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

  • Il server è operativo?

  • C'è un firewall che blocca la comunicazione?

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

  • Quali comandi SMTP supporta il server di posta?

  • Il server risponde con il nome host corretto?

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

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

Prima di iniziare, assicurati di aprire il nostro pezzo di accompagnamento a questo post: Dove vengono inviati i messaggi di rimbalzo? in una nuova scheda così puoi leggerlo dopo che hai terminato questo blog.

Come nota, i comandi utilizzati negli esempi seguenti (così come comandi aggiuntivi) sono coperti nella sezione 4.1 di RFC 2821.

Come invio un'email usando Telnet?

Inviare email tramite telnet può aiutarti a identificare problemi di consegna nella tua attuale configurazione.

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, si può installare aprendo la sezione "Programmi e Funzionalità" nel pannello di controllo e selezionando "Attiva o disattiva funzionalità di Windows". Con questa finestra aperta, seleziona "client telnet" e fai clic su OK.

Una volta verificato che un client telnet sia installato sul server, apri la finestra del terminale dove inserirai i comandi di prompt. Su Windows, usa la combinazione 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 inserendo "terminal" nella funzione di ricerca del Launchpad.

Successivamente, dobbiamo trovare un server di posta su cui accedere. Per questo, avremo bisogno del record DNS MX per un dato 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 alle porte SMTP

Ecco un rapido riferimento alle porte comuni di invio SMTP e quando utilizzarle:

Porta

Crittografia

Caso d'uso tipico

Note

25

Nessuna/TLS opportunistico

Relè server-server

Spesso bloccato dagli ISP per controllo spam

465

SSL/TLS implicito

Invio sicuro legacy

Deprecato ma ancora utilizzato da sistemi più vecchi

587

STARTTLS

Invio autenticato moderno

Raccomandato per l'invio email del client

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

Successivamente abbiamo bisogno del DNS PTR per l'IP che useremo.  Prima, dobbiamo sapere quale indirizzo IP internet ci riconosce.  Per trovarlo possiamo usare 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.

Quindi, ora che abbiamo il record MX per port25.com e il PTR per l'IP che useremo, è il momento di accedere al server SMTP. Per farlo, utilizza il seguente comando:

telnet mail.port25.com 25

Ora dovrebbe essere visualizzato qualcosa di simile al seguente:

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, o il numero di porta è corretto o il server di posta sta affrontando problemi.

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

EHLO server.example.com

Dovrebbe essere restituito qualcosa di simile al seguente:

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

E aol mostra solo uno con:

250 DSN

Il prossimo comando che dobbiamo inviare è il comando MAIL FROM.  Questo determina l'indirizzo a cui vengono inviate le risposte. Non è lo stesso dell'header from, che è l'indirizzo email mostrato in un client email.

MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok

Assicurati di utilizzare il nome di dominio corrispondente al dominio del tuo server di posta. Ad esempio, se il dominio della tua email è anycompany.com, vuoi utilizzare tu@anycompany.com invece di un'email esterna come tu@provider-mail-gratuita.com. Le variazioni nei nomi di dominio possono causare la comparsa di un messaggio di errore.

Ora che il comando MAIL FROM  è stato inviato, possiamo inviare il comando RCPT TO.  Questo comando dice al server di posta SMTP a chi deve essere inviato il messaggio. Questo può essere uguale o diverso dall'header to, che è l'indirizzo email mostrato nel client email.

RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok

Verifica due volte l'indirizzo del destinatario prima di inviare il comando RCPT TO — un messaggio di errore visualizzato qui può indicare un indirizzo sbagliato o un destinatario email bloccato.

L'ultimo comando da eseguire prima di iniziare il corpo del messaggio è il comando DATA . Questo comando informa il server di posta SMTP che tutto ciò che viene inviato successivamente è il corpo del messaggio (che comprende anche gli header).

DATA 354 send message

È importante notare che se un server di posta supporta PIPELINING, come fa mail.port25.com, il server di posta SMTP potrebbe attendere che venga inviato il comando DATA prima di rispondere a qualsiasi altro comando dopo l'EHLO/HELO.  In questo caso, inserisci i comandi MAIL FROM, RCPT TO, e DATA  prima di attendere una risposta.

Ora che il comando DATA  è stato inviato, possiamo iniziare a inviare il contenuto del messaggio.  Questo inizia con i vari header. Al minimo, un messaggio dovrebbe contenere un header to, from, subject, e date. Gli header inseriti qui saranno mostrati all'utente nel proprio client email.

From: "John Smith" <jsmith@port25.com>
To: "Jane Doe" <jdoe@port25.com>
Subject: test message sent from manual telnet session
Date: Wed, 11 May 2011 16:19:57 -0400

Con gli header impostati, ora aggiungiamo una riga vuota con un ritorno a capo (basta premere invio due volte) e poi iniziamo il vero e proprio corpo del messaggio.

Hello World, questo è un messaggio di test inviato da una sessione telnet manuale. Cordialmente, Amministratore SMTP

Con il messaggio completo, dobbiamo informare il server SMTP che abbiamo terminato con il messaggio e vogliamo che il server di posta SMTP lo accetti. Questo si fa con un punto su una riga da solo. Se durante la redazione di un messaggio è necessario un punto su una riga da solo, bisogna mettere 2 punti, il primo per sfuggire al secondo.

.   250 2.6.0 messaggio ricevuto

Se ricevi un messaggio di errore invece della notifica “ricevuto”, registra i dettagli rilevanti e contatta il tuo provider di email per ulteriore assistenza. I problemi di connessione possono anche essere legati ai protocolli di sicurezza - assicurati di utilizzare TLS 1.2 o superiore per connessioni sicure.

Infine, viene inviato il comando QUIT  per chiudere la connessione:

QUIT 221 2.0.0 mail.port25.com says goodbye

Con questo, il server di posta ha ora accettato il messaggio per la consegna, il tuo test di invio email telnet è completo e dovrebbe essere nella casella di posta dell'indirizzo RCPT TO!!!

Ecco tutti i comandi senza interruzione:

telnet mail.port25.com 25
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

EHLO server.example.com
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

MAIL FROM:<support@port25.com>
250 2.1.0 MAIL ok

RCPT TO:<support@port25.com>
250 2.1.5 <support@port25.com> ok

DATA
354 send message

From: "John Smith" <jsmith@port25.com>
To: "Jane Doe" <jdoe@port25.com>
Subject: test message sent from manual telnet session
Date: Wed, 11 May 2011 16:19:57 -0400

Hello World,
This is a test message sent from a manual telnet session.
Yours truly,
SMTP administrator
.

250 2.6.0 message received

QUIT
221 2.0.0 mail.port25.com says goodbye

Inviare un'email utilizzando telnet ti permette di testare rapidamente le capacità di connessione e a un costo inferiore rispetto a apparecchiature o software diagnostici completi. Per strumenti di test SMTP avanzati, considera l'utilizzo di Swaks con SparkPost per test email completi.

Inviare email tramite telnet può aiutarti a identificare problemi di consegna nella tua attuale configurazione.

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, si può installare aprendo la sezione "Programmi e Funzionalità" nel pannello di controllo e selezionando "Attiva o disattiva funzionalità di Windows". Con questa finestra aperta, seleziona "client telnet" e fai clic su OK.

Una volta verificato che un client telnet sia installato sul server, apri la finestra del terminale dove inserirai i comandi di prompt. Su Windows, usa la combinazione 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 inserendo "terminal" nella funzione di ricerca del Launchpad.

Successivamente, dobbiamo trovare un server di posta su cui accedere. Per questo, avremo bisogno del record DNS MX per un dato 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 alle porte SMTP

Ecco un rapido riferimento alle porte comuni di invio SMTP e quando utilizzarle:

Porta

Crittografia

Caso d'uso tipico

Note

25

Nessuna/TLS opportunistico

Relè server-server

Spesso bloccato dagli ISP per controllo spam

465

SSL/TLS implicito

Invio sicuro legacy

Deprecato ma ancora utilizzato da sistemi più vecchi

587

STARTTLS

Invio autenticato moderno

Raccomandato per l'invio email del client

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

Successivamente abbiamo bisogno del DNS PTR per l'IP che useremo.  Prima, dobbiamo sapere quale indirizzo IP internet ci riconosce.  Per trovarlo possiamo usare 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.

Quindi, ora che abbiamo il record MX per port25.com e il PTR per l'IP che useremo, è il momento di accedere al server SMTP. Per farlo, utilizza il seguente comando:

telnet mail.port25.com 25

Ora dovrebbe essere visualizzato qualcosa di simile al seguente:

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, o il numero di porta è corretto o il server di posta sta affrontando problemi.

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

EHLO server.example.com

Dovrebbe essere restituito qualcosa di simile al seguente:

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

E aol mostra solo uno con:

250 DSN

Il prossimo comando che dobbiamo inviare è il comando MAIL FROM.  Questo determina l'indirizzo a cui vengono inviate le risposte. Non è lo stesso dell'header from, che è l'indirizzo email mostrato in un client email.

MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok

Assicurati di utilizzare il nome di dominio corrispondente al dominio del tuo server di posta. Ad esempio, se il dominio della tua email è anycompany.com, vuoi utilizzare tu@anycompany.com invece di un'email esterna come tu@provider-mail-gratuita.com. Le variazioni nei nomi di dominio possono causare la comparsa di un messaggio di errore.

Ora che il comando MAIL FROM  è stato inviato, possiamo inviare il comando RCPT TO.  Questo comando dice al server di posta SMTP a chi deve essere inviato il messaggio. Questo può essere uguale o diverso dall'header to, che è l'indirizzo email mostrato nel client email.

RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok

Verifica due volte l'indirizzo del destinatario prima di inviare il comando RCPT TO — un messaggio di errore visualizzato qui può indicare un indirizzo sbagliato o un destinatario email bloccato.

L'ultimo comando da eseguire prima di iniziare il corpo del messaggio è il comando DATA . Questo comando informa il server di posta SMTP che tutto ciò che viene inviato successivamente è il corpo del messaggio (che comprende anche gli header).

DATA 354 send message

È importante notare che se un server di posta supporta PIPELINING, come fa mail.port25.com, il server di posta SMTP potrebbe attendere che venga inviato il comando DATA prima di rispondere a qualsiasi altro comando dopo l'EHLO/HELO.  In questo caso, inserisci i comandi MAIL FROM, RCPT TO, e DATA  prima di attendere una risposta.

Ora che il comando DATA  è stato inviato, possiamo iniziare a inviare il contenuto del messaggio.  Questo inizia con i vari header. Al minimo, un messaggio dovrebbe contenere un header to, from, subject, e date. Gli header inseriti qui saranno mostrati all'utente nel proprio client email.

From: "John Smith" <jsmith@port25.com>
To: "Jane Doe" <jdoe@port25.com>
Subject: test message sent from manual telnet session
Date: Wed, 11 May 2011 16:19:57 -0400

Con gli header impostati, ora aggiungiamo una riga vuota con un ritorno a capo (basta premere invio due volte) e poi iniziamo il vero e proprio corpo del messaggio.

Hello World, questo è un messaggio di test inviato da una sessione telnet manuale. Cordialmente, Amministratore SMTP

Con il messaggio completo, dobbiamo informare il server SMTP che abbiamo terminato con il messaggio e vogliamo che il server di posta SMTP lo accetti. Questo si fa con un punto su una riga da solo. Se durante la redazione di un messaggio è necessario un punto su una riga da solo, bisogna mettere 2 punti, il primo per sfuggire al secondo.

.   250 2.6.0 messaggio ricevuto

Se ricevi un messaggio di errore invece della notifica “ricevuto”, registra i dettagli rilevanti e contatta il tuo provider di email per ulteriore assistenza. I problemi di connessione possono anche essere legati ai protocolli di sicurezza - assicurati di utilizzare TLS 1.2 o superiore per connessioni sicure.

Infine, viene inviato il comando QUIT  per chiudere la connessione:

QUIT 221 2.0.0 mail.port25.com says goodbye

Con questo, il server di posta ha ora accettato il messaggio per la consegna, il tuo test di invio email telnet è completo e dovrebbe essere nella casella di posta dell'indirizzo RCPT TO!!!

Ecco tutti i comandi senza interruzione:

telnet mail.port25.com 25
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

EHLO server.example.com
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

MAIL FROM:<support@port25.com>
250 2.1.0 MAIL ok

RCPT TO:<support@port25.com>
250 2.1.5 <support@port25.com> ok

DATA
354 send message

From: "John Smith" <jsmith@port25.com>
To: "Jane Doe" <jdoe@port25.com>
Subject: test message sent from manual telnet session
Date: Wed, 11 May 2011 16:19:57 -0400

Hello World,
This is a test message sent from a manual telnet session.
Yours truly,
SMTP administrator
.

250 2.6.0 message received

QUIT
221 2.0.0 mail.port25.com says goodbye

Inviare un'email utilizzando telnet ti permette di testare rapidamente le capacità di connessione e a un costo inferiore rispetto a apparecchiature o software diagnostici completi. Per strumenti di test SMTP avanzati, considera l'utilizzo di Swaks con SparkPost per test email completi.

Inviare email tramite telnet può aiutarti a identificare problemi di consegna nella tua attuale configurazione.

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, si può installare aprendo la sezione "Programmi e Funzionalità" nel pannello di controllo e selezionando "Attiva o disattiva funzionalità di Windows". Con questa finestra aperta, seleziona "client telnet" e fai clic su OK.

Una volta verificato che un client telnet sia installato sul server, apri la finestra del terminale dove inserirai i comandi di prompt. Su Windows, usa la combinazione 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 inserendo "terminal" nella funzione di ricerca del Launchpad.

Successivamente, dobbiamo trovare un server di posta su cui accedere. Per questo, avremo bisogno del record DNS MX per un dato 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 alle porte SMTP

Ecco un rapido riferimento alle porte comuni di invio SMTP e quando utilizzarle:

Porta

Crittografia

Caso d'uso tipico

Note

25

Nessuna/TLS opportunistico

Relè server-server

Spesso bloccato dagli ISP per controllo spam

465

SSL/TLS implicito

Invio sicuro legacy

Deprecato ma ancora utilizzato da sistemi più vecchi

587

STARTTLS

Invio autenticato moderno

Raccomandato per l'invio email del client

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

Successivamente abbiamo bisogno del DNS PTR per l'IP che useremo.  Prima, dobbiamo sapere quale indirizzo IP internet ci riconosce.  Per trovarlo possiamo usare 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.

Quindi, ora che abbiamo il record MX per port25.com e il PTR per l'IP che useremo, è il momento di accedere al server SMTP. Per farlo, utilizza il seguente comando:

telnet mail.port25.com 25

Ora dovrebbe essere visualizzato qualcosa di simile al seguente:

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, o il numero di porta è corretto o il server di posta sta affrontando problemi.

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

EHLO server.example.com

Dovrebbe essere restituito qualcosa di simile al seguente:

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

E aol mostra solo uno con:

250 DSN

Il prossimo comando che dobbiamo inviare è il comando MAIL FROM.  Questo determina l'indirizzo a cui vengono inviate le risposte. Non è lo stesso dell'header from, che è l'indirizzo email mostrato in un client email.

MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok

Assicurati di utilizzare il nome di dominio corrispondente al dominio del tuo server di posta. Ad esempio, se il dominio della tua email è anycompany.com, vuoi utilizzare tu@anycompany.com invece di un'email esterna come tu@provider-mail-gratuita.com. Le variazioni nei nomi di dominio possono causare la comparsa di un messaggio di errore.

Ora che il comando MAIL FROM  è stato inviato, possiamo inviare il comando RCPT TO.  Questo comando dice al server di posta SMTP a chi deve essere inviato il messaggio. Questo può essere uguale o diverso dall'header to, che è l'indirizzo email mostrato nel client email.

RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok

Verifica due volte l'indirizzo del destinatario prima di inviare il comando RCPT TO — un messaggio di errore visualizzato qui può indicare un indirizzo sbagliato o un destinatario email bloccato.

L'ultimo comando da eseguire prima di iniziare il corpo del messaggio è il comando DATA . Questo comando informa il server di posta SMTP che tutto ciò che viene inviato successivamente è il corpo del messaggio (che comprende anche gli header).

DATA 354 send message

È importante notare che se un server di posta supporta PIPELINING, come fa mail.port25.com, il server di posta SMTP potrebbe attendere che venga inviato il comando DATA prima di rispondere a qualsiasi altro comando dopo l'EHLO/HELO.  In questo caso, inserisci i comandi MAIL FROM, RCPT TO, e DATA  prima di attendere una risposta.

Ora che il comando DATA  è stato inviato, possiamo iniziare a inviare il contenuto del messaggio.  Questo inizia con i vari header. Al minimo, un messaggio dovrebbe contenere un header to, from, subject, e date. Gli header inseriti qui saranno mostrati all'utente nel proprio client email.

From: "John Smith" <jsmith@port25.com>
To: "Jane Doe" <jdoe@port25.com>
Subject: test message sent from manual telnet session
Date: Wed, 11 May 2011 16:19:57 -0400

Con gli header impostati, ora aggiungiamo una riga vuota con un ritorno a capo (basta premere invio due volte) e poi iniziamo il vero e proprio corpo del messaggio.

Hello World, questo è un messaggio di test inviato da una sessione telnet manuale. Cordialmente, Amministratore SMTP

Con il messaggio completo, dobbiamo informare il server SMTP che abbiamo terminato con il messaggio e vogliamo che il server di posta SMTP lo accetti. Questo si fa con un punto su una riga da solo. Se durante la redazione di un messaggio è necessario un punto su una riga da solo, bisogna mettere 2 punti, il primo per sfuggire al secondo.

.   250 2.6.0 messaggio ricevuto

Se ricevi un messaggio di errore invece della notifica “ricevuto”, registra i dettagli rilevanti e contatta il tuo provider di email per ulteriore assistenza. I problemi di connessione possono anche essere legati ai protocolli di sicurezza - assicurati di utilizzare TLS 1.2 o superiore per connessioni sicure.

Infine, viene inviato il comando QUIT  per chiudere la connessione:

QUIT 221 2.0.0 mail.port25.com says goodbye

Con questo, il server di posta ha ora accettato il messaggio per la consegna, il tuo test di invio email telnet è completo e dovrebbe essere nella casella di posta dell'indirizzo RCPT TO!!!

Ecco tutti i comandi senza interruzione:

telnet mail.port25.com 25
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

EHLO server.example.com
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

MAIL FROM:<support@port25.com>
250 2.1.0 MAIL ok

RCPT TO:<support@port25.com>
250 2.1.5 <support@port25.com> ok

DATA
354 send message

From: "John Smith" <jsmith@port25.com>
To: "Jane Doe" <jdoe@port25.com>
Subject: test message sent from manual telnet session
Date: Wed, 11 May 2011 16:19:57 -0400

Hello World,
This is a test message sent from a manual telnet session.
Yours truly,
SMTP administrator
.

250 2.6.0 message received

QUIT
221 2.0.0 mail.port25.com says goodbye

Inviare un'email utilizzando telnet ti permette di testare rapidamente le capacità di connessione e a un costo inferiore rispetto a apparecchiature o software diagnostici completi. Per strumenti di test SMTP avanzati, considera l'utilizzo di Swaks con SparkPost per test email completi.

Come posso testare SMTP utilizzando l'autenticazione Telnet?

Ora che sai come verificare una connessione SMTP con telnet, discuteremo le procedure di autenticazione. L'autenticazione SMTP aiuta a prevenire grandi quantità di spam dall'arrivare alle caselle di posta dei lettori, sebbene non tutti i server di scambio di posta ne richiedano l'uso. Comprendere l'autenticazione è anche cruciale quando si analizzano le intestazioni delle email per la risoluzione dei problemi di consegna.

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

Puoi generare il tuo base64 utilizzando software o strumenti gratuiti online. Una volta comunicata l'informazione al server di posta, questo confronta i dati con i propri archivi per determinare l'autenticazione.

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

  • Apri il terminale e connettiti al 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 consenti al server di rispondere.

  • 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 verificare una connessione SMTP con telnet, discuteremo le procedure di autenticazione. L'autenticazione SMTP aiuta a prevenire grandi quantità di spam dall'arrivare alle caselle di posta dei lettori, sebbene non tutti i server di scambio di posta ne richiedano l'uso. Comprendere l'autenticazione è anche cruciale quando si analizzano le intestazioni delle email per la risoluzione dei problemi di consegna.

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

Puoi generare il tuo base64 utilizzando software o strumenti gratuiti online. Una volta comunicata l'informazione al server di posta, questo confronta i dati con i propri archivi per determinare l'autenticazione.

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

  • Apri il terminale e connettiti al 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 consenti al server di rispondere.

  • 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 verificare una connessione SMTP con telnet, discuteremo le procedure di autenticazione. L'autenticazione SMTP aiuta a prevenire grandi quantità di spam dall'arrivare alle caselle di posta dei lettori, sebbene non tutti i server di scambio di posta ne richiedano l'uso. Comprendere l'autenticazione è anche cruciale quando si analizzano le intestazioni delle email per la risoluzione dei problemi di consegna.

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

Puoi generare il tuo base64 utilizzando software o strumenti gratuiti online. Una volta comunicata l'informazione al server di posta, questo confronta i dati con i propri archivi per determinare l'autenticazione.

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

  • Apri il terminale e connettiti al 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 consenti al server di rispondere.

  • 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 nativa AI completa che si adatta al tuo business.

© 2025 Bird

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

La piattaforma nativa AI completa che si adatta al tuo business.

© 2025 Bird