ようこそゲストさん

CPA-LABテクニカル

2008/09/23(火) ZendFrameWorkで日本語完璧メール-Qdmailを利用する

ZendFrameWorkには、Zend_Mailというライブラリがありますが、日本語の処理に難点があるようです。
そこで、PHP日本語多機能メールコンポーネントQdmailをZendFrameWorkで使用してみましょう。
といっても、ZendFrameWork自体が巨大ライブラリの集合体なので、ZendFrameWorkの中でといっても、通常のQdmailの使用方法と同じだったります。

まず、Zend_Mailでは、以下のようにしますね(マニュアルより抜粋)
$mail = new Zend_Mail();
$mail->setBodyText('This is the text of the mail.');
$mail->setFrom('somebody@example.com', 'Some Sender');
$mail->addTo('somebody_else@example.com', 'Some Recipient');
$mail->setSubject('TestSubject');
$mail->send();
Qdmailでは、以下のようにします。
ZendFrameWorkのフォルダにqdmail.phpを入れても良し、他のインクルードディレクトリにいれてもよしです。
$mail = new Qdmail();
$mail -> text( 'ここに内容をいれます' );
$mail -> from( 'from@example.com' , '配信元日本語名' );
$mail -> to( 'address@example.com' , '宛先日本語名' );
$mail -> subject( 'タイトルも日本語で' );
$mail ->send();
たいへん似てますね。
しかし、Zend_Mailより、マルチバイト対応をしっかりしている(はず)ですので、日本語の題名などのヘッダーも文字化けは少ないと思います。
おまけにZend_Mailでは、デコメを送信するのは至難の業ですが、Qdmailは簡単に各キャリアに送信できますので、お試しを。

インタフェイス

実は、ZendFrameWorkは今回初めて触ったのですが、このZend_MailのインタフェイスがQdmailと似ていたのでびっくりでした。別にマネしたわけではないのですが。。。。

でも、Zend_Mailの流れるようなインタフェイスはいいですね。
いつか、Qdmailも対応したいですが、なんせPHP4対応である限り、無理そうです。。。。

Viewの中身をメールで送信するには

ZendFrameWorkでQdmailを使うをご参照下さい。

名前:  非公開コメント   

  • TB-URL  http://www.cpa-lab.com/tech/0181/tb/