CakePHP::メール送信プラグインを書いた
CakePHPのpluginsってフォルダが気になっていたのでマニュアルを読みながらプラグイン作成に挑戦した。
DBを使わないことに決めたので、ビューにメールの本文を書いたり(requestActionが使いたかっただけ)、メールアドレスがモデルに書いてあったりしてあるので、その辺は使うときにいい感じにして下さい。
とにかくこれをダウンロードしてプラグインフォルダに突っ込めばお問合せフォームができるんだからCakePHPはやっぱりすごい。
cakephp_plugin_mail-01.zip(16kb)
仕様
よくあるお問合せフォーム
- 確認画面あります
- 管理者(複数)とお問合せ主にメール送ります
設置・設定
設置は簡単で、解凍してできたmailというフォルダを/plugins/mailって感じでおいてやるだけ。すると/app_dir/mail/mail_contacts/indexでアクセスできるようになる。
最低必要な設定は、/mail/models/mail_contact.php#getConfig()のところ
function getConfig(){
return array(
'mail_from' => 'info@example.com',
'mail_to' => array("staffa@example.com","staffb@example.com"),
'admin_title' => 'ホームページよりお問合せ',
'customer_title' => 'お問合せ有難うございました。[bekery php]',
);
}
mail_form・・・メールのfromのアドレス
mail_to・・・管理者のアドレス、複数登録できる
admin_title・・・管理者あてのメールのタイトル
customer_title・・・お問合せ主宛てのメールのタイトル
あとは、メールの本文が
/mail/views/mail_contacts/bodyForAdmin.thtml
/mail/views/mail_contacts/bodyForCustomer.thtml
の二つのファイルで普通にビューになっているのでそれを編集。
気になった点
- 入力>確認>完了の「確認」部分が非常に面倒くさい
- radioボタンのデフォルト値の設定方法が不明
- Cake流のメールの送り方がわからない(プレーンテキストでしかおくらないしなー)
- プラグインってあんまり使われて無い?便利なプラグインが腐るほどあるんじゃないかと思ったんだが見つからなかった。
みんなどうやってコーディングしているのか気になってきた。cheesecakeとか読んだ用がいいのかな?できれば日本人がかいたスクリプトがいいんだけど・・・・すごい人たちで、お問合せフォームコンテスト、掲示板コンテストを行って欲しい。