Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> 使用SMTP協議Telnet測試郵件服務器

使用SMTP協議Telnet測試郵件服務器

日期:2017/2/8 10:25:18      編輯:關於服務器

  本文介紹如何telnet到運行簡單郵件傳輸協議(SMTP)服務的計算機上的端口25,以解決SMTP通信問題。默認情況下,SMTP偵聽端口 25。

  您可以根據您遇到的問題類型選用以下適當的疑難解答步驟。例如,如果您在兩台 Microsoft Exchange 2000 Server服務器之間通過SMTP發送郵件時遇到問題,則可以通過在發送服務器上使用 Telnet連接到目標服務器上的端口25來測試SMTP連接。或者,如果您在接收來自Internet的SMTP郵件時遇到問題,則可以按照本文中列出的步驟,測試駐留在Internet上但不在您的網絡上的主機與您的 SMTP服務器的連接。更多信息Microsoft產品線中有SMTP的多個不同變體。Microsoft Windows產品線的 SMTP服務包含在Internet信息服務(IIS)中,而在Microsoft Windows NT Server 4.0中,SMTP服務包含在Option Pack中。在較新版本的Windows中,IIS已被集成到操作系統中,並且您可以使用“控制面板”中的“添加或刪除程序”添加IIS。此外,Exchange 2000和Microsoft Exchange Server 2003 都使用IIS中的現有SMTP服務及其他功能。Microsoft Exchange Server版本4.0、5.0和5.5均包含它們自己的SMTP版本,所采用的形式為Internet Mail Connector (IMC)或Internet Mail Service (IMS)。

  注意:

  在Exchange 5.0及更高版本中,Internet Mail Connector(IMC)被重命名為Internet Mail Service。

  在啟動Telnet會話之前,必須具有要將此測試郵件發送到的目標用戶的完整SMTP電子郵件地址。該電子郵件地址必須采用以下格式:[email protected]您也可以具有運行SMTP服務的服務器計算機的完全限定域名(FQDN)或IP地址(例如,10.120.159.1)。如果服務器在您的組織中,您可能已經擁有這些信息。如果服務器是外部服務器,查找這些信息最簡單的方法是使用Nslookup.exe以找到包含這些信息的DNS記錄。

  有關NSlookup的其他信息,請單擊下面的文章編號,以查看Microsoft知識庫中相應的文章:200525 使用NSlookup.exe有關如何獲取Internet郵件交換器記錄的其他信息,請單擊下面的文章編號,以查看 Microsoft知識庫中相應的文章:203204 XFOR:如何獲取Internet郵件交換器記錄確保運行SMTP服務的服務器上已啟動SMTP。要測試SMTP是否已啟動,您可以運行本文中列出的基本測試,並驗證您是否會收到來自遠程服務器的220消息。這還將驗證SMTP是否正在運行。

  注意:

  有些Telnet應用程序要求您打開本地回顯功能,以查看鍵入的命令。要在Microsoft Telnet會話中執行此操作,請在命令提示符處鍵入set local_echo。

  在Microsoft Windows XP中,應鍵入set localecho而不是set local_echo。

  基本測試 按照下列步驟操作,以確保主機和遠程SMTP服務器能夠通信。如果在您鍵入以下任一命令之後,收到以下錯誤信息,則說明 SMTP 服務器因為語法錯誤或命令錯誤而無法識別您所鍵入的內容:500 Command not recognized檢查該命令並再次鍵入它,或者驗證您是否正在與Microsoft SMTP服務器直接通信。

  注意:

  Microsoft Telnet不允許您使用Backspace鍵。如果在鍵入時出錯,必須按Enter鍵,然後開始鍵入新的命令。

  在以下步驟中,您要從命令行中運行Telnet。要打開命令行,請單擊“開始”,單擊“運行”,在“打開”框中鍵入cmd,然後單擊“確定”。1.您可以通過使用以下格式的Telnet命令來啟動Telnet會話:

  注意:在鍵入每行內容之後按Enter鍵。telnet服務器名端口號例如,鍵入:telnet mail.contoso.com 25 注意:您可以將服務器名替換為您要連接到的SMTP服務器的IP地址或FQDN。記住在鍵入每個命令之後按Enter鍵。

  如果該命令起作用,您將會收到來自SMTP服務器的類似以下內容的消息:220 site.contoso.com Microsoft Exchange Internet Mail Connector 注意:由於有許多不同版本的 Microsoft SMTP或第三方SMTP服務器,因此您可能會收到來自接收服務器的不同的消息。不過,您肯定會收到包含服務器的FQDN和SMTP的版本的220消息。此外,所有版本的Microsoft SMTP在220消息中都包含“Microsoft”一詞。2. 通過鍵入以下命令開始通信:EHLO test.com注意:您可以使用HELO命令,但是EHLO是擴展SMTP動詞集中的一個動詞,SMTP的所有當前Microsoft實現都支持該動詞集。除非您認為擴展SMTP動詞有問題,否則最好使用EHLO。

  如果該命令成功,您會收到以下消息:250 OK 3. 鍵入以下命令向接收SMTP服務器通知郵件發件人:MAIL FROM:[email protected] 注意:該地址可以是您想使用的任何SMTP地址,但是最好考慮以下問題:1. 有些SMTP郵件系統會基於MAIL FROM:地址篩選郵件,並且會禁止某些IP地址連接到SMTP郵件系統,或者如果連接IP地址與SMTP郵件系統所在的域不匹配,它還會禁止該地址向SMTP郵件系統發送電子郵件。在本例中,該域是test.com。2. 如果您在發送郵件時沒有使用有效的電子郵件地址,您將無法確定在發送郵件時是否有問題,因為未送達報告(NDR)無法到達無效的IP地址。如果您使用有效的電子郵件地址,您將會收到來自SMTP服務器的以下消息:250 OK - MAIL FROM [email protected] 4. 鍵入以下命令向接收SMTP服務器通知郵件的收件人。

  注意:

  最好始終使用要發送到的域中的有效收件人SMTP地址。例如,如果您要發送到[email protected],必須確保域中存在 [email protected]。否則,您會收到NDR。

  使用您要發送到的人員的SMTP地址鍵入以下命令:RCPT TO:[email protected] 您會收到以下消息:250 OK - Recipient User@ Domain.Com 5. 鍵入以下命令通知 SMTP服務器您已准備好發送數據:DATA 您會收到以下消息:354 Send data. End with CRLF.CRLF 6. 您現在已可以開始鍵入郵件的 822/2822 部分。用戶將會在他們的收件箱中看到郵件的這一部分。鍵入以下命令以添加主題行:Subject:test message按兩次Enter鍵。此命令不會顯示任何信息。

  注意:按兩次Enter鍵為了與Request for Comments (RFC) 822和2822保持一致。它規定822命令後面必須跟一個空行。7. 鍵入以下命令以添加郵件正文:This is a test message you will not see a response from this command.8. 在下一個空行中鍵入英文句點 (.),然後按Enter鍵。 您會收到以下消息:250 OK 9. 鍵入以下命令關閉連接:QUIT您會收到以下消息:221 closing connection 10. 驗證收件人是否收到您發送的消息。如果在應用程序事件日志中出現任何錯誤事件消息,或者接收郵件時出現問題,請檢查主機的配置或通信。高級測試 除本文前面列出的基本測試步驟外,您還可以使用送達回執對郵件進行雙向測試。您可以使用此方法驗證SMTP服務器是否可以接受入站連接,並且為發件人生成一個送達回執以測試SMTP服務器的出站連接。

  要為測試郵件請求送達回執,請參見本文“基本測試”一節的第 4 步,以確保提供的信息是可以接收送達回執的有效電子郵件地址。然後在本文“基本測試”一節的第 5 步中,在Telnet會話中鍵入以下命令:RCPT TO:[email protected] notify=success, failurestelnet mail.contoso.com 25 220 site.contoso.com Microsoft Exchange Internet Mail Connector EHLO test.com250 OK MAIL FROM:[email protected] 250 OK - MAIL FROM [email protected] RCPT TO:[email protected] 250 OK - Recipient User@ Domain.Com DATA 354 Send data. End with CRLF.CRLF Subject:test message 按兩次Enter鍵。This is a test message you will not see a response from this command.在下一個空行中鍵入英文句點 (.),然後按Enter鍵。 250 OK QUIT 221 closing connection 傳送郵件的應答: 500 格式錯誤,命令不可識別(此錯誤也包括命令行過長)501 參數格式錯誤502 命令不可實現503 錯誤的命令序列504 命令參數不可實現211 系統狀態或系統幫助響應214 幫助信息220 服務就緒221 服務關閉傳輸信道421 服務未就緒,關閉傳輸信道(當必須關閉時,此應答可以作為對任何命令的響應)250 要求的郵件操作完成251 用戶非本地,將轉發向450 要求的郵件操作未完成,郵箱不可用(例如,郵箱忙)550 要求的郵件操作未完成,郵箱不可用(例如,郵箱未找到,或不可訪問)451 放棄要求的操作;處理過程中出錯551 用戶非本地,請嘗試452 系統存儲不足,要求的操作未執行552 過量的存儲分配,要求的操作未執行553 郵箱名不可用,要求的操作未執行(例如郵箱格式錯誤)354 開始郵件輸入,以LF>結束554 操作。

Copyright © Windows教程網 All Rights Reserved