首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 實作 POP3 郵件解碼(一):認識郵件原始碼與 MIME 結構

     編輯:PHP 綜合知識

前言

本系列分三部分介紹:POP3 收信、MIME 解碼原理、完整解碼類實作。第一部分先認識郵件原始碼結構。

郵件原始碼範例

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-Mailer: Microsoft Outlook Express 5.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 / To寄件者/收件者郵箱與顯示名稱
Subject主旨,可能經 MIME 編碼(如 =?charset?encoding?data?=)
Date寄送時間(RFC 2822 格式)
MIME-VersionMIME 版本,固定 1.0
Content-Type內容類型;multipart/* 表示多部分郵件,需 boundary 分隔
Content-Transfer-Encoding傳輸編碼:base64 或 quoted-printable
X-*自訂擴充欄位(優先級、郵件軟體等)

多部分結構

範例為 multipart/alternative,包含純文字與 HTML 兩種呈現,郵件客戶端自動選擇最適合者顯示。每部分以 boundary 字串分隔,結尾以 boundary-- 結束。

下一步

下一篇將詳細講解 MIME 編碼方式與 PHP 解碼函數實作。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved