1. 程式人生 > >計算機網路自頂向下方法 第二章 2.4.1節 2.4.3節 關於SMTP報文與telnet的小實驗

計算機網路自頂向下方法 第二章 2.4.1節 2.4.3節 關於SMTP報文與telnet的小實驗

實驗環境: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
    注意伺服器可能因為請求過多,所以要輸入很多次才可能成功,例如我這樣:
    Image text 
    可能需要嘗試更多次才能成功。
  • 命令列 輸入:
    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

實驗結果

Image text
無報文首部的郵件情況:
Image text
有報文首部的郵件情況:
Image text