メールフォームと言えばWebサイトによくある機能です。よくあるものだけに改めて作成するというのは意外と面倒に感じてしまいます。そこで使ってみたいのがZeroMailです。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-17 11.31.41_thumb.1358426556.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-17 11.31.41.1358426556.png)
入力フォームです。エラーチェックが行われています。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-17 11.31.45_thumb.1358426560.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-17 11.31.45.1358426560.png)
確認画面を挟むことができます。こちらはエラーがあった場合。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-17 11.32.10_thumb.1358426566.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-17 11.32.10.1358426566.png)
こちらはエラーがなかった場合。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-17 11.32.14_thumb.1358426569.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-17 11.32.14.1358426569.png)
送信完了です。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-17 11.32.44_thumb.1358426572.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-17 11.32.44.1358426572.png)
Ajaxによるフォーム送信もできます。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-17 11.32.56_thumb.1358426576.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-17 11.32.56.1358426576.png)
管理画面です。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-17 11.33.07_thumb.1358426581.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-17 11.33.07.1358426581.png)
ダウンロードもできます。

ZeroMailはPHP製のメールフォームで、入力チェックやAjaxでの送信に対応し、さらに管理画面を使ってメールの一覧を確認することもできます。添付ファイルの追加も可能です。文字コードもUTF-8の他、EUCやShift-JISでも動作します。

ZeroMailはPHP製、GPL v3のオープンソース・ソフトウェアです。

MOONGIFTはこう見る

DRYの法則に則って考えるならば、同じような処理は極力再開発せず、使い回せるように部品化すべきです。コーディングレベルで言えば関数化からはじまり、クラスやオブジェクトになっていくでしょう。機能ベースで考えるならばユーザストーリーを単位にするのが良いでしょう。

この場合ならば「訪問者として問い合わせメールを送信したい」がストーリーになります。この単位で部品化できれば、同じユーザストーリーが発生した際に再利用が可能になります。同じテクニックでうまく使い回せる部品を探してみてください。

ZeroMail

[ZeroMail DEMO] お問い合わせフォーム

zeromail - Google Project Hosting