文章目錄
使用 telnet 檢查 SMTP 是否正常提供服務
近期手上的重要專案到了要上線的最終階段,在正式對外服務前,Server 間的相關設定都需要一一確認與驗證,其中關於 mail server (SMTP) 這塊,因為是全新的 server,沒有額外安裝可以用來測試的工具也沒有其他 application 可以用來測試,這時 Windows 內建的基本工具 telnet 就成為最佳幫手了
而我因為好一陣子沒用生疏不少,趁著這次機會再複習一下,順手紀錄一下用法
檢查步驟
使用 telnet 連線至 mail server
方法一:
開啟
cmd
並執行 telnet連線至 mail server
指令
o {mail server} 25
範例
o mail.yowko.com 25
已連線
方法二:
開啟
cmd
並使用 telnet 連線 mail server指令
telnet {mail server} 25
範例
telnet mail.yowko.com 25
已連線
檢查 mail server 是否能正確回應
讓 mail server 向發出指令的電腦說
Hello
使用
EHLO
(推薦)這是
HELO
的擴充指令,因為HELO
原始設計並沒有提供支援 protocal (e.g. TLS)的資料,詳細說明可以參考 What is the difference between the HELO/EHLO commands?可以只用
EHLO
EHLO
也可以加上 mail server
EHLO {mail server}
使用
HELO
可以只用
HELO
HELO
也可以加上 mail server
HELO {mail server}
指定寄件人
部份 mail server 不支援指定寄件人,像是 gmail
指令
MAIL FROM:{[email protected]}
範例
MAIL FROM:[email protected]
指定收件人
指令
RCPT TO:{[email protected]}
範例
RCPT TO:[email protected]
填寫信件內容
輸入
Data
會提示可以開始輸入信件內容,輸入完畢以
<CRLF>.<CRLF>
結尾( 按Enter
加上.
再加上一次Enter
)信件標題
輸入信件標題後,需按
兩次 Enter
與內文以一行空白隔開(沒有任何回應訊息)指令
Subject:{標題}
範例
Subject:test subject
內文
輸入完成後,需要 按
Enter
加上.
再加上一次Enter
當做結尾,成功會收到 mail server 列入處理 queue 的 250 訊息
實際效果
心得
個人經驗:在 telnet 互動模式中如果有打錯字,使用 Backspace
並無法真正刪除,據我的操作,只要打錯字重新輸入當次指令一定都失敗
透過 telnet 想要發送精美的 mail 可能有些不切實際,但在用來測試 SMTP 有效性上就非常好用,除了 Windows 內建的 telnet client 之外不需要額外安裝其他軟體,尤其在資安防護較高的機房環境特別好用
參考資訊
文章作者 Yowko Tsai
上次更新 2021-10-14
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。