connect('ssl://pop.gmail.com',995)){ //gmailへのログイン処理 if($pop3->login($gmail_name,$gmail_pwd)){ //未読メールリストの取得 $list=$pop3->getListing(); //未読メールを一件ずつ処理 for($i=0;$igetMsg($list[$i]['msg_id']); //MAIL_mimeDecodeの初期化 $decoder=new Mail_mimeDecode($msg); //パラメータの設定 $structure=$decoder->decode( array( 'include_bodies'=>true, 'decode_bodies'=>true, 'decode_headers'=>true ) ); if(file_exists($dir.$filename)){ //die('重複ファイルがあるので処理を終了します。'); } //マルチパートを1パートずつ処理 foreach($structure->parts as $parts){ switch(strtolower($parts->ctype_secondary)){ //保存除外項目 //(jpegを保存したくなければcase 'jpeg':を追加) case 'plain': case 'html': break; //それ以外は保存 default: /*今回は件名にファイル名を指定している設定 処理を簡潔にするために半角英数記号のみ使うことを想定*/ //件名を取得 $filename=$structure->headers['subject']; //保存処理 $fp=fopen($dir.$filename,'w+'); fputs($fp,$parts->body); fclose($fp); //1メールにつき1ファイル添付の設計なので //このメールの処理は終了(foreachレベルまでbreak) break(2); } } if(file_exists($dir.$filename)){//ファイルが保存できている //メールをサーバから削除 $pop3->deleteMsg($list[$i]['msg_id']); //メッセージの表示 echo $filename.'の保存に成功しました'; }else{//ファイルが保存できていない場合 //メッセージの表示 echo $filename.'の保存に失敗しました'; } } }else{ echo 'gmailへのログインに失敗しました。'; } }else{ echo 'gmailへの接続に失敗しました'; } ?>