デコメテンプレート変換はじめてガイド デコメテンプレート変換サービス
にて、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
);