Contact form 7はユーザー数が一番多いコンタクトフォームです。
Contact form 7の作者は、フォームの送信履歴を確認できる便利なプラグインを用意しています。
それはflamingoです。
Contact form 7とflamingoを有効化しておくだけという使い方をしている方が多いと思いますが、ある設定しないと後で困ることが多いのでメモしておきたいと思います。
flamingoの受信メッセージに意味のない情報しか表示されない問題
flamingoの受信メッセージには2つのカラムがあります。
- 件名
- 送信者
しかし、これらの内容が意味のない固定の内容になっていないでしょうか?
例えば、件名が[your-subject]、送信者が[your-name]<[your-email]>という内容で全て埋まっている。
そうなると、いちいち件名をクリックして、詳細を確認しないと、何のメールだか全く分かりません。
flamingoは件名や送信者の情報をメールタグから取得して、メールごとに置き換えてからデータベースに保存しています。
そのメールタグは初期状態では決め打ちされていて、自分が作ったコンタクトフォームでそのメールタグが使われていない場合は、メールタグがそのまま表示されます。
flamingoの受信メッセージの表示内容にメールタグを表示させないためには?
flamingoが受信メッセージを保存するときに使用するメールタグを適切に設定してあげれば問題は解決します。
flagmingoが参照しているメールタグは以下の3つです
- 件名:[your-subject]
- 名前:[your-name]
- メールアドレス:[your-email]
この3つのメールタグを自分のコンタクトフォーム毎にflamingoに指定してあげれば、受信メッセージにメールタグがそのまま表示されることはなくなります。
ただし、flamingoの受信メッセージは、フォームから送信されたときに、メールタグを置き換えてデータベースに保存しますので、一度、保存されてしまった受信メッセージは後から書き換える仕組みは用意されていません。
Contact form 7のフォームにflamingoの設定があります
コンタクトフォームの編集 画面に行くと、その他の設定というタブがあります。
そこに、フォーム毎に使用しているメールタグを指定することで、flamingoの受信メッセージにメールタグがそのまま表示されることを防ぐことができます。
flamingo_email: "[the-email-field]"
flamingo_name: "[the-name-field]"
flamingo_subject: "[the-subject-field]"

メールタグを置き換える前の受信メッセージを簡単に確認したい場合
先ほども触れましたが、flamingoはデータベースに保存する時にメールタグを実際の情報に置き換えますので、過去のメールにさかのぼってメールタグの置き換えはしてくれません。
それじゃ不便だと思いますので、簡易的にダッシュボードで受信メールの内容を確認できるカスタマイズを以前ご紹介しました。
まとめ
flamingoを導入する時には、Contact formのフォーム側で追加の設定を行うのが前提となっています。
flamingoで参照するメールタグの設定は、後から設定しても過去の受信メールには適用されません。
フォームを作成したら、忘れずにflamingoの設定をフォームの「その他の設定」にて追加するようにしましょう。