用PHP完成POP3郵件的收取(一)
發(fā)表時(shí)間:2023-08-12 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:7
[摘要]POP協(xié)議簡(jiǎn)介(作者:陳俊清 2000年10月18日 11:53) 本文簡(jiǎn)要說(shuō)明了通過(guò)POP3協(xié)議收取郵件、MIME郵件的解碼的原理;針對(duì)收取和MIME解碼,提供了兩個(gè)實(shí)用的PHP類,并提供了使用...
POP協(xié)議簡(jiǎn)介
(作者:陳俊清 2000年10月18日 11:53)
本文簡(jiǎn)要說(shuō)明了通過(guò)POP3協(xié)議收取郵件、MIME郵件的解碼的原理;針對(duì)收取和MIME解碼,提供了兩個(gè)實(shí)用的PHP類,并提供了使用的樣例。分為郵件收取、MIME解碼兩個(gè)部分。這里我們先向您介紹郵件的收取,解碼部分會(huì)在以后的文章中為各位詳細(xì)的介紹,敬請(qǐng)關(guān)注。
現(xiàn)在Internet上最大的應(yīng)用應(yīng)該是非Email莫屬了,我們每天都習(xí)慣于每天通過(guò)Email進(jìn)行交流,各大網(wǎng)站也幾乎都推出了自己的基于WEB的免費(fèi)郵件系統(tǒng)。在本文里,筆者將介紹一些Email實(shí)現(xiàn)的一些原理。同時(shí)我們假設(shè)你對(duì)于PHP的編程有一定的基礎(chǔ),對(duì)于TCP/IP協(xié)議也有一定的了解。
POP 協(xié)議簡(jiǎn)介
POP的全稱是 Post Office Protoco ,即郵局協(xié)議,用于電子郵件的接收,現(xiàn)在常 用的是第三版 ,簡(jiǎn)稱為 POP3。通過(guò)POP協(xié)議,客戶機(jī)登錄到服務(wù)器上后,可以對(duì)自己的郵件進(jìn)行刪除,或是下載到本地,下載后,電子郵件客戶軟件就可以在本地對(duì)郵件進(jìn)行修改、刪除等。另外一種用于接收信件的郵件是 IMAP 協(xié)議,現(xiàn)在發(fā)展很快,在本文中,我們暫不討論。
POP服務(wù)器一般使用的是TCP的110號(hào)端口,如果你用的是Foxmail的話,在其收郵件的時(shí)候,你可以看到其信息提示窗口有這么一些命令:
“正在連接到 62.123.23.123:110";
"USER BOSS_CH";
"PASS..............";
下面讓我們來(lái)看一段 與 POP3 服務(wù)器對(duì)話的實(shí)錄:
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>
您好!
這是一個(gè)郵件的小示例
QUIT
+OK Pop server at <mail2.china.com> signing off.
以下對(duì)幾個(gè)常用的POP3命令作一個(gè)簡(jiǎn)單的介紹 :
命令 參數(shù) 狀態(tài) 描述
------------------------------------------
USER username 認(rèn)可 此命令與下面的pass命令若成功,將導(dǎo)致?tīng)顟B(tài)轉(zhuǎn)換
PASS password 認(rèn)可
APOP Name,Digest 認(rèn)可 Digest是MD5消息摘要
------------------------------------------
STAT None 處理 請(qǐng)求服務(wù)器發(fā)回關(guān)于郵箱的統(tǒng)計(jì)資料,如郵件總數(shù)和總字節(jié)數(shù)
UIDL [Msg#] 處理 返回郵件的唯一標(biāo)識(shí)符,POP3會(huì)話的每個(gè)標(biāo)識(shí)符都將是唯一的
LIST [Msg#] 處理 返回郵件數(shù)量和每個(gè)郵件的大小
RETR [Msg#] 處理 返回由參數(shù)標(biāo)識(shí)的郵件的全部文本
DELE [Msg#] 處理 服務(wù)器將由參數(shù)標(biāo)識(shí)的郵件標(biāo)記為刪除,由quit命令執(zhí)行
RSET None 處理 服務(wù)器將重置所有標(biāo)記為刪除的郵件,用于撤消DELE命令
TOP [Msg#] 處理 服務(wù)器將返回由參數(shù)標(biāo)識(shí)的郵件前n行內(nèi)容,n必須是正整數(shù)
NOOP None 處理 服務(wù)器返回一個(gè)肯定的響應(yīng),不做任何操作。
------------------------------------------
QUIT None 更新 退出