デコメテンプレート変換プログラムサンプル

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