命令列傳送接收郵件smtp、pop3協議-計網(3)
阿新 • • 發佈:2018-12-22
前言
學習郵件系統的相關知識後,實際操作一下。應用一下具體的命令列。
正文
要看看我計算機網路應用層基礎總結的這裡
smtp協議
- 常見命令
命令列 | 作用 |
---|---|
helo smtp | 和伺服器打招呼,測試登陸進去沒 |
auth login | 登陸具體郵箱,使用者名稱和密碼是經過base64加密的 |
mail from | 輸入郵件的傳送方 |
rcpt to | 輸入郵件的接收方 |
data | 開始編寫郵件 |
quit | 退出 |
- 常見的反饋程式碼
程式碼 | 含義 |
---|---|
220 | smtp已處於線上狀態,可以進行相關操作 |
221 | 關閉smtp服務 |
250 | 當前操作已經正確完成 |
334 | 等待輸入,在登陸使用者是出現 |
235 | 驗證成功 |
535 | 驗證失敗 |
- 實際操作
我是使用163郵箱發郵件到gmail中。
- 開啟smtp服務
要在官網中設定一下,官網
找到設定
->POP3/SMTP/IMAP
,開啟這幾個服務,結果如下圖
獲得授權碼
點選客戶端授權密碼
按要求完成,並且記錄下授權碼,之後登陸就用這個授權碼。
OK,設定至此完成了 - 賬戶驗證
終端先連線smtp服務,並向伺服器打招呼,看是否得到正確迴應
telnet smtp.163.com 25
helo smtp
之後就要驗證賬號密碼了,賬號(不包括@163.com)和密碼(剛剛設定的授權碼)都是base64加密後的,可以線上加密 加密網址
auth login
#base64 encode過的賬號
#base64 encode過的授權碼
如果出現了535 Authentication failed
可能是,賬號授權碼問加密,賬號把@163.com一起加密輸進去了,輸入授權碼而不是密碼
- 傳送郵件
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
然後在官網進行驗證。
提示我們已經刪除,並且備份到客戶端刪信資料夾,到資料夾看一下,對比是不是我們刪除的。
檢視內容
確實是我們刪除的。