mailform.inc.php

サマリカスタマイズ可能なメールフォームを設置するプラグイン
リビジョン1.0
対応バージョン1.5.4
投稿者kanateko
投稿日2022-06-13 (月) 22:26:32

カスタマイズ可能なメールフォームを設置し、入力内容をプラグイン内で設定したメールアドレス宛に送信することができます。主に問い合わせフォームとしての使用を想定しています。
デフォルト状態では名前、メールアドレス、件名、問い合わせ内容の4項目が表示され、設定ページを編集することでメールアドレスと件名の間に自由に追加項目を増やせます。

主な機能

ダウンロード

セットアップ

  1. GitHubにある「plugin-mailform」フォルダをダウンロードし、中身をそのままpukiwikiのディレクトリに放り込む。
    • 配置の見本
      ┣ skin
      ┃ ┣ css (フォルダ)
      ┃ ┗ js (フォルダ)
      ┗ plugin
        ┣ mailform (フォルダ)
        ┗ mailform.inc.php
  2. プラグイン設定のメールアドレスを自分用に書き換える。 (詳細は下記参照)
  3. 設定ページ (デフォルトでは:config/plugin/mailform) を作成して凍結しておく。

プラグインの設定

定数 (PLUGIN_MAILFORM_~)初期値説明
ADMIN_ADDRstring'admin@example.com'メールの送信先アドレス
AUTOREPLY_ADDRstring'noreply@example.com'自動返信の送信元アドレス
CONFIG_PAGEstring':config/plugin/mailform'設定ページ
RESTRICT_MODEbooltrue設定ページが凍結されている場合のみ使用可能
SUBMIT_USER_DATAbooltrue利用者のIPとUAを記録して送信
MAX_TEXTAREA_LENGTHint1200テキストエリアの文字数制限
MAX_TEXT_LENGTHint80テキストエリア以外の文字数制限
NAME_PREFIXstring'mf_'入力項目のname属性のプレフィックス
CLASS_DIRstringPLUGIN_DIR . 'mailform/class/'classディレクトリ
TPL_DIRstringPLUGIN_DIR . 'mailform/template/'templateディレクトリ
JSstring'<script src="' . SKIN_DIR . 'js/mailform.js"></script>'JavaScript読み込み用
CSSstring'<link rel="stylesheet" href="' . SKIN_DIR . 'css/mailform.css">'CSS読み込み用

ADMIN_ADDRAUTOREPLY_ADDRは必ず変更すること。

使用方法

メールフォームを表示したいページに#mailformとブロック型で記述する。

オプション

引数で文字列を渡すと読み込む設定ページを変更できる。 なお、読み込めるのはプラグイン設定で指定したページの子ページのみ。

例)

設定ページの書き方

追加項目の設定を定義リストで一行ずつ書いていく。

基本的な書き方

わかりやすく途中にスペースを入れているが実際には不要。

: <項目の表示名> , <name> | <type> , [オプション]

必須項目にしたい場合は表示名の前に「*」 (アスタリスク) を書く。

name属性が重複している場合はエラーになる。 また、デフォルトの項目で使用している namemailsubjectbody の4つはname属性として設定できない。

typeは

のいずれかを指定可能。

各typeごとのオプション

不要なオプションは省略可能。それぞれの指定はカンマで区切る。

text, textarea, email

[プレースホルダー] , [初期値] , [文字数の最大]

number

[プレースホルダー] , [初期値] , [文字数の最大] , [値の最小] , [値の最大]

radio, checkbox, select

< 選択肢1 | 選択肢2 | ... | 選択肢n > , [初期値]

date, time, datetime-local

[初期値] , [最小] , [最大]

オプション指定時のフォーマットはそれぞれ以下のようになる。

参考:https://developer.mozilla.org/ja/docs/Web/HTML/Element/input

また、各オプションは相対的な指定も行える。
例) : 日時 , datetime | datetime-local , now , -1 month , last day of december this year

参考:https://www.php.net/manual/ja/datetime.formats.relative.php

hidden

<value>

設定ページの例

表示

*住所,address
text,例) 京都府京都市伏見区淀水垂町509-16
*配達日,date
date,now,tomorrow,+7 days
*時間指定,time
radio,希望なし|午前|午後,希望なし
サイズ,size
hidden,120サイズ

ソース

:*住所,address|text,例) 京都府京都市伏見区淀水垂町509-16
:*配達日,date|date,now,tomorrow,+7 days
:*時間指定,time|radio,希望なし|午前|午後,希望なし
:サイズ,size|hidden,120サイズ

メールの内容

メールフォームから送信があった場合、プラグイン設定で指定したメールアドレス宛に以下のようなメールが届く。

以下の内容でお問い合わせがありました。
------------------------------
【送信日時】2022-06-12 (日) 23:14:54
【お名前】鈴木太郎
【メールアドレス】example@gmail.com
【件名】送信テスト

【お問い合わせ内容】
これはメールフォーム送信テストです。

------------------------------
PAGE: mailform
URL: xxx.com/?mailform
IP: ***.***.***.***
UA: ~~~

また、送信者が確認画面で「確認用メールを送信する」にチェックをしていた場合、フォームに入力したメールアドレスに以下のような自動返信メールが届く。

以下の内容でお問い合わせを受け付けました。
------------------------------
【送信日時】2022-06-12 (日) 23:14:54
【お名前】鈴木太郎
【メールアドレス】example@gmail.com
【件名】送信テスト

【お問い合わせ内容】
これはメールフォーム送信テストです。

------------------------------
※このメールは自動返信によって送信されています。
サイトURL: xxx.com/

※自動返信メールの内容にhiddenの値は含まれない。

参考リンク

ライセンス

GPL v3


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-06-14 (火) 13:45:25
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.733 sec.

OSDN