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

用PHP實現POP3郵件的解碼(一)

2008-12-23 08:12:48  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
  初步認識郵件的源文件

  本文簡要說明了通過POP3協議收取郵件、MIME郵件的解碼的原理;針對收取和MIME解碼,提供了兩個實用的PHP類,並提供了使用的樣例。分爲郵件收取、MIME解碼兩個部分。我們已經向您介紹過了郵件的收取,現在讓我們來爲您介紹本文的解碼部。

  在上一篇裏,我們已經完成了一個用PHP通過POP3收取郵件的實例,可是在使用這個類的時候,相信你已經看到了,很多的郵件收下來是一堆亂碼,自己根本看不懂!是的。現在的郵件大部分都已經經過了編碼,需要一個解碼的過程才能變成我們習慣的文字、圖片、或是其它的附件。

  郵件的源文件

  首先,我們來看一段簡單的郵件的源文件:(在Foxmail中,選中郵件,點選「查看源文件」就會看到這樣的些內容了)

  From: <boss_ch@netease.com>

  To: <boss_ch@china.com>

  Subject: =?gb2312?B?xOO6w6Oh?=

  Date: Sun, 8 Oct 2000 20:28:45 +0800

  MIME-Version: 1.0

  Content-Type: multipart/alternative;

  boundary="----=_NextPart_000_0007_01C03166.5B1E9510"

  X-Priority: 3

  X-MSMail-Priority: Normal

  X-Mailer: Microsoft Outlook Express 5.00.2919.6700

  X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6700

  This is a multi-part message in MIME format.

  ------=_NextPart_000_0007_01C03166.5B1E9510

  Content-Type: text/plain;

  charset="gb2312"

  Content-Transfer-Encoding: base64

  w7vT0MLSwuuwyaO/DQo=

  ------=_NextPart_000_0007_01C03166.5B1E9510

  Content-Type: text/html;

  charset="gb2312"

  Content-Transfer-Encoding: base64

  PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv

  L0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PWdi

  MjMxMiIgaHR0cC1lcXVpdj1Db250ZW50LVR5cGU+DQo8TUVUQSBjb250ZW50PSJNU0hUTUwgNS4w

  MC4yOTIwLjAiIG5hbWU9R0VORVJBVE9SPg0KPFNUWUxFPjwvU1RZTEU+DQo8L0hFQUQ+DQo8Qk9E

  WSBiZ0NvbG9yPSNmZmZmZmY+DQo8RElWPjxGT05UIHNpemU9Mj7Du9PQwtLC67DJo788L0ZPTlQ+

  PC9ESVY+PC9CT0RZPjwvSFRNTD4NCg==

  ------=_NextPart_000_0007_01C03166.5B1E9510-

  這樣的一段郵件,我想沒有人能看得懂的。不要急,我們來仔細看看這些內容。

  From: <boy@netease.com>

  To: <boss_ch@china.com>

  這個是好理解的,郵件由boy@netease.com發送,收件人是boss_ch@china.com,這些標簽的含義我們基本可從字面上理解到,像Date:Sun, 8 Oct 2000 20:28:45 +0800表示的是時間,X-Priority: 3表示的是郵件的優先級,X-Mailer: Microsoft Outlook Express 5.00.2919.6700表示的是郵件發送器的名字,這裏用的是Outllook 5,不過,這些東西跟郵件的內容是沒有很大關系的。我們不需要深究。
 
初步認識郵件的源文件   本文簡要說明了通過POP3協議收取郵件、MIME郵件的解碼的原理;針對收取和MIME解碼,提供了兩個實用的PHP類,並提供了使用的樣例。分爲郵件收取、MIME解碼兩個部分。我們已經向您介紹過了郵件的收取,現在讓我們來爲您介紹本文的解碼部。   在上一篇裏,我們已經完成了一個用PHP通過POP3收取郵件的實例,可是在使用這個類的時候,相信你已經看到了,很多的郵件收下來是一堆亂碼,自己根本看不懂!是的。現在的郵件大部分都已經經過了編碼,需要一個解碼的過程才能變成我們習慣的文字、圖片、或是其它的附件。   郵件的源文件   首先,我們來看一段簡單的郵件的源文件:(在Foxmail中,選中郵件,點選「查看源文件」就會看到這樣的些內容了)   From: <[url=mailto:boss_ch@netease.com]boss_ch@netease.com[/url]>   To: <[url=mailto:boss_ch@china.com]boss_ch@china.com[/url]>   Subject: =?gb2312?B?xOO6w6Oh?=   Date: Sun, 8 Oct 2000 20:28:45 +0800   MIME-Version: 1.0   Content-Type: multipart/alternative;    boundary="----=_NextPart_000_0007_01C03166.5B1E9510"   X-Priority: 3   X-MSMail-Priority: Normal   X-Mailer: Microsoft Outlook Express 5.00.2919.6700   X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6700   This is a multi-part message in MIME format.   ------=_NextPart_000_0007_01C03166.5B1E9510   Content-Type: text/plain;    charset="gb2312"   Content-Transfer-Encoding: base64   w7vT0MLSwuuwyaO/DQo=   ------=_NextPart_000_0007_01C03166.5B1E9510   Content-Type: text/html;    charset="gb2312"   Content-Transfer-Encoding: base64   PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv   L0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PWdi   MjMxMiIgaHR0cC1lcXVpdj1Db250ZW50LVR5cGU+DQo8TUVUQSBjb250ZW50PSJNU0hUTUwgNS4w   MC4yOTIwLjAiIG5hbWU9R0VORVJBVE9SPg0KPFNUWUxFPjwvU1RZTEU+DQo8L0hFQUQ+DQo8Qk9E   WSBiZ0NvbG9yPSNmZmZmZmY+DQo8RElWPjxGT05UIHNpemU9Mj7Du9PQwtLC67DJo788L0ZPTlQ+   PC9ESVY+PC9CT0RZPjwvSFRNTD4NCg==   ------=_NextPart_000_0007_01C03166.5B1E9510-   這樣的一段郵件,我想沒有人能看得懂的。不要急,我們來仔細看看這些內容。   From: <[url=mailto:boy@netease.com]boy@netease.com[/url]>   To: <[url=mailto:boss_ch@china.com]boss_ch@china.com[/url]>   這個是好理解的,郵件由[url=mailto:boy@netease.com]boy@netease.com[/url]發送,收件人是[url=mailto:boss_ch@china.com]boss_ch@china.com[/url],這些標簽的含義我們基本可從字面上理解到,像Date:Sun, 8 Oct 2000 20:28:45 +0800表示的是時間,X-Priority: 3表示的是郵件的優先級,X-Mailer: Microsoft Outlook Express 5.00.2919.6700表示的是郵件發送器的名字,這裏用的是Outllook 5,不過,這些東西跟郵件的內容是沒有很大關系的。我們不需要深究。
󰈣󰈤
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
  免責聲明:本文僅代表作者個人觀點,與王朝網絡無關。王朝網絡登載此文出於傳遞更多信息之目的,並不意味著贊同其觀點或證實其描述,其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,並請自行核實相關內容。
 
© 2005- 王朝網路 版權所有