多くの宛先に半自動でメールを送信

メルマガのように、まったく同じメールを、数百、数千の宛先に、一瞬で送るのではなく、宛先毎に本文内容を確認し、手動 で「送信ボタン」を押しながら、しかし、多くの方 に、メールを送信することができるページを、自身のワードプレスサイト上に構築する。(非公開設定)

こういった用途で使えます。

  • 年始の挨拶、暑中お見舞い、引っ越しの連絡、人事移動の連絡など、多くの方々に、それぞれの方々に合わせた内容で、メールを送信する時
  • 展示会出展後に、ブースに来ていただいた来訪者に、フォローアップの為のメールを送信する場合。(宛先毎に、展示会での会話内容などを、それぞれのメールに盛り込むことができる。)

当メール送信方法のコンセプト

  • 送信先リストを、すでに保有しているデータベースから CSV 形式で取得し、ボタン一つで、メール送信用画面に転送することで、手動での一件一件のメルアド・宛先入力の労力を削減する。
  • 定型の基本文面は、前もって作成しておくため、それぞれの宛先毎に同じ文章を何度も作成したり、コピペしたりする作業を減らす。
  • 一件一件、メール送信ボタンクリック前に、宛先、メルアド、本文などを確認できる。また、一件一件、個別の内容を盛り込んだり、定型文を一部変更したりすることが可能。
  • B2Bでのメール送信用を想定しているので、本文内には、送信先の、会社名、部署名、役職、氏名が記載

実際のイメージ

左の小窓内に共通データを入力。「データ転送ボタン」で、右側のフォームに転送
左の小窓内に共通データを入力。「データ転送ボタン」で、右側のフォームに転送

デモページ

  • 会社名、部署名、役職、氏名、メルアドは、前もって、ダミーデータを設定しています。タイトルと本文を記入してください。
  • 「データ転送」ボタンを押すことで、ポップアップアップウインドウから、メール送信用画面に、データを、一件づつ転送します。
  • メール送信用画面でも、修正・追記など可能。
  • デモページでは、「メール送信」ボタンをクリックしても、メールは送信されないように設定しています。

利用方法

  1. 左側の小窓に、下の内容を入力
    • 会社名、部署名、役職、氏名、メルアドの一覧をCSVファイルからコピー
    • 共通メールタイトルと本文を入力
  2. 左側小窓下、「データ転送ボタン」クリックで、右側のフォームに転送
  3. 右側のフォーム内で、宛先を確認しながら、メールタイトル、本文などを修正
  4. 「送信」ボタンでメール送信

利用上の注意点

  • csv について
    • フォーマットはデモページの形
    • 一行目にそれぞれのデータのタイトル(実際はこのデータを使っていませんのでデモのタイトルのままでなくても大丈夫です。)
    • 二行目以下が、それぞれのデータ
    • エンコード UTF-8 改行 LF に変換後にコピーしてください。
  • 半分自動でのメール送信ですので、送信できる人数は、百名程度以下ぐらい。
  • 一人ひとりが基本ですので、複数の人に、一度に送信できるようには設定していません。
  • ブラウザ上で、ポップアップウィンドウが開かないような設定がある場合、解除が必要

設定/製作方法

  • wp-content
    • themes
      • twentyseventeen-child
        • template-pages
          • full-width.php(*1)
          • members-only.php(*2)
  • 2つの固定ページを利用します。
    • 「一斉メール送信データ入力(CSV)」ページ
      • ポップアップウインドウで、csv データ、共通タイトル、共通な本文を入力するフォームを設定するページ。
      • スラッグ名「maildatainputcsv」(親ページからこのスラッグ名で読みだし、ポップアップ・ウインドウをオープン)
      • *1 : full-width テンプレートページを利用(ウインドウ内の無駄な飾りつけをなくす為)
      • 非公開設定
      • 管理画面・固定ページの属性・親に「メール送信ページ」を設定
    • 「メール送信ページ」
      • コンタクトフォーム 7 を設定(ショートコード内にマニュアルで、html_name=”mailSending” を追記。入力データの転送先のメール送信用フォームをこの html_name で指定する。)
      • *2 : members-only テンプレートページを利用します。(一般に公開しない為)
  • 「一斉メール送信データ入力(CSV)」ページ
    <div id="contact-form-csv" style="font-size:small; padding:20px;">
      <form name="csvform" id="csvform" class="csvform">
    
        <label style="margin:10px auto 20px;">CSV DATA<br />
          <textarea name="csvinput" id="csvinput" class="csvinput" rows="8" style="font-size:small;"></textarea>
        </label>
    
        <label style="margin:10px auto 20px;">全メール共通タイトル<br />
          <input type="text" name="commonSubject" id="commonSubject" class="commonSubject" style="font-size:small;" />
        </label>
    
        <label style="margin:10px auto 20px;">全メール共通本文<br />
          <textarea name="commonMessage" id="commonMessage" class="commonMessage" rows="8" style="font-size:small;"></textarea>
        </label>
    
        <div style="margin:10px auto 40px;">
          <input type="button" id="dataTrans" value="データ転送(csv)">
        </div>
      </form>
    </div>
    
    <script type="text/javascript">
    <!--
    
    var num = 0;
    var csvD;
    var csvArray;
    document.getElementById("dataTrans").addEventListener("click", myFunction);
    
    function myFunction() {
    
      if(num==0){
        csvD = jQuery("#csvinput").val();
        csvArray = csvD.split("\n");
      }
      num++;
      var csvArrayD = csvArray[num].split(',');    
    //console.log (num,csvArray[num]);
    
      window.opener.document.mailSending.mailCompany.value = csvArrayD[0];
      window.opener.document.mailSending.mailDiv1.value = csvArrayD[1];
      window.opener.document.mailSending.mailDiv2.value = csvArrayD[2];
      window.opener.document.mailSending.mailTitle.value = csvArrayD[3];
      window.opener.document.mailSending.mailTo.value = csvArrayD[4];
      window.opener.document.mailSending.mailAddress.value = csvArrayD[5];
    
      var commonSubject = jQuery("#commonSubject").val();
      var commonMessage = jQuery("#commonMessage").val();
    
      window.opener.document.mailSending.mailSubject.value = commonSubject;
      window.opener.document.mailSending.mailMessage.value = commonMessage;
    }
    // -->
    </script>
  • 「メール送信ページ」
    <script type="text/javascript">
       <!--
          window.open("maildatainputcsv", "MAILSEND", "width=600,height=600");
       // -->
    </script>
    
    <div style="font-size:small;">
       [contact-form-7 id="        " title="Auto Mail Sending" html_name="mailSending"]
    </div>
  • full-width.php
    <?php
    /**
     * Template Name: Full Area
     *
     */
    ?>
    
    <!DOCTYPE html>
    <html <?php language_attributes(); ?> class="no-js no-svg">
    <head>
    
      <?php mta_headtop(); /* by MTA */ ?>
    
      <meta charset="<?php bloginfo( 'charset' ); ?>">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="profile" href="http://gmpg.org/xfn/11">
    
      <?php wp_head(); ?>
    </head>
    
    <body <?php body_class(); ?>>
    
      <?php mta_bodytop(); /* by MTA */ ?>
    
      <?php
    
      // Start the loop.
      while ( have_posts() ) : the_post();
    
        the_content();
    
      // End of the loop.
      endwhile;
    
    ?>
    
    </body>
    </html>
    
    
  • members-only.php
    <?php
    /**
     * Template Name: members only
     * copied from page.php
     */
    
    get_header(); ?>
    
    <div class="wrap">
      <div id="primary" class="content-area">
        <main id="main" class="site-main" role="main">
    
          <?php
          if (!is_user_logged_in()){
    
            wp_login_form();
          }else{
    	
            while ( have_posts() ) : the_post();
    
              get_template_part( 'template-parts/page/content', 'page' );
    
              // If comments are open or we have at least one comment, load up the comment template.
              if ( comments_open() || get_comments_number() ) :
                comments_template();
              endif;
    
            endwhile; // End of the loop.
    
          }
          ?>
    
        </main><!-- #main -->
      </div><!-- #primary -->
    </div><!-- .wrap -->
    
    <?php get_footer();
  • contact form 7
    <div style="width:46%; float:left; padding-right:4%;">
    <label>会社名
        [text mailCompany id:mailCompany class:mailCompany]
    </label>
    <label>部署名1
        [text mailDiv1 id:mailDiv1 class:mailDiv1]
    </label>
    <label>部署名2
        [text mailDiv2 id:mailDiv2 class:mailDiv2]
    </label>
    </div>
    
    <div style="width:46%; float:left;">
    <label>役職名
        [text mailTitle id:mailTitle class:mailTitle]
    </label>
    <label>氏名
        [text mailTo id:mailTo class:mailTo]
    </label>
    <label> メールアドレス (必須)
        [email* mailAddress id:mailAddress class:mailAddress]
    </label>
    </div>
    
    <div style="clear:left; width:96%; margin-bottom:20px;">
    <label> 題名
        [text mailSubject id:mailSubject class:mailSubject] </label>
    <label> メッセージ本文
        [textarea mailMessage id:mailMessage class:mailMessage]
    </label>
    </div>
    
    [submit "送信"]
  • コンタクトフォーム・メール設定

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です