- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- CodeIgniter Qdmail へ行く。
- 1 (2011-07-10 (日) 10:50:08)
- 2 (2011-07-10 (日) 11:33:58)
CodeIgniter > Qdmail
PHP製のメール送信ライブラリ「Qdmail」
Qdmailとは? †
- PHP高機能日本語メール送信ライブラリ・文字化けフリー - Qdmail - PHP::Mail Library
http://hal456.net/qdmail/Qdmailとは、PHPのマルチバイト環境(特に日本語)にて、「文字化けしない」「簡単に"デコメ(デコメール)"やHTMLメール等の電子メールを送信することができる」メールクラスライブラリです。文字化け完全制覇を目指しています。
メール送信の文字化けで困ったら、Qdmailと。
ありがたく使わせていただきます。m(__)m
CodeIgniterでQdmailを使う方法 †
コントローラーから直接呼び出す方法 †
公式サイトにあった説明。
- CodeIgniterで日本語メール送信
http://hal456.net/qdmail/code_igniter
CIことCodeIgniterでもQdmailを利用して簡単に日本語メールを送信することができます。(CodeIgniter1.6.3にて動作確認)
携帯デコメもOK
1 2 3 4 5 6 7 8 |
|
$this->load->view メソッドの第3引数をtrueにするのがポイントです。
これで、$this->load->viewは画面に返すのでなく、画面に書くべき内容を返り値として渡してくれます。
このやり方だと、qdmail.phpをコントローラーと同じディレクトリ
/application/controllers/
に置かなきゃいけないので、管理しづらい。
やはり、ライブラリのファイルは、
/application/libraries/
に置いて使った方が、管理上は分かりやすいだろう。
CodeIgniterのライブラリにする方法 †
QdmailをCodeIgniterのライブラリとして使ってみよう。
(参考)CodeIgniter ライブラリの作成
http://codeigniter.jp/user_guide_ja/general/creating_libraries.html
qdmail.phpを
/application/libraries/qdmail.php
に置く。
CodeIgniterのユーザー作成ライブラリのファイル「Mailer.php」を、
/application/libraries/Mailer.php
に作成する。
Mailer.phpの中身は以下のようにする。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
- Qdmailを継承したMailerクラスを作成
- Mailerというユーザーライブラリとして、CodeIgniterで利用
呼び出し †
コントローラーからライブラリを呼び出して使う。
以下のようなメソッドを用意して、Qdmailを利用する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
$this->mailer->の後ろのメソッドは、Qdmailのメソッドを同じになります。
メソッドチェーンを可能にする方法 †
Qdmailを拡張して、メソッドチェーン(メソッドを連続して使用)ができるようにしたライブラリが紹介されていました。
- CodeIgniter用のQdmailライブラリを作ったよ 2011-04-19
http://d.hatena.ne.jp/localdisk/20110419/国産高機能メールライブラリのPHP高機能日本語メール送信ライブラリ・文字化けフリー - Qdmail - PHP::Mail Library , Quick and Detailed for MultibyteをCodeIgniter(以下CI)で使いやすいようにライブラリ化してみた。CI既存ののEmailライブラリとインターフェースは合わせてるので、使いやすいのではないかと。あと例によってメソッドチェーンできるようにしてます。
使用例(Controller) †
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
$this->mailerの後に続けて、メソッドを連続して使用できるんですね!
記述が簡便になって、便利そうです。
application/libraries/Mailer.php †
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 |
|
qdmail.phpと共に、qdsmtp.phpも利用されていました。
まとめ †
PHPでメール送信をするときに文字化けに悩まされたら、Qdmailを使うと大概解決します。
Qdmailは、MITライセンスで配布されていました。(=とても自由に使えます)
CodeIgniterでもQdmailを使わせていただければと存じます。