2014年05月12日
フォーム送信時の通知メールの送信元アドレスを条件によって切り替える
機能の概要
前回に続き、ContactFormに関する新機能です。
今まで Contact Form のメール送信元については、システムのメールアドレス固定となっており、カスタマイズ対応抜きにはフォーム毎に異なる送信元を設定することは出来ませんでした。
今回の改修では下のように、管理者への通知メール・送信者へのサンクスメール共に、送信元アドレスの指定欄が追加されています。
また、送信元・送信先アドレス共にMTタグを利用しての指定が可能になりましたので、単にフォーム毎にアドレス指定出来るだけでなく、柔軟な運用が可能になります。
送信元アドレスを記事側で指定する
以下のようにすることで、フォームの設定自体は変更しないまま、記事毎に送信元アドレスを変更させることが出来ます。
以下の設定で記事にカスタムフィールドを追加します。
- システムオブジェクト
- 記事
- 名前
- フォームメール送信元
- 種類
- テキスト
- ベースネーム
- entry_thanks_sender
- テンプレートタグ
- EntryThanksSender
フォーム編集画面の「送信者への通知」で「メール送信元」欄に「<$MTEntryThanksSender _default="<<無指定時のデフォルトで送信元になるメールアドレス>>" escape="html"$>」と入力することで、記事のカスタムフィールド「フォームメール送信元」が、フォームに反映されます。
フォームの入力内容により管理者通知先メールの宛先を変更する
メールアドレス指定部分にMTタグが使えるということは、条件分岐が行えます。
例えば商品ごとに担当部署が違うような場合に、問い合わせフォームフォーム内の商品の選択値により通知先を変更する事が可能になります。
商品選択のフォーム項目設定
- 名前
- 商品の選択
- 種類
- ラジオボタン
- オプション
- ePublisher,Xtalk
- ベースネーム
- products
上記の様にフォーム項目を作成したある場合に、「メール通知」の「メール送信先」欄に以下のように入力することで、項目の選択により送信先が分岐します。
<MTVar name="request.products" setvar="requestProduct"><MTIf name="requestProduct" eq="ePublisher">[[ePublisher担当者のメールアドレス]]<MTElseIf name="requestProduct" eq="Xtalk">[[Xtalk担当者のメールアドレス]]<MTElse>[[無指定時のデフォルト送信先メールアドレス]]</MTIf>
注意点としては、上記の無指定時の処理のように結果が空にならずに、必ず正しいメールアドレスが結果になるようにしてください。
- カテゴリー
- PowerCMS 4
コメントを投稿する