[PHP-users 10805] メザコヴロミネミュピボザベボヴアークーエンヴ添付ファイルの分別について

Kazumasa Gotoh php-users@php.gr.jp
Mon, 14 Oct 2002 11:04:02 +0900


From: 月 <moon@s20.xrea.com>
Date: Mon, 14 Oct 2002 10:06:32 +0900

> IMAP,POP3,NNTP関数を使用せずに、本文と添付ファイルを取り出す方法がありまし
> たら、教えていただけないでしょうか。

結論から言えば、もちろん可能です。

今、関係する RFC の番号が思い出せませんが、例えばアスキーから
出ている RFC 辞典 であるとか、その他の資料… もちろん RFC ん原文を
あたってもいいですけれども、それらに規約が書いてありますので、
それに従いプログラミングすればよいのでしょう。

ごく簡単に言うと、メイルのヘッダに以下のようなものが付きます。

 Content-Type: multipart/mixed;boundary="---------1033640637-4719095"

ここで指定されているバウンダリに囲まれた部分が添付ファイルの
情報とデータそのものです。たとえば、

  -----------1033640637-4719095
  Content-Transfer-Encoding: Base64
  Content-Type: application/vnd.ms-powerpoint;
   name="=?iso-2022-jp?B?GyRCMnE8UjBGRmIbKEIucHB0?="
  Content-Disposition: attachment;
   filename="=?iso-2022-jp?B?GyRCMnE8UjBGRmIbKEIucHB0?="

  0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAANAAAABgYAAAAA
  AAAAEAAAFQYAAAEAAAD+////AAAAAPkFAAD6BQAA+wUAAPwFAAD9BQAA/gUAAP8FAAAABgAA
  AQYAAAIGAAADBgAABAYAAAUGAAD/////////////////////////////////////////////
      (略)
  AAAAAQAQANSgAQAAAPUPHAAAAAoBAADtDgADsKABAP2wAQABAAAAIAAAAAEA0AAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=

  -----------1033640637-4719095--

のようになっています。この情報とデータのデコードを行えば
よいのです。

サンプルソースが欲しければ、PHP の IMAP. POP3 関数そのものの
ソースが参考になるでしょう。
では、頑張ってください。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
(株) セントラル情報センター
                             後藤和政    kgotoh@cic-kk.co.jp