Testare la connessione SMTP utilizzando una sessione Telnet manuale

Pubblicato: 2022-04-04

I provider di server come DigitalOcean, AWS, Vultr e altri bloccano la porta in uscita della tua e-mail 25 per impedire il passaggio dello spam. Tuttavia, puoi sempre chiedere loro di sbloccarlo. Se vuoi scoprire se la tua porta 25 è stata bloccata, puoi utilizzare una sessione telnet manuale per testare la connessione SMTP.

Gli errori di connessione SMTP possono essere risolti in vari modi, ma la riga di comando può rilevarli direttamente. Telnet viene in genere utilizzato per testare gli errori di connessione SMTP. Nei passaggi che seguono, utilizzeremo Telnet per testare il server di posta elettronica. Una parte fondamentale della configurazione di un server di posta elettronica è assicurarsi che SMTP funzioni dalla riga di comando (Linux).

Telnet è il modo più comunemente usato per controllare SMTP dalla riga di comando. È anche il modo più comune per testare l'inoltro SMTP.

Sommario

Cos'è l'SMTP?

SMTP è un protocollo basato su testo, orientato alla connessione in cui un mittente di posta si connette a un destinatario di posta inviando stringhe di comando e fornendo i dati richiesti attraverso un canale di flusso di dati ordinato affidabile, spesso una connessione TCP (Transmission Control Protocol).

Una sessione SMTP è composta da comandi da un client SMTP (l'agente di avvio, mittente o trasmettitore) e risposte da un server SMTP (l'agente in ascolto o ricevitore) che avvia la sessione e scambia i parametri della sessione. Potrebbero esserci zero o più transazioni SMTP in una sessione. Tre sequenze di comando/risposta costituiscono una transazione SMTP:

  1. Comando MAIL, noto anche come percorso di ritorno, percorso inverso, indirizzo di rimbalzo, mfrom o mittente della busta, per impostare l'indirizzo di ritorno.
  2. Per stabilire un destinatario del messaggio, utilizzare il comando RCPT. Questo comando può essere ripetuto tutte le volte che è necessario, uno per ogni destinatario. La busta ha anche questi indirizzi.
  3. DATA per indicare l'inizio del testo del messaggio; il contenuto del messaggio, al contrario della sua busta. Consiste in una riga vuota tra l'intestazione del messaggio e il corpo del messaggio. Il server risponde due volte: prima all'istruzione DATA stessa, confermando di essere pronto a ricevere il testo, e ancora dopo la sequenza di fine dati, accettando o rifiutando il messaggio completo.

Che cos'è una sessione Telnet?

Telnet è un protocollo di rete per l'accesso remoto a un computer e la creazione di un canale di comunicazione bidirezionale, collaborativo e basato su testo tra due computer.

Crea sessioni remote utilizzando il protocollo di rete TCP/IP (Transmission Control Protocol/Internet Protocol), controllato dall'utente. Hypertext Transfer Protocol (HTTP) e File Transfer Protocol (FTP) sul Web consentono semplicemente agli utenti di richiedere file specifici da computer lontani, mentre Telnet consente agli utenti di accedere come un normale utente con i privilegi assegnati alle applicazioni e ai dati specifici su quello computer.

Telnet è più comunemente utilizzato dai programmatori e da chiunque abbia bisogno di accedere a determinate app o dati su un computer remoto.

Come funziona Telnet?

Telnet è un protocollo client-server per l'apertura di una riga di comando su un computer distante, solitamente un server. Questa utilità può essere utilizzata per eseguire il ping di una porta e determinare se è aperta. Telnet utilizza un emulatore di connessione terminale virtuale, che è un'istanza astratta di una connessione a un computer che utilizza protocolli standard per agire come un terminale fisico collegato a un sistema. Per gli utenti che devono comunicare file di dati, FTP e Telnet possono essere utilizzati insieme.

Telnet consente agli utenti di connettersi a una macchina in remoto, spesso noto come Telnet nel sistema. Devono fornire la loro combinazione di credenziali utente per accedere al computer remoto, che consente loro di eseguire le righe di comando come se fossero fisicamente presenti sul computer. Gli indirizzi IP degli utenti corrisponderanno al computer su cui hanno effettuato l'accesso anziché a quello utilizzato per accedere, indipendentemente dalla loro posizione fisica.

Quali sono gli usi di Telnet?

Telnet può essere utilizzato per eseguire una serie di attività su un server, tra cui la modifica di file, l'esecuzione di programmi e il controllo della posta elettronica.

Alcuni server consentono connessioni remote tramite Telnet a dati pubblici per giocare a semplici giochi o cercare le previsioni del tempo. Molte di queste funzionalità esistono perché sono nostalgiche o perché sono ancora compatibili con i sistemi precedenti che richiedono determinati dati.

Telnet consente inoltre agli utenti di connettersi a qualsiasi software che utilizza protocolli non crittografati basati su testo, come server Web e porte. Gli utenti possono aprire un cmd sulla macchina remota e digitare telnet seguito dal nome o dall'indirizzo IP della macchina remota e la sessione telnet eseguirà il ping della porta per vedere se è aperta o meno. Una schermata vuota indica che la porta è aperta, ma un messaggio di errore che indica che la porta è collegata indica che è chiusa.

Sicurezza in Telnet

Telnet è un protocollo non sicuro e non crittografato. Chiunque può visualizzare il nome utente, la password e altre informazioni riservate digitate in chiaro durante una sessione Telnet di un utente monitorando la connessione dell'utente. Queste informazioni possono essere utilizzate per accedere al computer di destinazione.

Testare la connessione SMTP utilizzando Telnet

Per prima cosa eseguiremo alcuni test per vedere se la tua porta in uscita 25 è aperta o meno, nel primo caso dimostreremo una porta SMTP 25 bloccata nel secondo caso andremo a completare inviando un'e-mail tramite telnet.

Caso 1: Porta 25 bloccata

Sulla riga di comando eseguire il comando seguente (è necessario eseguire questo comando su un server in cui si verificano problemi di posta elettronica):

 telnet <INDIRIZZO_IP_DI_SERVER_POSTA_REMOTA> 25

Se stai ricevendo un messaggio come "TRYING ..." e nient'altro significa che la tua porta in uscita 25 è bloccata e non sarai in grado di inviare messaggi di posta elettronica dal tuo server.

Caso 2: Quando la porta 25 è aperta:

Dobbiamo trovare un server di posta a cui accedere se non si dispone dell'indirizzo IP del server di posta. Per questo, avremo bisogno del record DNS MX per un determinato dominio. Questo può essere trovato con il seguente comando

 nslookup -type=mx DOMAIN_NAME

SMTP utilizza una delle tre porte: 25, 465 o 587, che vengono spesso utilizzate da Microsoft Outlook. Se l'inoltro SMTP utilizza una porta diversa da 25, utilizzerai la porta fornita nella risposta di nslookup dal server di scambio di posta. Puoi chiedere al tuo amministratore o entrare nel server di scambio di posta e guardare i protocolli per vedere quale porta usa il tuo SMTP.

Per accedere al server SMTP:

 telnet <INDIRIZZO_IP_DI_SERVER_POSTA> <PORTA>

Se sei connesso, puoi continuare con l'invio di email

Il comando EHLO o HELO è il primo comando che dobbiamo inviare al server di posta per il nostro tester di posta elettronica SMTP. Questo è un semplice benvenuto che inizia la conversazione del client telnet con il server SMTP.

 EHLO <NOME_DOMINIO>
prova la connessione SMTP

I comandi SMTP accettati dal server SMTP vengono visualizzati qui.

Il comando MAIL FROM è il prossimo comando che dobbiamo davvero eseguire. L'indirizzo a cui vengono inviati i rimbalzi è determinato da questo.

 POSTA DA: <[email protetta]>

Ora possiamo inviare il comando RCPT TO dopo che è stato emesso il comando MAIL FROM. Questo comando indica al server di posta SMTP di inviare il messaggio al destinatario specificato.

 RCPT A: <[email protetta]> 

Il comando DATA è l'ultimo comando da eseguire prima di iniziare il corpo del messaggio. Questo comando informa il server di posta SMTP che il resto del messaggio verrà trasmesso come corpo del messaggio.

 DATI 

Immettere Oggetto: <SOGGETTO> e premere Invio.

Immettere < Messaggio di prova > e premere Invio.

Quando il messaggio è terminato, dobbiamo informare il server SMTP che abbiamo finito con esso e che vogliamo che il server di posta SMTP lo accetti. Ciò si ottiene inserendo un punto su una singola riga. Se è necessario un punto su una sola riga durante la scrittura di un messaggio, utilizzare due punti, il primo in escape, il secondo.

.

Apparirà il messaggio OK, seguito da un codice ID. Il tuo messaggio è stato recapitato.

Tornare alla finestra Telnet, immettere quit per terminare la connessione al server SMTP, quindi esci per terminare la sessione Telnet.

 USCIRE 

Conclusione

Se completi il ​​test, puoi essere certo che non c'è nulla di sbagliato nel tuo server di posta elettronica o nell'indirizzo e nelle informazioni che hai utilizzato per accedervi.

Se il server SMTP ti ha informato che l'indirizzo email di origine non era valido, è possibile che tu lo abbia digitato in modo errato. È anche possibile che qualcosa non vada nel tuo account di posta elettronica, motivo per cui non riesci a farlo funzionare nel tuo nuovo client di posta elettronica.

Si spera che testare il tuo server SMTP tramite Telnet mentre sei lontano dal tuo nuovo client di posta elettronica ti aiuterà a restringere tutte le possibili cause di eventuali problemi di posta elettronica che stai riscontrando.