MW WP Formプラグインで管理者宛メールとデータベースにフォーム送信者情報を追加してみる

オペレーター21O:株で大損したので、データベースで 「株で絶対損しない(秘)方法」 という情報を見つけて3万Gで買ったら 送られてきたメールに 「株をやめなさい」 とだけ書いてありました。 これは詐欺で訴えることができるのでしょうか?
【DNS】 Domain Name System インターネットを使った階層的な分散型 データベース システム。現在では主にインターネット上のホスト名や電子メール に使われるドメイン名 と、IPアドレスとの対応づけを管理するために使用されている。
グラフィックボードがダメっぽいからこれだけ、変えてもいいけど、こうなったら買い替えどきだよなと思う。何処かで、いつかのタイミングで買わなきゃいけないのがパソコン。でもその度にデータベースを構築し直すのは超面倒。メールのデータやら、ソフトやら。
おおお、やっとつながったぞ、 このポンコツめが!…そうだ、君だ! 早くこのメールを読んで、 わしのところに来い! もう1日、あるんだ!見つかったんだ! データベースが回復して、 見つかったんだよ、ファイアの日が。 ご先祖はちゃんと記録しておる。
早すぎ。メール、ブラウザ、データベースもVimで操作。
久しぶりにホームページビルダー触った・・・四苦八苦したけど、「英雄になりたい!0」データベースのリンクおかしいとこあったのは直ったと思う・・・あとは誤字直し・・・ゆっくりやります。あと、まとめたワイへのメールを出せるようにもしました。

WordPressのMW WP Formプラグインで、管理者宛メールとデータベースにフォーム送信者情報(IPとかユーザーエージェントなど)を追加するフィルターフックのやり方。

手順

  1. テーマ内のfunction.phpにフィルターフックを追加する。mwform_custom_mail_tag_mw-wp-form-xxxにフィルターフックをかける。
  2. MW WP Formプラグインの「フォームを編集」から、追加したキーを管理者宛メール設定の「本文」に入れる。
  3. 「問い合わせデータをデータベースに保存」にチェックする。

mwform_custom_mail_tag_mw-wp-form-xxxのフィルターフック

※ 詳しくは公式サイトのドキュメントを参照:
mwform_custom_mail_tag_mw-wp-form-xxx | MW WP Form

要するに、オリジナルの「メールタグ」として、送信者のユーザーエージェント、IP、ホストなどを定義してしまえば良いということです。

/**
 * {user_agent} UAに変換
 * {ip} IPに変換
 * {host} HOSTに変換
 * {send_datetime} 送信日時に変換
 * 
 * @param string $value 送信された値
 * @param string $key メールタグ
 * @param int $insert_contact_data_id データベースに保存した場合、そのときの Post ID
 */
function add_sender_info( $value, $key, $insert_contact_data_id ) {

    if ( $key === 'user_agent' ) {
        return $_SERVER["HTTP_USER_AGENT"];
    }
    if ( $key === 'ip' ) {
        $ip = $_SERVER["REMOTE_ADDR"];
        return $ip;
    }
    if ( $key === 'host' ) {
        $host = gethostbyaddr($_SERVER["REMOTE_ADDR"]);
        return $host;
    }
    if ( $key === 'send_datetime' ) {
        $org_timezone = date_default_timezone_get();
        date_default_timezone_set('Asia/Tokyo'); //タイムゾーンを日本に
        $Datetime = date("Y年n月j日 H:i:s");
        date_default_timezone_set($org_timezone); //タイムゾーン戻す
        return $Datetime;
    }

    return $value;
}

add_filter( 'mwform_custom_mail_tag_mw-wp-form-xxx', 'add_sender_info', 10, 3 );

「フォームを編集」から、管理者宛メール設定で本文に追加したキーを入力し、「問い合わせデータをデータベースに保存」にチェックする。

screenshot-stg.utsude.com 2017-07-15 13-59-15.png

これで、管理者宛メールに送信者情報が入り、かつデータベースに保存時にも送信者情報として各項目が追加されるようになります。

  • コメント

    1. 匿名希望
      2017/08/19(土) 17:14:54

      早すぎ。メール、ブラウザ、データベースもVimで操作。

    2. 匿名希望
      2017/08/19(土) 17:14:54

      おおお、やっとつながったぞ、
      このポンコツめが!…そうだ、君だ!
      早くこのメールを読んで、
      わしのところに来い!
      もう1日、あるんだ!見つかったんだ!
      データベースが回復して、
      見つかったんだよ、ファイアの日が。
      ご先祖はちゃんと記録しておる。

    3. 匿名希望
      2017/08/19(土) 17:14:54

      グラフィックボードがダメっぽいからこれだけ、変えてもいいけど、こうなったら買い替えどきだよなと思う。何処かで、いつかのタイミングで買わなきゃいけないのがパソコン。でもその度にデータベースを構築し直すのは超面倒。メールのデータやら、ソフトやら。

    4. 匿名希望
      2017/08/19(土) 17:14:54

      【DNS】
      Domain Name System
      インターネットを使った階層的な分散型 データベース システム。現在では主にインターネット上のホスト名や電子メール に使われるドメイン名 と、IPアドレスとの対応づけを管理するために使用されている。

    5. 匿名希望
      2017/08/19(土) 17:14:54

      オペレーター21O:株で大損したので、データベースで
      「株で絶対損しない(秘)方法」
      という情報を見つけて3万Gで買ったら
      送られてきたメールに
      「株をやめなさい」
      とだけ書いてありました。

      これは詐欺で訴えることができるのでしょうか?

    記事に戻る

関連記事