デコメテンプレート作成(変換)機能

2008/08/27 未分類 spok
QdmailReceiverとQdmail(1.07b以降)を組み合わせると、ドコモのテンプレートからauのテンプレート等、各キャリアに合わせたテンプレートに変換することができます。その上に、テンプレートではなく、デコメそのものからデコメテンプレートを抽出したり、MHTLメール(インラインHTML)から、各キャリアのデコメのテンプレートを作成することができます。

変換バリエーション

変換元
Docomo,au,Softbankのデコメテンプレート。インラインHTMLメール(MHTML)。通常のHTMLメール。テキストメール
   ↓
変換先
Docomo,au,Softbankの各デコメテンプレート

解説

内部的には、QdmailReceiverを利用して、変換元のメールをデコードして、Qdmail形式の配列に変換します。
それでもって、Qdmailのメール作成機能を援用して、各キャリアに適合したデコメテンプレートを作成します。

サンプルコード

$mailには、Qdmailのインスタンスが入っているものとします。
qd_mail_receiver.phpをインクルードパスが通っているディレクトリに配置しておいてください。Qdmailが自動的に読み込みます。自動読み込みがうまくいかない場合は、
include('qd_mail_receiver.php');
として明示的に読み込んで下さい。
$file には、デコメテンプレートのパス&ファイル名が入っているものとします。
サンプルコード(ドコモテンプレートからauテンプレートへの変換)
$file = 'templatefile.dmt';
$mail = & new Qdmail();
$content = file_get_contents($file);
$au_template = $mail -> makeDecoTemplate('TPL_AU',$content);
PHP5では、newの前の & は必要ありません。

第1引数は以下の選択肢があります。
'TPL_DC'ドコモ用テンプレート
'TPL_AU'au用テンプレート
'TPL_SB'SoftbankMobile用テンプレート
$contentの中身は、どんなキャリアのテンプレートでも大丈夫です。
テンプレートでなくても、メールそのものでも大丈夫です。その場合は、ヘッダーも含めたメール全データをぶち込んで下さい。

この機能を使ったサービス例

デコメ→3種テンプレート変換