高機能なPHPメールフォームスニペット for MODX Evolution
cfFormMailerは、MODX Evolutionで動作する高機能なメールフォームスニペットです。入力検証、CAPTCHA認証、ファイルアップロード、自動返信など、豊富な機能を提供します。
- 豊富な入力検証(メール、数値、文字数、電話番号、郵便番号など19種類)
- 自動返信メール機能
- HTMLメール送信対応
- 動的送信先変更(選択肢によって管理者宛先を切り替え)
- デバッグモード(メール送信の詳細ログ記録)
- カスタム検証ルール・フィルター追加可能
- PHP 7.4~8.4完全対応
- データベース保存(cfFormDBモジュール連携)
- ファイルアップロード対応(画像・PDF・Wordなど)
# 1. ファイルをアップロード
プロジェクトの全ファイルをそのままアップロード:
→ /assets/snippets/cfFormMailer/
# 2. スニペット登録
MODXの管理画面で新規スニペット作成:
スニペット名: cfFormMailer
コード: install-code.php の内容をコピー&ペースト
# 3. 設定ファイル作成
forms/sample/config.with_comment.ini を参考に設定ファイルを作成<!-- MODXドキュメント内 -->
[!cfFormMailer?&config=`@FILE:forms/myform/config.ini`!]詳細は インストールガイド をご覧ください。
- インストールガイド - インストール手順の詳細
- 環境設定リファレンス - 全設定項目の説明
- テンプレート作成ガイド - 入力・確認・完了画面の作り方
- 機能解説 - 入力検証、フィルター、CAPTCHA等
- カスタマイズガイド - 独自検証・フィルターの追加方法
- ファイルアップロード - アップロード機能の詳細
- デバッグモード - メール送信のトラブルシューティング
<!-- 入力画面テンプレート -->
<form action="[~id~]" method="post">
<p>
<label for="name">お名前 <span class="required">*</span></label>
<input type="text" name="name" id="name" valid="1" />
</p>
<p>
<label for="email">メールアドレス <span class="required">*</span></label>
<input type="email" name="email" id="email" valid="1:email" />
</p>
<p>
<label for="message">お問い合わせ内容 <span class="required">*</span></label>
<textarea name="message" id="message" rows="10" valid="1"></textarea>
</p>
<iferror>
<div class="error-messages">
[+errors|implodetag(li)+]
</div>
</iferror>
<button type="submit">送信確認</button>
</form>詳細は サンプルテンプレート を参照してください。
- MODX Evolution: 1.0.x以降
- PHP: 7.4~8.4(推奨: 8.1以降)
- 文字コード: UTF-8
- その他: mb_string拡張、mail関数またはMODxMailer
主な変更点:
- PHP 8.1+
strftime()非推奨問題の部分対応 - セッションからのファイルアップロード処理の改善
- 各種バグ修正とコードクリーンアップ
詳細は CHANGELOG.md をご覧ください。
# リポジトリをクローン
git clone https://github.com/yama/cfFormMailer.git
cd cfFormMailer
# 開発に必要なツールをインストール
composer install
# テストを実行
vendor/bin/phpunitプルリクエストを歓迎します!詳細は CONTRIBUTING.md をご覧ください。
cfFormMailerはGPLライセンスの下で配布されています。
作者: Clefarray Factory サイト: 網的脚本実験室 MODX公式フォーラム: https://modx.jp/
本スクリプトの使用によって生じた損害等について、作者は一切の責任を負わないものとします。ご了承ください。
cfFormMailerが役に立ったら、ぜひ GitHub でスターをお願いします!