[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 メーリングリストの案内