zeromail

ZeroMail ver1.2

2010/03/05 Information No comments , ,

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スクリプトだったり。

(さらに…)

ZeroMail ver1.1

2010/03/01 Information No comments

暇だったのでファイル添付に対応してみました。
添付可能なファイル数に上限は設けていません。

添付可能なファイル:

  1. 拡張子:gif, png, jpg, pdf, swf, txt, xls, doc, ppt
  2. ファイルタイプ:image/jpeg, image/pjpeg, image/x-png, image/gif, application/pdf, application/octet-stream, application/x-shockwave-flash, text/plain

ファイルタイプの確認はcheck_minetypeという関数で行っているので、
配列の値を削れば添付可能をJPEGのみにしたりもできます。

全体的に追加変更があるので、バージョンアップする場合はファイル添付機能を使う使わないに限らず
すべてのコアファイル(zeromail.php、init.php)の上書きが必要です。

次はAjaxバリデータに対応すると思う。

Zeromail ver0.8

2009/06/02 Information No comments

Zeromailをver0.8にバージョンアップしました。
ver0.6~0.7はGoogleCodeの方でちょっと晒してましたが配布はしてません。
ver0.5からの変更点は次の通りです。

confim.phpが吐くソースが文字コード変換されてなかったので修正
SJISとEUCの場合文字化けしてたっぽい

予約済みname値と同じ文字列がname値に含まれていればチェックを行うように修正
name2やusername、mail2などの値でも予約name値と同じチェックをします。
名前(name)の場合は必須入力の確認するのはnameという値のみです。
メールの自動返信はemailという値に入力されたアドレスに返信を行いますが、
値がなかったり間違ったりして送信できなくてもエラーは出ません。

ローマ字の名前に対応
init.phpでALPHANAMEをtrueにすると半角英数のみの名前でも送信できるようになります。

Message()で表示する文字にspanタグつけた
成功時のクラス名 conf、エラー時のクラス名 err です。

<span class="err">前のページに戻って入力エラーを修正してください。</span>
<span class="conf">入力内容に間違いが無ければ、送信ボタンを押してください。</span>

サンプルのフォームとスタイルシート変更
配布予定のスケルトンテンプレートと同じもの。フォーム入れる要素をテーブルにした。

郵便番号のname値をzipcodeにして正規表現にハイフンなし追加
ver0.5までのpostnumは使えません。ので変更必須。
半角英数7文字か、ハイフン込みで8文字(3文字+ハイフン+4文字)のチェックをします。
郵便番号が存在するかどうかは確認しません。
全角数字は半角に変換します。

電話番号の正規表現変更
こっちの記事と同じやつです。

先頭3桁が「090」「080(0800含む)」「070」以外であり且つ、市外局番は2〜5桁、市内局番は1桁(田舎の方. 北海道では普通)〜4桁(東京とか)、下4桁は固定で、ハイフン含めて合計12桁である場合
携帯の古い090と新しい080およびPHSの070から始まる電話番号の場合は、3-4-4桁フォーマットでハイフン含めて合計13桁の場合
フリーダイヤル「0120」から始まる電話番号の場合は、4-3-3桁および4-2-4桁フォーマットでハイフン含めて合計12桁
フリーダイヤル「0800」から始まる電話番号の場合は、4-3-4桁でハイフン含めて合計13桁

ハイフンなしの場合は先頭の市外局番と文字数をチェックします。
全角数字は半角に変換します。

自動返信のname値にreply追加っていうか変更
Replyも使えますが廃止予定なので変更をお願いします。

checkboxとradioの必須入力チェック追加
requireという名前のhedden要素で次のように必須入力にしたいname値を指定します。

<input type="hidden" name="require" value="name値,name値" />

ファイル添付は対応していません。

ZeroMail ver0.5

2008/08/25 Information No comments

ZeroMailのバージョンが0.5になりました。

変更点は大体次の通りです

  • UTF-8以外の文字コードが使えるようになった(EUCとShift-JISにも対応)
  • 確認画面のボタンとメッセージ出力を切り離した
  • テンプレートの残念なケアレスミス修正(headの閉じタグ抜けてた)
  • その他色々と気になった所を変えた(バージョン出力周りとか)

やっつけ仕事ですがShift-JISとEUCでも文字化けしないようにしました。

ver0.4からver0.5のアップデートは以下の手順で出来ると思います。

  1. メイン3ファイル(zeromail.php、init.php、confim.php)を上書き
  2. init.phpの設定を変更
  3. 確認画面(check.php)にMessage()関数を追加

init.phpの設定は、文字コード設定とHTML出力部分が変わってるだけなので、
その他の設定はコピペでOKです。

ZeroMail ver0.4

2008/06/24 Information No comments

ZeroMailの中ちょっと変えました。
メアドとURLの正規表現部分だけなので、v0.3そのまま使ってても動作には問題ありません。
バージョンアップする際はzeromail.phpだけ上書きでおkです。
動作におかしなところがあれば教えてください。

フォーム要素の設定が項目多くなるほど面倒なので、
もっと楽に設定出来るようにしたい・・・(=ω=)