Utilizzo di Telnet per eseguire il test delle comunicazioni SMTP
Si applica a: Exchange Server 2010
Ultima modifica dell'argomento: 2009-12-08
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 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.
Di seguito vengono descritti gli 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.
Nella procedura di questo argomento viene illustrato come utilizzare il client Telnet, un componente compreso in Microsoft Windows. I client Telnet di terze parti possono richiedere una sintassi differente da quella del componente Telnet di Windows.
Prerequisiti
Configura un connettore di ricezione per consentire l'accesso anonimo o l'autenticazione di base Siccome i trasferimenti di messaggi, che normalmente si verificano tra i server Trasporto Hub, sono crittografati e autenticati, il server Trasporto Hub interno dovrebbe disporre di un connettore di ricezione configurato per consentire l'accesso anonimo o l'autenticazione di base per la ricezione dei messaggi quando si utilizza Telnet sulla porta 25 per la verifica della comunicazione. L'accesso anonimo è necessario per i server con connessione a Internet
Nota
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.
Connettersi a un server di messaggistica remoto Si consiglia inoltre di connettersi a un server di messaggistica remoto dal server Trasporto Edge dell'organizzazione. Ciò consente di evitare il rifiuto del messaggio di prova da parte dei server SMTP con connessione a Internet 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 tenta di inviare un messaggio al server.
Installa e/o abilita il client Telnet Potrebbe essere necessario eseguire una o più delle seguenti attività prima di utilizzare Telnet per la verifica della comunicazione SMTP tra i server di messaggistica:
- Se ancora non è stato installato, installare il client Telnet. Per i dettagli sull'installazione del client Telnet su Windows Vista o Windows Server 2008, vedere Installa client Telnet.
- Abilitare il client Telnet su Windows Server 2008. Vedere la procedura più avanti in questo argomento.
Trova il nome di dominio completo o l'indirizzo IP di un server SMTP. Se non si conoscono, è possibile utilizzare Nslookup per trovare il nome di dominio completo o l'indirizzo IP di un server SMTP. Vedere la procedura descritta più avanti in questo argomento.
Abilitazione del client Telnet in Windows Server 2008
L'appartenenza al gruppo Administrators locale di Windows Server 2008 o equivalente è il requisito minimo necessario per completare questa procedura.
In Windows Server 2008, il client Telnet è disabilitato per impostazione predefinita. Per abilitarlo, procedere come segue:
- Aprire Server Manager.
- Fare clic su Azione, e selezionare Aggiungi funzionalità.
- Selezionare Client Telnet e fare clic su Avanti.
- Fare clic su Installa, quindi su Chiudi per completare l'installazione del client Telnet.
Individuazione del nome di dominio completo o dell'indirizzo IP di un server SMTP tramite Nslookup
Per connettersi a un server SMTP di destinazione utilizzando Telnet sulla porta 25, è necessario utilizzare il nome di dominio completo (FQDN) o l'indirizzo IP del server SMTP. Se non si conosce il nome di dominio completo o l'indirizzo IP, il modo più semplice per ottenere queste informazioni è utilizzare lo strumento della riga di comando Nslookup per trovare il record MX del dominio di destinazione.
Nel prompt dei comandi, digitare nslookup e premere INVIO. Il comando consente di aprire la sessione di Nslookup.
Digitare set type=mx, quindi premere INVIO.
Digitare set timeout=20, 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. Ad esempio, per trovare il record MX per il dominio fabrikam.com digitare, fabrikam.com. e premere INVIO.
Nota
Il punto finale ( . ) indica un nome di dominio completo. 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 Nslookup, digitare exit e 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.
Verifica della comunicazione SMTP tramite Telnet sulla porta 25
Per fornire un esempio, la seguente procedura utilizza i valori descritti nel seguente elenco:
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.
I comandi nel client Telnet non rilevano la distinzione tra maiuscole e minuscole. I verbi dei comandi SMTP sono resi al maiuscolo per maggiore chiarezza.
Nel prompt dei comandi, digitare telnet e premere INVIO. Il comando consente di aprire la sessione di Telnet.
Digitare set localecho, 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 <nomefile>. 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, quindi premere INVIO.
Nota
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
Digitare EHLO contoso.com, quindi premere INVIO.
Digitare MAIL FROM:chris@contoso.com, quindi premere INVIO.
Digitare RCPT TO:kate@fabrikam.com NOTIFY=success,failure, 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 in RFC 1891. In questo caso, si sta richiedendo un messaggio DSN per il recapito riuscito o non riuscito di un messaggio.
Digitare DATA, 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. 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 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 premere INVIO. Si riceverà una risposta simile alla seguente:
221 2.0.0 Service closing transmission channel
Per chiudere la sessione Telnet, digitare quit e premere INVIO.
Valutazione dei risultati di una sessione Telnet
In questa sezione vengono fornite informazioni sulle risposte che possono essere fornite ai seguenti comandi, utilizzati nell'esempio precedente:
Aprire mail1.fabrikam.com 25
EHLO contoso.com
MAIL FROM:chris@contoso.com
RCPT TO:kate@fabrikam.com NOTIFY=success,failure
Nota
I codici di risposta SMTP a tre cifre definiti in 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. Nell'esempio precedente, il computer di destinazione eseguiva Exchange Server 2010.
Aprire mail1.fabrikam.com 25
Risposta positiva 220 mail1.fabrikam.com Microsoft ESMTP MAIL Service ready at <day-date-time>
Risposta di errore 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 positiva 250 mail1.fabrikam.com Hello [<sourceIPaddress>]
Risposta di errore 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 comando ESMTP definito in RFC 2821. I server ESMTP possono annunciare le funzionalità durante la connessione iniziale. Tali funzionalità includono la dimensione massima dei messaggi accettati e i metodi di autenticazione supportati. HELO indica il comando SMTP precedente definito in RFC 821. La maggior parte dei server di messaggistica SMTP supporta ESMTP ed EHLO.
MAIL FROM:chris@contoso.com
Risposta positiva 250 2.1.0 Sender OK
Risposta di errore 550 5.1.7 Invalid address
Possibili motivi di errore È presente un errore di sintassi nell'indirizzo di posta elettronica del mittente.
Risposta di errore 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 positiva 250 2.1.5 Recipient OK
Risposta di errore 550 5.1.1 User unknown
Possibili motivi di errore Il destinatario specificato non esiste nell'organizzazione.