2009年4月アーカイブ
今回メールを飛ばす時にSMTP送信しか出来ないサーバーでシステムを組んだので
CAKEPHPでqdmailを使ってメールをSMTP送信するようにしてみました。
まず下記のURLから
http://hal456.net/qdsmtp/
qdsmtp.phpの最新版をダウンロードしてきます。
ダウンロードしたのをcakePHPの/app/controllers/components
に置きます。(qdmail.phpと同じところに置く)
後はソースで次のように記述してあげるだけで大丈夫。
$mail = new QdmailComponent();
$mail -> smtp(true);
$param = array(
'host'=>'メールサーバー',
'port'=> 25 , //これはSMTPAuthの例。認証が必要ないなら 25 でOK。
'from'=>'xxxxx@xxxxx.co.jp',// Return-path: になります。
'protocol'=>'SMTP_AUTH',// 認証が必要ないなら、'SMTP'
'user'=>'ユーザーID', //SMTPサーバーのユーザーID
'pass' => 'パスワード', //SMTPサーバーの認証パスワード
);
$mail -> smtpServer($param);
//メールを送信するユーザーリストの取得
$mail->subject($this->data['Mail']['subject']);
$mail->from('送信元');
$mail->replyTo('返信先');
$mail->mtaOption("-f".'エラー時送信先');
$mail->kana(true);
$mail->text('本文');
$mail->to('あて先');
$mail->send(); // メール送信処理
qdsmtp.phpはqdmail内で自動で呼び込まれているのでプログラムであえて呼び込む必要は無し。
CAKEPHPでqdmailを使ってメールをSMTP送信するようにしてみました。
まず下記のURLから
http://hal456.net/qdsmtp/
qdsmtp.phpの最新版をダウンロードしてきます。
ダウンロードしたのをcakePHPの/app/controllers/components
に置きます。(qdmail.phpと同じところに置く)
後はソースで次のように記述してあげるだけで大丈夫。
$mail = new QdmailComponent();
$mail -> smtp(true);
$param = array(
'host'=>'メールサーバー',
'port'=> 25 , //これはSMTPAuthの例。認証が必要ないなら 25 でOK。
'from'=>'xxxxx@xxxxx.co.jp',// Return-path: になります。
'protocol'=>'SMTP_AUTH',// 認証が必要ないなら、'SMTP'
'user'=>'ユーザーID', //SMTPサーバーのユーザーID
'pass' => 'パスワード', //SMTPサーバーの認証パスワード
);
$mail -> smtpServer($param);
//メールを送信するユーザーリストの取得
$mail->subject($this->data['Mail']['subject']);
$mail->from('送信元');
$mail->replyTo('返信先');
$mail->mtaOption("-f".'エラー時送信先');
$mail->kana(true);
$mail->text('本文');
$mail->to('あて先');
$mail->send(); // メール送信処理
qdsmtp.phpはqdmail内で自動で呼び込まれているのでプログラムであえて呼び込む必要は無し。
PDFを吐き出すシステムを作った時に、tcpdfがデフォルトで用意してくれている
フォントでは今回の案件に対応できなかったので、IPAフォントを使う事にしました。
以下のURLを参考に作業を進めていきました。
http://hrgs.xrea.jp/2006/08/24/how_to_use_japanese_with_tcpdf
IPAフォントは
http://ossipedia.ipa.go.jp/ipafont/
でIPAfont00203.zipをダウンロードしてくる。
展開していくつかttfファイルが出来るので、以後ipag.ttf
を使って作業をしてみる。
tcpdfをダウンロードしてきてFPDIを動かすところに配置する。
tcpdf/fonts/utils/の下にいるmakefont.phpとttf2ufm.exeを使って
ipag.ttfファイルからPDFで使えるファイルを生成する。
phpの動くところにtcpdfを設置してtcpdf/fonts/utils/以下に
ipag.ttfを置いておく。
コマンドプロンプトでtcpdf/fonts/utils/の下に移動して
「ttf2ufm.exe -a -F ipag.ttf」をコマンドで打つ。
すると処理が走って「ipag.afm、ipag.t1a、ipag.ufm」の
3つのファイルを生成する。
続いて同じ場所で
「[php.exeまでの相対パス] makeform.php ipag.ttf ipag.ufm」
をコマンドで打つ。
そうすると「ipag.ctg.z、ipag.php、ipag.z」の3つのファイルを生成する。
上記の3つのファイルをtcpdf/fonts/の下においてFPDI
から呼んであげます。
そうすると入れたフォントがPDFで表示されるようになりました。
フォントでは今回の案件に対応できなかったので、IPAフォントを使う事にしました。
以下のURLを参考に作業を進めていきました。
http://hrgs.xrea.jp/2006/08/24/how_to_use_japanese_with_tcpdf
IPAフォントは
http://ossipedia.ipa.go.jp/ipafont/
でIPAfont00203.zipをダウンロードしてくる。
展開していくつかttfファイルが出来るので、以後ipag.ttf
を使って作業をしてみる。
tcpdfをダウンロードしてきてFPDIを動かすところに配置する。
tcpdf/fonts/utils/の下にいるmakefont.phpとttf2ufm.exeを使って
ipag.ttfファイルからPDFで使えるファイルを生成する。
phpの動くところにtcpdfを設置してtcpdf/fonts/utils/以下に
ipag.ttfを置いておく。
コマンドプロンプトでtcpdf/fonts/utils/の下に移動して
「ttf2ufm.exe -a -F ipag.ttf」をコマンドで打つ。
すると処理が走って「ipag.afm、ipag.t1a、ipag.ufm」の
3つのファイルを生成する。
続いて同じ場所で
「[php.exeまでの相対パス] makeform.php ipag.ttf ipag.ufm」
をコマンドで打つ。
そうすると「ipag.ctg.z、ipag.php、ipag.z」の3つのファイルを生成する。
上記の3つのファイルをtcpdf/fonts/の下においてFPDI
から呼んであげます。
そうすると入れたフォントがPDFで表示されるようになりました。
