デコメテンプレート変換プログラムサンプル
2008/08/28
にて、Qdmail + QdReceiverを利用した、デコメテンプレ3種盛り自動作成サービスを紹介しています。
ここでは、そのプログラムをご紹介しましょう。
レンタルサーバー:さくらインターネット スタンダード
なお、受信したメールでリアルタイムでPHPプログラムを動かすには、さくらインターネットでリアルタイムメール処理をご参照下さい。
#!/usr/local/php-5.2.6/bin/php-cgi <?php include('inc/qdmail.php'); include('inc/qdmail_receiver.php'); // //標準入力からメール内容の取り込み // $content = ''; $fp=fopen("php://stdin",'r') or die('File Open Error'); while( !feof($fp) ){ $content .= fgets( $fp ); } // //メールのデコード(Qdreceiver) // $DECODE = QdmailReceiver::start('direct',$content); $from = $DECODE -> header(array('from','mail')); $subject_summary = mb_substr( $DECODE -> header( array('subject','name') ) , 0 , 10 ); if(empty($subject_summary)){ $subject_summary = 'Qdmail'; }else{ $subject_summary .= 'tpl'; } $cc = $DECODE -> header(array('cc','mail')); // //デコメテンプレートへの変換(3キャリア) // $kinds = array('TPL_DC','TPL_AU','TPL_SB'); $carrier = array( 'TPL_DC'=>'Docomo', 'TPL_AU'=>'au', 'TPL_SB'=>'SoftBankMobile' ); $mime = array( 'TPL_DC'=>'application/x-decomail-template', 'TPL_AU'=>'application/x-kddi-htmlmail', 'TPL_SB'=>'application/x-htmlmail-template' ); $kakuchou = array('TPL_DC'=>'dmt','TPL_AU'=>'khm','TPL_SB'=>'hmt'); $ct = 0; $mail = Qdmail::getInstance(); foreach($kinds as $kind){ $attach[$ct]['DIRECT'] = $mail -> makeDecoTemplate($kind,$content); $attach[$ct]['PATH'] = $subject_summary.'_'.$carrier[$kind].'.'.$kakuchou[$kind]; $attach[$ct]['MIME_TYPE'] = $mime[$kind]; $ct++; } // //結果の送信 // $add_header['From']='*****@*****.net'; $add_header['Reply-To']='****@*****.jp'; $to = array(); if(!empty($from)){ $to[]=array($from); } if(!empty($cc)){ $to[]=array($cc); } // ループ防止 foreach($to as $key => $ad){ if( false !== strpos($ad[0],'@****.****') ){ unset($to[$key]); } } if(0===count($to)){ die('Illegal Mail'); } $mail -> reset();//いったんQdmailのすべてをリセット(念のため) $body=<<<EOF テンプレートをお届けします 役に立ったと思われたら、ぜひネット上でご紹介ください。 auテンプレートは、クセがあるので気をつけてください。 お気づきの点、ご意見、ご感想を、ぜひ以下のサイトまでお寄せ下さい。 Spok http://hal456.net/ http://hal456.net/qdmail/decomail_base http://www.cpa-lab.com/tech/ EOF; $fg=qd_send_mail( 'text', $to, 'デコメ3種テンプレート(試験運用)', $body, $add_header, $attach );