Come utilizzare Telnet per la verifica della comunicazione SMTP
Si applica a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
Ultima modifica dell'argomento: 2006-11-14
In questo argomento viene descritto come utilizzare Telnet per eseguire la verifica della comunicazione SMTP (Simple Mail Transfer Protocol) tra i server di messaggistica. Per impostazione predefinita SMTP è in ascolto sulla porta 25. Se si utilizza Telnet sulla porta 25, è possibile immettere i comandi SMTP utilizzati per connettersi a un server SMTP e inviare un messaggio esattamente come se la sessione di Telnet si trovasse in un server di messaggistica SMTP. È possibile visualizzare l'esito positivo o negativo di ogni passaggio del processo di connessione e invio del messaggio.
Nell'elenco seguente vengono descritti i possibili scenari di utilizzo di Telnet per la verifica della comunicazione SMTP in ingresso o in uscita dai server di trasporto presenti nell'organizzazione di Microsoft Exchange Server:
Connettersi al server Trasporto Edge dell'organizzazione da un host ubicato all'esterno della rete perimetrale e inviare un messaggio di prova.
Connettersi a un server di messaggistica remoto dal server Trasporto Edge e inviare un messaggio di prova.
Informazioni preliminari
Per impostazione predefinita, i trasferimenti di messaggi che si verificano tra i server Trasporto Hub sono crittografati e autenticati. È possibile utilizzare Telnet sulla porta 25 solo per inviare messaggi a un server Trasporto Hub interno con un connettore di ricezione configurato per consentire l'accesso anonimo o l'autenticazione di base per la ricezione di messaggi. L'accesso anonimo è necessario per i server con connessione a Internet. Quando si invia un messaggio a un connettore di ricezione che accetta l'autenticazione di base, è necessario disporre di un'utilità per convertire le stringhe di testo utilizzate per il nome utente e la password nel formato Base64. Poiché con l'autenticazione di base il nome utente e la password sono facilmente individuabili, non è consigliabile utilizzare questo tipo di autenticazione senza crittografia.
I server di messaggistica SMTP con connessione a Internet di molte organizzazioni sono configurati per la convalida dell'indirizzo IP di origine, del corrispondente nome di dominio DNS (Domain Name System) e dell'indirizzo IP di ricerca inversa di qualsiasi host Internet che tenti di inviare un messaggio al server. Se si connette un computer di test a Internet e si tenta di inviare un messaggio di prova a un server di messaggistica remoto utilizzando Telnet sulla porta 25, il messaggio potrebbe essere rifiutato. Per soddisfare gli eventuali requisiti di protezione imposti dal server di messaggistica remoto, è possibile connettersi al server in questione dal server Trasporto Edge. I domini accettati configurati sul server Trasporto Edge hanno i record DNS di di Mail Exchanger (MX), i record di indirizzo (A, Address) e i record di ricerca inversa appropriati, che identificano il server Trasporto Edge come l'origine legittima e rintracciabile dei messaggi di posta elettronica per i domini accettati in Internet.
Nelle procedure riportate in questo argomento viene illustrato come utilizzare il client Telnet Microsoft incluso in Microsoft Windows Server 2003 e Windows XP. Le versioni precedenti di Windows o i client Telnet di terze parti potrebbero richiedere una sintassi diversa. I comandi nel client Telnet Windows non rilevano la distinzione tra maiuscole e minuscole. I verbi dei comandi SMTP sono resi al maiuscolo per maggiore chiarezza.
Non è possibile utilizzare BACKSPACE dopo essersi connessi al server SMTP di destinazione durante la sessione di Telnet. Se si commette un errore durante la digitazione di un comando SMTP, è necessario premere INVIO e digitare nuovamente il comando. I comandi SMTP non riconosciuti e gli errori di sintassi causano la visualizzazione di un messaggio di errore simile al seguente:
500 5.3.3 Unrecognized command
Utilizzo dello strumento Nslookup dalla riga di comando per trovare l'indirizzo IP di un server SMTP
Per connettersi a un server SMTP di destinazione utilizzando Telnet sulla porta 25, è necessario disporre del nome di dominio completo (FQDN, Fully Qualified Domain Name) o dell'indirizzo IP del server SMTP. Il modo più semplice per ottenere questa informazione è utilizzare lo strumento Nslookup dalla riga di comando per trovare il record MX del dominio di destinazione.
Per utilizzare lo strumento Nslookup per trovare l'indirizzo IP di un server SMTP
Al prompt dei comandi digitare nslookup e quindi premere INVIO. Il comando consente di aprire la sessione di Nslookup.
Digitare set type=mx e quindi premere INVIO.
Digitare set timeout=20 e quindi premere INVIO. Per impostazione predefinita, i server DNS di Windows hanno un limite di timeout delle query DNS ricorsive di 15 secondi.
Digitare il nome del dominio per cui si desidera trovare il record MX. Per trovare il record MX per il dominio fabrikam.com digitare, ad esempio, fabrikam.com. e quindi premere INVIO.
Nota
Il punto finale ( . ) indica un nome FQDN. L'uso del punto finale impedisce l'aggiunta accidentale al nome di dominio di qualsiasi suffisso DNS predefinito configurato per la rete.
L'output del comando sarà simile al seguente:
fabrikam.com mx preference=10, mail exchanger = mail1.fabrikam.com fabrikam.com mx preference=20, mail exchanger = mail2.fabrikam.com mail1.fabrikam.com internet address = 192.168.1.10 mail2 fabrikam.com internet address = 192.168.1.20
Come server di destinazione è possibile utilizzare qualsiasi nome host o indirizzo IP associato ai record MX. Un valore di preferenza più basso indica un server SMTP preferenziale. È possibile utilizzare più record MX e valori di preferenza diversi per il bilanciamento del carico e la tolleranza d'errore.
Quando si è pronti a terminare la sessione di Nslookup, digitare exit e quindi premere INVIO.
Nota
Le restrizioni del firewall o del proxy Internet applicate alla rete interna dell'organizzazione potrebbero impedire l'utilizzo dello strumento Nslookup per eseguire query sui server DNS pubblici in Internet.
I record MX non sono tassativamente necessari per il flusso di messaggi interno a un'organizzazione di Exchange. Se si deve trovare il nome FQDN di un server Trasporto Hub o di un server Trasporto Edge sottoscritto nell'organizzazione, è possibile utilizzare il comando seguente in Exchange Management Shell: Get-ExchangeServer | where {$.isHubTransportServer -eq $true -or $.isEdgeServer -eq $true} | Format-List Fqdn,ServerRole
Per ulteriori informazioni, vedere Get-ExchangeServer e Pipelining.
Utilizzo di Telnet sulla porta 25 per la verifica della comunicazione SMTP
Nella procedura riportata in questa sezione viene illustrato come utilizzare Telnet sulla porta 25 per la verifica della comunicazione SMTP. Nella procedura vengono utilizzati i valori descritti nell'elenco seguente:
Server SMTP di destinazione mail1.fabrikam.com
Dominio di origine contoso.com
Indirizzo di posta elettronica del mittente chris@contoso.com
Indirizzo di posta elettronica del destinatario kate@fabrikam.com
Oggetto del messaggio Test Contoso
Corpo del messaggio Messaggio di prova
Nota
È sempre consigliabile utilizzare un indirizzo di posta elettronica di un mittente valido, in modo che tutti gli eventuali messaggi Rapporto di mancato recapito generati dal server SMTP di destinazione vengano recapitati al mittente del messaggio.
Per utilizzare Telnet sulla porta 25 per la verifica della comunicazione SMTP
Al prompt dei comandi digitare telnet e quindi premere INVIO. Il comando consente di aprire la sessione di Telnet.
Digitare set localecho e quindi premere INVIO. Questo comando opzionale consente di visualizzare i caratteri mentre vengono digitati. Questa impostazione potrebbe essere necessaria per alcuni server SMTP.
Digitare set logfile <nome file>. Questo comando facoltativo consente alla sessione di Telnet di accedere al file di registro specificato. Se si specifica il solo nome file, il percorso del file di registro corrisponderà alla directory di lavoro corrente. Se si specifica nome file e percorso, quest'ultimo dovrà essere interno al computer locale. Sia il percorso che il nome file specificati devono essere immessi nel formato Microsoft DOS 8.3. Il percorso specificato deve essere già esistente. Se si specifica un file di registro inesistente, il file in questione verrà creato.
Digitare open mail1.fabrikam.com 25 e quindi premere INVIO.
Digitare EHLO contoso.com e quindi premere INVIO.
Digitare MAIL FROM:chris@contoso.com e quindi premere INVIO.
Digitare RCPT TO:kate@fabrikam.com NOTIFY=success,failure e quindi premere INVIO. Il comando NOTIFY opzionale consente di definire gli specifici messaggi di notifica sullo stato del recapito (DSN) che il server SMTP di destinazione deve fornire al mittente. I messaggi DSN vengono definiti nell'RFC 1891. In questo caso, si sta richiedendo un messaggio DSN per il recapito riuscito o non riuscito di un messaggio.
Digitare DATA e quindi premere INVIO. Si riceverà una risposta simile alla seguente:
354 Start mail input; end with <CLRF>.<CLRF>
Digitare Oggetto: Test Contoso e quindi premere INVIO.
Premere INVIO. L'RFC 2822 richiede una riga vuota tra il campo di intestazione
Subject:
e il corpo del messaggio.Digitare Messaggio di prova e quindi premere INVIO.
Premere INVIO, digitare un punto ( . ) e quindi premere INVIO. Si riceverà una risposta simile alla seguente:
250 2.6.0 <GUID> Queued mail for delivery
Per disconnettersi dal server SMTP di destinazione, digitare QUIT e quindi premere INVIO. Si riceverà una risposta simile alla seguente:
221 2.0.0 Service closing transmission channel
Per chiudere la sessione di Telnet, digitare quit e quindi premere INVIO.
Interpretazione dei risultati di una sessione di Telnet con un server SMTP
In questa sezione vengono fornite informazioni dettagliate sulle risposte che potrebbero essere generate dai comandi immessi nell'esempio precedente.
Nota
I codici di risposta SMTP a tre cifre definiti nell'RFC 2821 sono gli stessi per tutti i server di messaggistica SMTP. Le descrizioni testuali potrebbero essere leggermente diverse per alcuni server di messaggistica SMTP. In questo esempio, il computer di destinazione esegue Exchange Server 2007.
Aprire mail1.fabrikam.com 25
Risposta di esito positivo 220 mail1.fabrikam.com Microsoft ESMTP MAIL Service ready at <day-date-time>
Risposta di esito negativo Connecting to mail1.fabrikam.com...Could not open connection to the host, on port 25: Connect failed
Possibili motivi di errore
Il server SMTP di destinazione non è disponibile.
Sono presenti restrizioni sul firewall di destinazione.
Sono presenti restrizioni sul firewall di origine.
È stato specificato un nome FQDN o un indirizzo IP non corretto per il server SMTP di destinazione.
È stato specificato un numero di porta non corretto.
EHLO contoso.com
Risposta di esito positivo 250 mail1.fabrikam.com Hello [<sourceIPaddress>]
Risposta di esito negativo 501 5.5.4 Invalid domain name
Possibili motivi di errore Sono presenti caratteri non validi nel nome di dominio. In alternativa, sono presenti restrizioni di connessione sul server SMTP di destinazione.
Nota
EHLO è il verbo ESMTP (Extended Simple Message Transfer Protocol) definito nell'RFC 2821. I server ESMTP possono annunciare le proprie funzionalità durante la connessione iniziale. Tali funzionalità includono la dimensione massima dei messaggi accettati e i metodi di autenticazione supportati. HELO è il precedente verbo SMTP definito nell'RFC 821. La maggior parte dei server di messaggistica SMTP supporta ESMTP ed EHLO.
MAIL FROM:chris@contoso.com
Risposta di esito positivo 250 2.1.0 Sender OK
Risposta di esito negativo 550 5.1.7 Invalid address
Possibili motivi di errore È presente un errore di sintassi nell'indirizzo di posta elettronica del mittente.
Risposta di esito negativo 530 5.7.1 Client was not authenticated
Possibili motivi di errore Il server di destinazione non accetta invii di messaggi anonimi. Viene visualizzato questo errore se si tenta di utilizzare Telnet per inviare un messaggio direttamente a un server Trasporto Hub.
RCPT TO:kate@fabrikam.com NOTIFY=success,failure
Risposta di esito positivo 250 2.1.5 Recipient OK
Risposta di esito negativo 550 5.1.1 User unknown
Possibili motivi di errore Il destinatario specificato non esiste nell'organizzazione.
Ulteriori informazioni
Per ulteriori informazioni, vedere i seguenti argomenti: