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

來源:互聯網
上載者:User
關鍵字 收取 郵件 實現 伺服器 處理 協議 OK 命令 POP
POP3

POP協議簡介
(作者:陳俊清 2000年10月18日 11:53)

  本文簡要說明了通過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 .

  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

  ; 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?=

  To: 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:

  您好!

    這是一個郵件的小樣本

  QUIT

  +OK Pop server at 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    更新 退出
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.