計算機網路自頂向下方法 第二章 2.4.1節 2.4.3節 關於SMTP報文與telnet的小實驗
阿新 • • 發佈:2019-01-12
實驗環境:windows10 QQ郵箱
實驗過程
- windows10預設關閉telnet服務,首先要去控制面板開啟。
開啟方法:https://jingyan.baidu.com/article/ae97a646b22fb6bbfd461d19.html - 開啟QQ郵箱的SMTP相關服務,並取得授權碼來代替郵箱密碼
方法:https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=1001256&&id=28 - 部分操作需要用到base64編碼和解碼。網上工具很多,隨便找一個即可。
- 開啟命令列 輸入:
telnet smtp.qq.com 25
連線QQ郵箱伺服器
返回:
220 ******************************** - 命令列 輸入:
STARTTLS auth login
這是一種加密措施。QQ郵箱伺服器限制不加密的話登陸無法成功。
返回:
220 Ready to start TLS
注意伺服器可能因為請求過多,所以要輸入很多次才可能成功,例如我這樣:
可能需要嘗試更多次才能成功。 - 命令列 輸入:
HELO . HELO空格後面任意內容 返回:
250 smtp.qq.com - 命令列 輸入:
auth login
這是登陸命令
返回:
334 VXNlcm5hbWU6
VXNlcm5hbWU6的base64解碼後是Username:,提示你輸入使用者名稱 - 命令列 輸入你的使用者名稱(用base64編碼後)
比如我的[email protected]是MjY1NjQyNzYyMkBxcS5jb20= 返回:
334 UGFzc3dvcmQ6
提示你輸入密碼 - 命令列 輸入你的授權碼(用base64編碼後)
如果登陸成功則返回:
235 Authentication successful - 然後就可以傳送信件了,下面是我的例子:
如果沒有發生錯誤,返回一般都是:
250 OK - 發件人
MAIL FROM: [email protected] - 收件人
RCPT TO: [email protected] - 提示輸入正文
DATA - 正文內容
注意正文可以輸入報文首部,也可以不輸入。
不輸入的例子:
hello~
.
輸入的例子:
From: [email protected]
To: [email protected]
Subject: hello world
hello~
.
如果回覆:
250 Ok: queued as
說明已經成功了,正在佇列中等待發送。 - 傳送完之後 輸入QUIT退出telnet