メールフォームでIPアドレス、ユーザーエージェントを保存するプラグインを作成しました。
プラグインにするまでもない内容ですが、要望があったので作ってみました。
メールフォームで保存時の動作を拡張するときのコードの参考にもなるのではないでしょうか。
ソースコード
ソースコードはGitHubで公開中です。
https://github.com/kaburk/MailClientInfoRecord
ソースをgit clone、または、
https://github.com/kaburk/MailClientInfoRecord/releases/よりzipファイルをダウンロードしてください。
使い方
- 圧縮ファイルを解凍後、BASERCMS/app/Plugin/MailClientInfoRecord に配置します。
- 管理システムのプラグイン管理に入って、表示されている MailClientInfoRecord プラグイン を有効化して下さい。
- プラグインの有効化後、「フィールド設定」よりの「ip_address」「user_agent」フィールドを追加してください。(隠し項目にすると見た目に良いです)
- メールフォームで送信すると、送信したユーザーの各情報が記録されます。
- データベースに保存する設定になっている場合は管理画面やCSVダウンロードでも確認できます。
実行結果
※ 送信されるメール本文にも記載されます。
管理者宛のメールだけIPアドレスを表示したい、などにしたい時は Theme内のViewファイル( /theme/テーマ名/Emails/text/mail_data.php )を書き換えたりするとよいかと思います。