AjaxのPOST送信に対応!
MooToolsのForm.ValidatorとかForm.Requestに向けての対応なんだけどjQueryとかでも使えます多分 😀
セッションを使った送信が相変わらずメインなので、Ajax使わないと送信できなくなったというわけではないです。

AjaxでPOST送信されなかった場合は通常のページ遷移による送信を行うため、
フォームタグの属性にactionを入れてあればJavascript無効でもメールフォームの送信ができます。
なのでAjaxでメールフォームを送信する場合と普通にセッションで送る場合とが混在していても、これまで通りコアファイルは1セットあればOK。

Ajaxで送受信を行う場合、デモが置いてある@PAGESのような広告が挿入されるサーバーだと
大抵zeromail.phpからのレスポンスにも広告が挿入されてしまうので、
JavaScript側でそれらを削除する設定が必要になってきます。(scriptだけでも削除しないと最悪フリーズする)
これについては解説ページの方に書きますのでそちらをご覧ください。

ダウンロードは準備中です。来週再開予定。
リポジトリにはうpしてあります。

Ajaxサンプル
通常送信サンプル
 (設置場所は@pages鯖です)

丁度2年前に書いたZeroMailになる前のソース(通しバージョンでいうと0.1)が発掘されたので、これも来週あたりにリポジトリで晒す予定。
実はそれが初の自作PHPスクリプトだったり。

ver1.1からの変更点:

  • Ajaxへの対応(全面的に書き直し+NOSCRIPT環境への対応追加)
    →Ajax利用時はページ遷移を行わず結果だけ出力
  • メールアドレスを必須にするかどうかの設定追加
    →メアドなしでも送信できるようになった
  • 差出人名設定追加
    →自動返信されるメールの差出人になる
  • ブロックするIPの設定追加
    →設定されたIPからの送信をブロックする
  • ユーザー情報にIP追加と並べ替え
    →IPも表示するようにした
  • メールヘッダ変更(主にfrom)
    →送信者が地味に変わってます
  • エラー表示をテンプレート化(error.php)
    →確認画面と同じ出力が簡単に行えます
  • 設定ファイルの項目並び替え
    →項目が増えたので見やすくした
  • 入力チェック強化
    →より厳密な感じに
  • 平仮名・片仮名のチェック追加
    →カタカナのみ、ひらがなのみ、ひらがなかカタカナのみ
    jpkがカタカナのみに変更になってますので注意。
  • セッション破棄を各所に追加