本文目錄一覽:
- 1、pop3協議是指什麼?
- 2、c++語言pop3協議得到的郵件內容怎麼解析
- 3、POP3什麼是服務?
- 4、POP3是什麼協議
- 5、POP3/SMTP 是什麼?
- 6、請問學習C語言哪些方面的內容可以編寫最簡易的收發郵件的客戶端(smtp/pop3協議)
pop3協議是指什麼?
POP3是郵局協議版本3。是TCP/IP協議族中的一員,由RFC1939定義。本協議主要用於支持使用客戶端遠程管理在服務器上的電子郵件。提供了SSL加密的POP3協議被稱為POP3S。
POP協議支持「離線」郵件處理。其具體過程是:郵件發送到服務器上,電子郵件客戶端調用郵件客戶機程序以連接服務器,並下載所有未閱讀的電子郵件。
POP3適用範圍
POP適用於C/S結構的脫機模型的電子郵件協議,已發展到第三版,稱POP3。脫機模型即不能在線操作,POP不支持對服務器郵件進行擴展操作,此過程需要更高級的IMAP4協議來完成。支持POP協議使用ASCII碼來傳輸數據消息,這些數據消息可以是指令,也可以是應答。
c++語言pop3協議得到的郵件內容怎麼解析
郵件內容協議分成很多個段落
首先是日期 Date: RFC 5322 日期格式
然後是收件人發件人段,「To:」 和 “From”,以及抄送 “Cc:「 和 “Bcc「
隨後是「Message-ID: 「,用於服務器在消息流通中不至於重複發送和存儲,識別郵件的唯一性。
最後一段比較關鍵,格式類似於這樣:
MIME-Version: 1.0\r\nContent-type: multipart/alternative; boundary=\”\(boundary)\”\r\n\r\n
意思是表示郵件採用MIME內容編碼,可以是多個組成部分,由邊界線boundary劃分為多個數據區。數據區之間的內容可以是html或者普通文本(參考下列代碼)關鍵是所有文本內容都是用 base64編碼重新編排過,所以要用decode_base64解開才能讀取。
f !text.isEmpty {
body += “–\(boundary)\r\nContent-Type: text/plain; charset=UTF-8; format=flowed\r\n\r\n\(text)\r\n\r\n”
}
if !content.isEmpty {
body += “–\(boundary)\r\nContent-Type: text/html;charset=UTF-8\r\n\r\n\(content)\r\n\r\n”
}
直接去解析是比較費勁的,因為其實整個編碼都是採用了http傳輸協議的 mime 方式。建議用現成的開源代碼去讀去,比如CHTTPParser,速度快,效率高,都已經通過幾十年檢驗了的成熟代碼。
POP3什麼是服務?
POP3服務器是遵循POP3協議的接收郵件服務器,用來接收電子郵件的。
POP3是Post Office Protocol 3的簡稱,即郵局協議的第3個版本,它規定怎樣將個人計算機連接到Internet的郵件服務器和下載電子郵件的電子協議。
它是互聯網電子郵件的第一個離線協議標準,POP3允許用戶從服務器上把郵件存儲到本地主機上,同時刪除保存在郵件服務器上的郵件。
工作原理
當客戶機與服務器建立連接時,客戶機向服務器發送自己身份並由服務器成功確認,即客戶端由認可狀態轉入處理狀態,在完成列出未讀郵件等相應的操作後客戶端發出quit命令,退出處理狀態進入更新狀態,開始下載未閱讀過的郵件到計算機本地之後最後重返認證狀態確認身份後斷開與服務器的連接。
由於任何郵件的刪除都必須在quit命令發出後對已標記為刪除的郵件執行刪除操作,如果在郵件接收過程中發生斷線,交互仍處於處理狀態,沒有機會執行quit命令以進行更新狀態。
因此,若客戶在收取郵件時,假定為15封信等待接收,但由於線路問題,收到第10封時斷線了,那麼這前10封信仍然存儲在服務器上,此時,本地的郵件和服務器郵件重複,而且在下次收時仍然從第一封開始。
以上內容參考 百度百科–POP3服務
POP3是什麼協議
POP3,全名為「Post
Office
Protocol
–
Version
3」,即「郵局協議版本3」。是TCP/IP協議族中的一員,由RFC1939
定義。本協議主要用於支持使用客戶端遠程管理在服務器上的電子郵件。提供了SSL加密的POP3協議被稱為POP3S。
POP
協議支持「離線」郵件處理。其具體過程是:郵件發送到服務器上,電子郵件客戶端調用郵件客戶機程序以連接服務器,並下載所有未閱讀的電子郵件。這種離線訪問模式是一種存儲轉發服務,將郵件從郵件服務器端送到個人終端機器上,一般是PC機或
MAC。
一旦郵件發送到
PC
機或MAC上,郵件服務器上的郵件將會被刪除。但目前的POP3郵件服務器大都可以「只下載郵件,服務器端並不刪除」,也就是改進的POP3協議。
擴展資料:
適用範圍
POP適用於C/S結構的脫機模型的電子郵件協議,目前已發展到第三版,稱POP3。脫機模型即不能在線操作,POP不支持對服務器郵件進行擴展操作,此過程需要更高級的IMAP4協議來完成。支持POP協議使用ASCII碼來傳輸數據消息,這些數據消息可以是指令,也可以是應答。
協議支持離線郵件處理,當郵件發送到服務器後,電子郵件客戶端會調用郵件客戶端程序,下載所有未閱讀的電子郵件(這種離線訪問模式是一種存儲轉發服務)。
當郵件從郵件服務器發送到個人計算機上,同時郵件服務器會刪除該郵件(但是目前很多POP3服務器都支持「下載郵件,服務器並不刪除郵件」,也就是說在POP3中改進了POP協議)。
參考資料來源:百度百科-POP3
POP3/SMTP 是什麼?
POP3 —接收
POP3是PostOfficeProtocol3的簡稱,即郵局協議的第3個版本,它規定怎樣將個人計算機連接到Internet的郵件服務器和下載電子郵件的電子協議。
它是互聯網電子郵件的第一個離線協議標準,POP3允許用戶從服務器上把郵件存儲到本地主機(即自己的計算機)上,同時刪除保存在郵件服務器上的郵件,而POP3服務器則是遵循POP3協議的接收郵件服務器,用來接收電子郵件的。
SMTP —發送
SMTP 的全稱是「SimpleMailTransferProtocol」,即簡單郵件傳輸協議。它是一組用於從源地址到目的地址傳輸郵件的規範,通過它來控制郵件的中轉方式。
SMTP協議屬於TCP/IP協議簇,它幫助每台計算機在發送或中轉信件時找到下一個目的地。SMTP服務器就是遵循SMTP協議的發送郵件服務器。
/iknow-pic.cdn.bcebos.com/f2deb48f8c5494ee1831a4f723f5e0fe98257ec9″target=”_blank”title=”點擊查看大圖”class=”ikqb_img_alink”/iknow-pic.cdn.bcebos.com/f2deb48f8c5494ee1831a4f723f5e0fe98257ec9?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto”esrc=””/
擴展資料:
IMAP和POP3的區別:
POP3協議允許電子郵件客戶端下載服務器上的郵件,但是在客戶端的操作(如移動郵件、標記已讀等),不會反饋到服務器上,比如通過客戶端收取了郵箱中的3封郵件並移動到其他文件夾,郵箱服務器上的這些郵件是沒有同時被移動的。
而IMAP提供webmail與電子郵件客戶端之間的雙向通信,客戶端的操作都會反饋到服務器上,對郵件進行的操作,服務器上的郵件也會做相應的動作。
同時,IMAP像POP3那樣提供了方便的郵件下載服務,讓用戶能進行離線閱讀。IMAP提供的摘要瀏覽功能可以讓你在閱讀完所有的郵件到達時間、主題、發件人、大小等信息後才作出是否下載的決定。此外,IMAP 更好地支持了從多個不同設備中隨時訪問新郵件。
請問學習C語言哪些方面的內容可以編寫最簡易的收發郵件的客戶端(smtp/pop3協議)
學習網絡通訊協議 ,還有一些基礎的編程知識,socket通訊 ,了解協議的初始化,
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/309858.html