星期二, 四月 08, 2008
PHP 讀取自己的 mbox 信箱內容(Mime Mail Reader)
自己的信箱通常在 ~/mbox 或 /var/spool/mail/Account, 這檔案都是一個文字檔, 但是打開後, 卻都看到一堆亂碼.
那一堆亂碼是 base64 編碼過的結果, 讀取的程式如下: (註: 直接抓下來執行即可, 此內容為 Big5 編碼, 內容如最下面的註解)
臨時需要抓取信件內容來做些事情, 所以就找找有沒有人已經寫好的程式拿來用, 於是找到:
這個 MIME Parser 的 Class 可以把信件內容拆解的很完整, 所以下面再改寫一份程式(參考 test_message_decoder.php 改寫如下):
懶得看程式的, 只要看此程式裡面的 $decoded[$message], $results 這兩個變數的結果, 就可以抓到想要的資料了. (此程式還需要 include 兩個檔案, 完整程式可於此下載: mime_reader.tar.gz)
$decoded 的 資訊(這裡面的內容都還是 Array, 需要另外印出來抓取自己要的值)
- $decoded[$message]['Headers']
- $decoded[$message]['Body']
- $decoded[$message]['ExtractedAddresses']
$results 的 資訊
- $results['Type']
- $result['Description']
- $result['Encoding']
- $result['Subject']
- $result['Date']
- $result['From'][0]['address']
- $result['To'][0]['address']
- $result['Return-path'][0]['address']
- $result['Data']
抓取 Mail 常用的資訊
- From: $decoded[$message]['Headers']['from:'] 同 $result['From'][0]['address']
- To: $decoded[$message]['Headers']['to'] 同 $result['To'][0]['address']
- Date: $decoded[$message]['Headers']['date:'] 同 $result['Date']
- Subject: $decoded[$message]['Headers']['subject:'] 同 $result['Subject']
- Body: $decoded['Body'] 同 $result['Data']
- Content-Type: $decoded[$message]['Headers']['content-type:'] 同 $result['Type'] + $result['Encoding']
回 日落
Pear 有 Mail_Mime(http://pear.php.net/package/Mail_Mime), 和 PHPMailer 都可以夾檔寄信, 可以試試看唷 :)
Comment by
Tsung
(04/08/2008 23:30)
發表迴響
PS: 若無法留言, 請先確認是否有打開 JavaScript, 造成您的困擾, 實在萬分對不起 Orz...(如果無法留言, 勞煩可以發信給我好嗎? 謝謝.)
PS2: 若您的留言被誤判, 我都會再自行看過, 不需要一直重覆張貼~
PS2: 若您的留言被誤判, 我都會再自行看過, 不需要一直重覆張貼~





