| 導購 | 订阅 | 在线投稿
分享
 
 
 

用PHP實現POP3郵件的收取(一)

2008-12-23 08:12:44  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
  POP協議簡介

  本文簡要說明了通過POP3協議收取郵件、MIME郵件的解碼的原理;針對收取和MIME解碼,提供了兩個實用的PHP類,並提供了使用的樣例。分爲郵件收取、MIME解碼兩個部分。這裏我們先向您介紹郵件的收取,解碼部分會在以後的文章中爲各位詳細的介紹,敬請關注。

  現在Internet上最大的應用應該是非Email莫屬了,我們每天都習慣于每天通過Email進行交流,各大網站也幾乎都推出了自己的基于WEB的免費郵件系統。在本文裏,筆者將介紹一些Email實現的一些原理。同時我們假設你對于PHP的編程有一定的基礎,對于TCP/IP協議也有一定的了解。

  POP 協議簡介

  POP的全稱是 Post Office Protoco ,即郵局協議,用于電子郵件的接收,現在常 用的是第三版 ,簡稱爲 POP3。通過POP協議,客戶機登錄到服務器上後,可以對自己的郵件進行刪除,或是下載到本地,下載後,電子郵件客戶軟件就可以在本地對郵件進行修改、刪除等。另外一種用于接收信件的郵件是 IMAP 協議,現在發展很快,在本文中,我們暫不討論。

  POP服務器一般使用的是TCP的110號端口,如果你用的是Foxmail的話,在其收郵件的時候,你可以看到其信息提示窗口有這麽一些命令:

  「正在連接到62.123.23.123:110";

  "USER BOSS_CH";

  "PASS..............";

  下面讓我們來看一段 與 POP3 服務器對話的實錄:

  telenet pop.china.com 110

  +OK AIMC POP service (mail2.china.com) is ready.

  USER boss_ch

  +OK Please enter password for user <boss_ch>.

  PASS ******

  +OK boss_ch has 1 messages (750 octets)

  STAT

  +OK 1 750

  LIST

  +OK 1 messages (750 octets)

  1 750

  RETR 1

  +OK 750 octets

  Received: from smtp2.ptt.js.cn([202.102.24.37]) by china.com(JetMail 2.5.3.0)

  with SMTP id jm4839cc4227; Sat, 23 Sep 2000 05:31:21 -0000

  Received: from chenjunqing ([61.155.120.6]) by smtp2.ptt.js.cn

  (Netscape Messaging Server 4.15) with SMTP id G1BRHJ03.V07 for

  <boss_ch@china.com>; Sat, 23 Sep 2000 13:34:31 +0800

  Date: Sat, 23 Sep 2000 13:34:18 +0800

  From: =?ISO-8859-1?Q?=B3=C2=BF=A1=C7=E5?= <Boss_ch@netease.com>

  To: boss_ch@china.com <boss_ch@china.com>

  Subject: =?ISO-8859-1?Q?=D3=CA=BC=FE=CA=BE=C0=FD?=

  X-mailer: FoxMail 3.1 [cn]

  Mime-Version: 1.0

  Content-Type: text/plain; charset="GB2312"

  Content-Transfer-Encoding: 8bit

  Message-ID: <G1BRHJ03.V07@smtp2.ptt.js.cn>

  您好!

  這是一個郵件的小示例

  QUIT

  +OK Pop server at <mail2.china.com> signing off.

  以下對幾個常用的POP3命令作一個簡單的介紹:

  命令 參數 狀態 描述

  ------------------------------------------

  USER username 認可 此命令與下面的pass命令若成功,將導致狀態轉換

  PASS password 認可

  APOP Name,Digest 認可 Digest是MD5消息摘要

  ------------------------------------------

  STAT None 處理 請求服務器發回關于郵箱的統計資料,如郵件總數和總字節數

  UIDL [Msg#] 處理 返回郵件的唯一標識符,POP3會話的每個標識符都將是唯一的

  LIST [Msg#] 處理 返回郵件數量和每個郵件的大小

  RETR [Msg#] 處理 返回由參數標識的郵件的全部文本

  DELE [Msg#] 處理 服務器將由參數標識的郵件標記爲刪除,由quit命令執行

  RSET None 處理 服務器將重置所有標記爲刪除的郵件,用于撤消DELE命令

  TOP [Msg#] 處理 服務器將返回由參數標識的郵件前n行內容,n必須是正整數

  NOOP None 處理 服務器返回一個肯定的響應,不做任何操作。

  ------------------------------------------

  QUIT None 更新 退出
 
POP協議簡介   本文簡要說明了通過POP3協議收取郵件、MIME郵件的解碼的原理;針對收取和MIME解碼,提供了兩個實用的PHP類,並提供了使用的樣例。分爲郵件收取、MIME解碼兩個部分。這裏我們先向您介紹郵件的收取,解碼部分會在以後的文章中爲各位詳細的介紹,敬請關注。   現在Internet上最大的應用應該是非Email莫屬了,我們每天都習慣于每天通過Email進行交流,各大網站也幾乎都推出了自己的基于WEB的免費郵件系統。在本文裏,筆者將介紹一些Email實現的一些原理。同時我們假設你對于PHP的編程有一定的基礎,對于TCP/IP協議也有一定的了解。 POP 協議簡介   POP的全稱是 Post Office Protoco ,即郵局協議,用于電子郵件的接收,現在常 用的是第三版 ,簡稱爲 POP3。通過POP協議,客戶機登錄到服務器上後,可以對自己的郵件進行刪除,或是下載到本地,下載後,電子郵件客戶軟件就可以在本地對郵件進行修改、刪除等。另外一種用于接收信件的郵件是 IMAP 協議,現在發展很快,在本文中,我們暫不討論。   POP服務器一般使用的是TCP的110號端口,如果你用的是Foxmail的話,在其收郵件的時候,你可以看到其信息提示窗口有這麽一些命令:   「正在連接到 62.123.23.123:110";   "USER BOSS_CH";   "PASS..............";   下面讓我們來看一段 與 POP3 服務器對話的實錄:   telenet pop.china.com 110   +OK AIMC POP service (mail2.china.com) is ready.   USER boss_ch   +OK Please enter password for user <boss_ch>.   PASS ******   +OK boss_ch has 1 messages (750 octets)   STAT   +OK 1 750   LIST   +OK 1 messages (750 octets)   1 750   RETR 1   +OK 750 octets   Received: from smtp2.ptt.js.cn([202.102.24.37]) by china.com(JetMail 2.5.3.0)   with SMTP id jm4839cc4227; Sat, 23 Sep 2000 05:31:21 -0000   Received: from chenjunqing ([61.155.120.6]) by smtp2.ptt.js.cn   (Netscape Messaging Server 4.15) with SMTP id G1BRHJ03.V07 for   <[url=mailto:boss_ch@china.com]boss_ch@china.com[/url]>; Sat, 23 Sep 2000 13:34:31 +0800   Date: Sat, 23 Sep 2000 13:34:18 +0800   From: =?ISO-8859-1?Q?=B3=C2=BF=A1=C7=E5?= <[url=mailto:Boss_ch@netease.com]Boss_ch@netease.com[/url]>   To: [url=mailto:boss_ch@china.com]boss_ch@china.com[/url] <[url=mailto:boss_ch@china.com]boss_ch@china.com[/url]>   Subject: =?ISO-8859-1?Q?=D3=CA=BC=FE=CA=BE=C0=FD?=   X-mailer: FoxMail 3.1 [cn]   Mime-Version: 1.0   Content-Type: text/plain; charset="GB2312"   Content-Transfer-Encoding: 8bit   Message-ID: <[url=mailto:G1BRHJ03.V07@smtp2.ptt.js.cn]G1BRHJ03.V07@smtp2.ptt.js.cn[/url]>   您好!     這是一個郵件的小示例   QUIT   +OK Pop server at <mail2.china.com> signing off.   以下對幾個常用的POP3命令作一個簡單的介紹 :   命令    參數    狀態    描述   ------------------------------------------   USER    username  認可    此命令與下面的pass命令若成功,將導致狀態轉換   PASS    password  認可   APOP    Name,Digest 認可    Digest是MD5消息摘要   ------------------------------------------   STAT    None    處理    請求服務器發回關于郵箱的統計資料,如郵件總數和總字節數   UIDL    [Msg#]   處理    返回郵件的唯一標識符,POP3會話的每個標識符都將是唯一的   LIST    [Msg#]   處理    返回郵件數量和每個郵件的大小   RETR    [Msg#]   處理    返回由參數標識的郵件的全部文本   DELE    [Msg#]   處理    服務器將由參數標識的郵件標記爲刪除,由quit命令執行   RSET    None    處理    服務器將重置所有標記爲刪除的郵件,用于撤消DELE命令   TOP    [Msg#]    處理    服務器將返回由參數標識的郵件前n行內容,n必須是正整數   NOOP    None    處理    服務器返回一個肯定的響應,不做任何操作。   ------------------------------------------   QUIT    None    更新 退出
󰈣󰈤
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
  免責聲明:本文僅代表作者個人觀點,與王朝網絡無關。王朝網絡登載此文出於傳遞更多信息之目的,並不意味著贊同其觀點或證實其描述,其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,並請自行核實相關內容。
 
© 2005- 王朝網路 版權所有