動画添付されたメールの自動返信と保存

前提条件

  1. mimeDecode.php が必要 (以下2行でインストール)
  2. # pear install -f PEAR-1.6.0
  3. # pear install Mail_Mime
  4. 受信メールユーザアカウントの .qmail に
    | /usr/local/bin/php /実行するphpファイル/mail_test.php
    を追加
  5. メールが届くと、mail_test.php が実行される。
  6. ASP + ffmpeg 版はこちら
  7. 動画変換
  8. 動画再生

ソース (mail_test.php で保存)

<?php
require_once 'Mail/mimeDecode.php';
// メールデータ取得 
$params['include_bodies'] = true; 
$params['decode_bodies']  = true; 
$params['decode_headers'] = true; 
$params['input'] = file_get_contents("php://stdin"); 
$params['crlf'] = "\r\n"; 
$structure = Mail_mimeDecode::decode($params); 

//送信者のメールアドレス
$to_mail = $structure->headers['from']; 
$to_mail = addslashes($to_mail); 
$to_mail = str_replace('"','',$to_mail); 

// 件名を取得 
$mail_subject = $structure->headers['subject']; 

switch(strtolower($structure->ctype_primary)){ 
   case "text": 		// シングルパート(テキストのみ) 
	$mail_body = $structure->body; 
	break; 
   case "multipart": 
	$kk=0 ;
	foreach($structure->parts as $part){
		//添付ファイル名取得
		$filename = $structure->parts[$kk]->d_parameters['filename'];
		$kk++ ;
		// とりあえず保存
		$fp = fopen("/tmp/".$filename,"w" ); 
		$length = strlen( $part->body ); 
		fwrite( $fp, $part->body, $length ); 
		fclose( $fp );
		$mail_body = $mail_body .$filename."\n" ;
		// DB 保存等の処理
		// insert into hoge_tbl ....
	}
	break;
   default: 
   $mail_body = ""; 
} 

// 受信したサブジェクトとファイル名を返信
$body = ""
.$mail_subject."について\n\n"
."/tmp に添付ファイルを保存しました。"
.$mail_body."\n"
."---------------------------------------------\n"
."xx@xx \n"
."\n" ;

$mailfrom="From:xx@xx \n";
$mail_title = "メール自動返信" ;
mb_language("Ja") ;
mb_internal_encoding("EUC-JP") ;
	//	mb_internal_encoding("UTF-8") ;
$rc=mb_send_mail($to_mail,$mail_title,$body,$mailfrom);
?>

デモサイト

  1. 送信先メールアドレスを複数作成 : sales@colleper.com(デモ)
  2. 閲覧サイトのアドレスを複数作成固定 : 動画リスト(デモ)
  3. 送信者または、管理者が登録内容の修正更新可能
2007年7月19日