1. 程式人生 > >命令列傳送接收郵件smtp、pop3協議-計網(3)

命令列傳送接收郵件smtp、pop3協議-計網(3)

前言

學習郵件系統的相關知識後,實際操作一下。應用一下具體的命令列。

正文

要看看我計算機網路應用層基礎總結的這裡

smtp協議

  • 常見命令
命令列 作用
helo smtp 和伺服器打招呼,測試登陸進去沒
auth login 登陸具體郵箱,使用者名稱和密碼是經過base64加密的
mail from 輸入郵件的傳送方
rcpt to 輸入郵件的接收方
data 開始編寫郵件
quit 退出
  • 常見的反饋程式碼
程式碼 含義
220 smtp已處於線上狀態,可以進行相關操作
221 關閉smtp服務
250 當前操作已經正確完成
334 等待輸入,在登陸使用者是出現
235 驗證成功
535 驗證失敗
  • 實際操作
    我是使用163郵箱發郵件到gmail中。
  1. 開啟smtp服務
    要在官網中設定一下,官網
    找到設定->POP3/SMTP/IMAP,開啟這幾個服務,結果如下圖
    設定
    獲得授權碼
    點選客戶端授權密碼按要求完成,並且記錄下授權碼,之後登陸就用這個授權碼。
    授權碼
    OK,設定至此完成了
  2. 賬戶驗證
    終端先連線smtp服務,並向伺服器打招呼,看是否得到正確迴應
telnet smtp.163.com 25
helo smtp

迴應正確
之後就要驗證賬號密碼了,賬號(不包括@163.com)和密碼(剛剛設定的授權碼)都是base64加密後的,可以線上加密

加密網址

auth login
#base64 encode過的賬號
#base64 encode過的授權碼

驗證成功
如果出現了535 Authentication failed 可能是,賬號授權碼問加密,賬號把@163.com一起加密輸進去了,輸入授權碼而不是密碼

  1. 傳送郵件
mail from <[email protected]>
rcpt to <examplemail>
data #開始寫郵件

值得注意的是,寫郵件的頭部資訊包含from、to以及subject,這三項之後跟空格然後才是對應的內容,並且頭部資訊和正文以空行分割,.郵件結束,傳送郵件.
傳送郵件
4. 檢視結果
開啟163,在發件箱檢視

OK。

pop3協議

pop3預設埠為110。pop3協議有兩個階段:

  • 認證階段
    使用者端輸入使用者名稱、密碼進行認證,伺服器端返回OK或者ERR
  • 事務階段
    可以對郵件基本操作。

常用命令

命令 作用
user 輸入使用者名稱
pass 輸入密碼
list 列出訊息數量,並且自動編號
retr 根據訊息編號檢索訊息
dele 刪除訊息
quit 退出

例項操作
大體流程是使用telnet登陸、身份認證、進入事務階段,基本操作

 telnet pop.163.com 110

成功後會返回OK .....省略,如圖:
認證成功

進入認證階段,輸入的內容都不需要進行加密

user username
pass 授權碼

認證成功
如果出現了ERR返回碼,則可能是:

  • 輸入使用者名稱加上了@xx.com
  • 沒有輸入授權碼,而是輸入了密碼
  • 拼寫有錯誤

認證成功後即進入事務階段。這裡,我先列出我的所有郵件,然後檢視一封,最後刪除這一封,並且在163郵箱官網驗證結果。

list 

在這裡插入圖片描述
檢視第一封郵件

retr 1


找到具體內容
具體

最後刪除並退出

dele 1
quit

退出

然後在官網進行驗證。
驗證

提示我們

提示我們已經刪除,並且備份到客戶端刪信資料夾,到資料夾看一下,對比是不是我們刪除的。

檢視內容

確實是我們刪除的。