圖解使用telnet程式手工接收郵件及其過程
郵件的接收使用了 POP3 (Post Office Protocol ,郵局協議)協議。POP3 協議定義了郵件客戶端程式與 POP3 伺服器進行通訊以獲得郵件相關內容的具體規則和細節。
POP3 協議類似於 SMTP 協議,它定義了一些命令用於管理郵箱等具體操作,為了能夠在 Windows 下使用 telnet 程式來接收郵件,我們需要明白這些相關命令,具體請看下面(<space> 為空格,<CRLF> 為回車加換行):
- 1、user<space>郵箱的使用者名稱<CRLF> :
- 該命令用於與 POP3 伺服器建立聯絡;
- 2、pass<
- 該命令用於 user 命令成功建立連線之後向 POP3 伺服器傳送郵箱的密碼;
- 3、stat<CRLF> :
- 該命令用於檢視郵箱中的郵件數量以及所佔用的位元組大小;
- 4、uidl<space>msg#<CRLF> :
- 該命令用於查詢郵箱中編號為 msg# 的郵件的唯一識別符號,注:郵箱中的編號是從 1 開始的;
- 5、list<space>[msg#]<CRLF> :
- 該命令用於將郵箱中的郵件資訊進行列表,當指定引數 msg# 時,返回該編號的郵件的資訊,不指定則返回所有郵件的資訊;
- 6、retr<space>msg#<CRLF> :
- 該命令用於獲取編號為msg#的郵件的內容;
- 7、dele<space>msg#<CRLF> :
- 該命令用於將編號為 msg# 的郵件設定上刪除的標記,注:執行該命令之後郵件並不立即被刪除,而是等到執行 quit 命令才會被刪除;
- 8、rset<space>msg#<CRLF> :
- 該命令用於將執行了 dele 命令的編號為 msg# 的郵件的刪除標記清楚掉;
- 9、quit<space>msg#<CRLF> :
- 該命令用於結束與 POP3 伺服器的連結,即結束郵件的接收過程,執行完該命令之後,郵箱中被設定了刪除標記的郵件會被真正刪除掉。
實際上, POP3 協議中還有其他幾個命令,這裡就不給出了,有興趣的搜尋一下。
現在用前面兩篇文章註冊使用過的 [email protected] 和 [email protected] 郵箱(密碼都是:123456)進行實驗,假設我們要接收 [email protected] 郵箱中的郵件,那麼必須知道 163 郵箱的 POP3 伺服器是 pop33.163.com ,並且 POP3 伺服器建立連線的預設埠號是 110 , 具體實驗過程如下:
1、在 Windows 命令列提示符控制檯下使用 telnet 程式與 pop3.163.com 建立連線,輸入命令 telnet pop3.163.com 110 ,如下圖:
連線建立成功,POP3 伺服器返回響應資訊如下圖:
2、使用 user 命令和 pass 命令分別傳送郵箱使用者名稱和密碼,如下圖:
從返回的響應資訊看,已經給出了該郵箱中包含了 4封郵件,共佔 25288 位元組的空間,這從 4 message(s) [24116 byte(s)] 可以看得出來。我們用瀏覽器登入郵箱檢視一下這些資訊是否一致,如下圖:
嗯,資訊是對的,共 4 封郵件。
3、使用 stat 命令檢視郵箱中的郵件數量以及所佔位元組數,如下圖:
4、使用 uidl 命令查詢指定編號的郵件的唯一識別符號,假設我們查詢編號為 2 的郵件,如下圖:
5、使用 list 命令查詢郵箱中所有郵件的資訊,如下圖:
6、 使用 list 命令查詢某一編號的郵件資訊,假設我們檢視編號為 2 的郵件,如下圖:
7、使用 dele 命令為某一編號的郵件設定刪除標記,再用 list 命令檢視,如下圖:
發現 list 命令查詢出來確實不見了編號為 2 的郵件資訊。
8、使用 rset 命令清除被標上刪除標記的郵件,這裡我們把編號為 2 郵件還原回來,如下圖:
9、使用 dele 命令之後再使用 quit 命令斷開連線,即結束與 POP3 伺服器的通訊,然後從瀏覽器登入該郵箱檢視編號為 2 的郵件是否被刪除,如下圖:
10、使用 retr 檢視某一編號的郵件中的內容,假設編號為 1,如下圖:
這樣子查詢得到的郵件 2 的內容有太多的 MIME 協議定義的格式了,很多都是訊息體、訊息頭什麼的,而且是經過了 BASE64 編碼轉換過的,具體的格式含義請搜尋瞭解一下。
至此,使用 telnet 程式來手工地接受郵件的過程就差不多了,也是一種感覺:麻煩。
相關推薦
圖解使用telnet程式手工接收郵件及其過程
郵件的接收使用了 POP3 (Post Office Protocol ,郵局協議)協議。POP3 協議定義了郵件客戶端程式與 POP3 伺服器進行通訊以獲得郵件相關內容的具體規則和細節。 POP3 協議類似於 SMTP 協議,它定義了一些命令用於管理郵箱等具體操作,為
javamail接收郵件(zt)
messages code internet multi exceptio ora pen cati lai zt from:http://xiangzhengyan.iteye.com/blog/85961 import <a href="http://lib
Outlook2016 自動接收郵件的設置
utl 時間 接收 ima com png -s span mil 在這個選項裏就可以設置郵件的接收時間了Outlook2016 自動接收郵件的設置
郵件實現詳解(四)------JavaMail 發送(帶圖片和附件)和接收郵件
發送 網絡圖 發送對象 true n) com 訪問權限 sub map 好了,進入這個系列教程最主要的步驟了,前面郵件的理論知識我們都了解了,那麽這篇博客我們將用代碼完成郵件的發送。這在實際項目中應用的非常廣泛,比如註冊需要發送郵件進行賬號激活,再比如OA項目中利用郵
【學習筆記】計算機網絡-利用TELNET進行SMTP的郵件發送
alt tle smtp 用戶 sdn 編碼 out mark watermark 在命令行輸入telnet smtp.163.com 25 然後依次輸入內容 用戶名不包括@和後面的部分,用戶名和密碼均需base64編碼 成功收到郵件: 【學習筆記】計算機網絡-利用TEL
dovecot並發數造成foxmail、outlook等客戶端工具接收郵件有時候報錯
ash als stat class false limit var proc net 問題:dovecot並發數造成foxmail、outlook等客戶端工具接收郵件有時候報錯,頻繁點收取郵件報錯。/var/log/maillog日誌有大量的報錯:Jan 24 14:01
dovecot vsz_limit參造成foxmail、outlook等客戶端工具接收郵件有時候報錯
客戶 大量 fat foxmail 解決 ase toolbar ron memory 問題:dovecot並發數造成foxmail、outlook等客戶端工具接收郵件有時候報錯,關閉客戶端工具後又可以了。/var/log/maillog日誌有大量的報錯:Jan 25 08
Exchange 2016邊緣傳輸服務器設置接收郵件大小
邊緣傳輸服務器設置接收郵件大小下面命令是設置接收郵件大小為 300MB Get-ReceiveConnector | Set-ReceiveConnector -MaxMessageSize 314572800 Exchange 2016邊緣傳輸服務器設置接收郵件大小
各種程式語言的來源及其特點
Pascal語言: Pascal是一種計算機通用的高階程式設計語言,由瑞士Niklaus Wirth教授六十年代末設計並創立的。 Pascal的主要特點有:嚴格的結構化形式、豐富完備的資料型別、執行效率高、查錯能力強等特點。
telnet通過smtp傳送郵件
////////////////////////////////////CMD指令////////////////////////////////////////////// cmd telnet smtp.163.com 25 or &nb
微信小程式的開發準備及其除錯工具
一、微信小程式 微信公眾平臺 https://mp.weixin.qq.com/cgi-bin/wx 二、下載開發工具 https://developers.weixin.qq.com/miniprogram/dev/de
JavaMail傳送和接收郵件(轉載)
出處: http://blog.csdn.net/zapldy/article/details/3971579 一、JavaMail概述: JavaMail是由Sun定義的一套收發電子郵
【.NET】03 程式流程控制語句及其應用
3.1 算術運算子 算術運算子: + - * / % 3.2 強制型別轉換和自動型別轉換 自動型別轉換(隱式轉換) : 將精度低資料轉換為精度高的資料,系統自動進行,不會造成資料精度的丟失。 目標型別大於源型別 顯式型別轉換(強制轉換) 目標型別 小於 源型別
java程式實現QQ郵件的傳送:
1.要想遠端登入QQ必須做如下處理:參考如下: 通過以上文章可以實現用telnet工具命令列發qq郵件。 2.如果telnet命令不可識別:以下是win10安裝telnet方法參考如下: 3.java實現: package com.cl.socket2_12;
Python基於tkinter傳送和接收郵件
一、效果演示 二、傳送郵件程式碼 import smtplib import tkinter class Window: def __init__(self,root): label1 = tkinter.Label(root,text='SMTP
線性求逆元及其過程
寫在前面 連續兩天考了求逆元。。。。。。所以想著寫一篇關於線性求逆元的部落格。。 先給程式: inv[1]=1; for(int i=2;i<=n;++i) inv[i]=MOD-(long long)MOD/i*inv[MOD%i]%MOD; 然後一波推導
idea打包spark程式在叢集上執行過程(1)
第一步: 第二步: 第三步: 第四步: 第五步: spark-submit --master yarn --deploy-mode cluster --driver-memory 4G --executor-memory 5g --num
第2課:全球詳細圖解jvm記憶體三大核心區域及其jvm記憶體案例實戰剖析
內容: 1.圖解JVM記憶體的三大核心區 2.JVM記憶體使用案例剖析 一、圖解JVM記憶體的三大核心區 二、VM記憶體使用案例剖析 從JVM呼叫的角度分析Java程式對記憶體空間的使用: 1.當JVM程序啟動的時候,會從類載入路徑中找到包
Java程式執行和物件建立過程簡述
Java中一個物件建立分為兩個步驟: 載入類,建立物件。 載入類是將所寫的程式.java檔案編譯生成的.class檔案載入到記憶體中,保證了物件建立的預置環境。類載入完畢後才可以建立該類的物件。 第一步:載入類 1. 當開始執行一個類,虛擬機器首先試圖訪問指定啟
JavaMail傳送和接收郵件API
一、JavaMail概述: JavaMail是由Sun定義的一套收發電子郵件的API,不同的廠商可以提供自己的實現類。但它並沒有包含在JDK中,而是作為JavaEE的一部分。 廠商所提供的JavaMail服務程式可以有選擇地實現某些郵件協議,常見的郵件協議包括: SMTP:簡單