[PHP-users 28548] Re: メールの添付ファイルの取得

Y.Okazaki you2 @ tql.jp
2006年 2月 23日 (木) 14:15:13 JST


岡崎@ぱんだです

> なんとか、.procmail & .forward を呼び出しメールを保存するところまでは出来たのですが、
> PHPの標準入力からメールの内容を取得する、添付ファイル(.jpg)を取得する、という部分でつまづいています。
> ちなみにGDモジュールでの画像の扱いは過去に少し経験があります。

(Windowsサーバは分からないですが、、、)

# sendmail
echo "| /path/to/program" > ~/.forward

# qmail
echo "| /path/to/program" > ~/.qmail


---------------------------------------------------------
$fp = fopen("php://stdin","r");
while(!feof($fp)){$maildata.=fgets($fp);}
fclose($fp);

require_once "Mail/mimeDecode.php";
$params['include_bodies'] = true;
$params['decode_bodies']  = true;
$params['decode_headers'] = true;

$decoder = new Mail_mimeDecode($maildata);
$structure = $decoder->decode($params);
---------------------------------------------------------

問題はこの先、

foreach ($structure->parts as $k => $v) { 
    if($structure->parts[$k]->ctype_primary=="image"){ 
        // 画像発見!! 
    } 
} 

これで見つかるときもあれば、見つからないときもあります。
本文無しで添付ファイルだけだったらpsrtsはないですし、
Outlookのどのバージョンかは、さらにpartsの中にpartsが出来ます。
「ctype_primary」というキーに対して「image」という値なら画像ですね。

多次元連想配列やオブジェクトにおけるあるキーの値がどこにあるかが
分かるといいのですが、私の力不足で分かりませんでした。
申し訳ございませんが、どなたか補足していただければと思います。



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    A A       Produce & Assist Corp Ltd.
  =(v_v)=     You Okazaki
    (   )/    Mail : you @ hiroba.net
  <)+++<      Home : http://tql.jp

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



PHP-users メーリングリストの案内