ようこそゲストさん

CPA-LABテクニカル

メッセージ欄

2008年4月の日記

一覧で表示する

2008/04/30(水) Qdmailの構造-環境に応じて承継クラスを変更する

はてブ情報 はてブに登録 はてブ数 qdmailspok
高機能日本語PHPメールライブラリ-Qdmailは、ひとつのファイルで、通常の関数、クラスライブラリ、CakePHPコンポーネントの3種類を使い分けることができる、ハイブリッド型になっています。

クラスの構成としてはこんな感じ。
qdmail_uml.jpg

CakePHPの定数が定義されているかどうかによって、CakePHPの存在を認知しています。
CakePHPのコンポーネントとして読み込まれていれば、CakephpのObjectクラスを承継するようにしています。
(それ以外の時に、Objectクラスを承継しようとしても、Objectクラスが存在しないためエラーとなる。)

ただ、いきあたりばったりで作った面もあり、QdmailBaseの中身はもっと、OOP的な方法で出来たような気がします。
いずれ時間があったら、リファクタリングなるもので、もっとスマートに作り替えてみたいと思います*1

*1 : いつになることやら

2008/04/28(月) ウィルコムのデコメは、SoftbankMobileと同じ

こちらで、デコメール携帯4社MIMEマルチパート比較においてウィルコム等のデコメ*1の情報を求めていたけれども、ありがたいことに情報をいただいた。
WX330Kの実機から、デコメを送っていただき、その解析結果をここに書きたいと思う。
(情報提供:悩める技術者さん)

続きを読む

2008/04/24(木) CakePHP高機能メールコンポーネント-Qdmail

はてブ情報 はてブに登録 はてブ数 qdmailspok
QdmailをCakePHP対応にしてみました。

特徴

  • CakePHP1.1 & 1.2 の両方に対応
  • ひとつのファイルで、通常の使い方もCakePHPのコンポーネントとしても動作可能
  • CakePHPのビュー機構を利用可能
  • CakePHP1.2デフォルトのemailコンポーネントに比べ、マルチバイト処理に優れている
  • Semailコンポーネントに比べ、汎用性が高い
  • インラインHTMLメール機能があり、デコメも送信可能

余談

意外にすんなりとCakePHP対応ができたような気がします。
ただ、1.1は使ったことがなかったので、ちょっと戸惑いました。1.2と微妙に違うんですよね。
CakePHPと通常ライブラリの共用ファイルにできたのでほっとしています*1
普通のライブラリとしても使えるので、他のフレームワークでも問題なく使えると思います。

Semailは、emailコンポーネントの改良版でしたが、Qdmailは、すべてゼロからのコード書き下ろしです。
ライセンスについては迷いましたが、AGPLv3です。CakePHPのライセンスとは異なりますので、ご留意ください。(追記:ライセンスはMITライセンスに変更しました。CakePHPと同じです。)
個人的には、もはやSemailを使う理由はないような気がします。実行速度以外のすべての面においてQdmailが勝ります。(単純なテキストメールだけであれば、Semailの方が軽くていいかも知れない)
SemailとQdmailを立て続けにリリースし、メールオタクのようになってしまいました*2
もう疲れたので、今後はゆっくりペースにします*3
コメントいただいた方にはすごく感謝しております。
アクセス数はそれなりにあるのですが、あまりリアクションもないので、まあ、そんなに需要はなかったということなのでしょう。自己満足ですが、ただ単に「簡単にメールを送りたい」というだけだったんですけどね。

*1 : 2つにしたら、今後それぞれのお守りをしなくちゃいけなくなるので

*2 : もともとさして詳しくなかったのですが

*3 : 本業もありますので