2014-12-08

2014-12-08

Googleフォームでsend-mailAdd Star

 

 

Googleドライブでフォーム作成

 

f:id:web-mind:20131016221554j:image

 


  • フォームを選択

 

f:id:web-mind:20131016222205j:image

 

 

f:id:web-mind:20131016222405j:image

 


入力フィールド(テキスト)を作成
  • テキストを選択、「質問のタイトル」を「お名前」にする

 

f:id:web-mind:20131016223933j:image

 


 

アイテムを追加

 

  • テキストを選択、「質問のタイトル」を「メールアドレス」にする
  • エラーチェック:@が記入されない場合は、エラーを返す

 

f:id:web-mind:20131016224357j:image

 


 

アイテムを追加

 

  • テキストを選択、「質問のタイトル」を「件名」にする

 

f:id:web-mind:20131016224616j:image

 


 

アイテムを追加

 

  • 段落テキストを選択、「質問のタイトル」を「お問い合わせ内容」にする

 

f:id:web-mind:20131016224905j:image

 


「回答先を選択する」をクリック

f:id:web-mind:20131016225520j:image


「新規スプレッドシート」を選択し、任意のシート名を入力

f:id:web-mind:20131016225841j:image


  • 作成

確認ページに表示する内容を記述

f:id:web-mind:20131016230622j:image


「回答を表示」をクリックする

f:id:web-mind:20131016230958j:image


ツール」→「スクリプトエディタ」を選択

f:id:web-mind:20131016231203j:image


スプレッドシート」を選択

f:id:web-mind:20131016231427j:image



function sendMailFromForm() {
    Logger.log('sendMailFromForm() debug start');

    //------------------------------------------------------------
    // 設定エリアここから
    //------------------------------------------------------------

    // 件名、本文、フッター
    var subject = "[お問い合わせ]"; 
    var body
        = "お問い合わせありがとうございます。\n\n"
        + "------------------------------------------------------------\n";
    var footer
        = "------------------------------------------------------------\n\n"
        + "後ほど担当者よりご連絡させていただきます。";

    // 入力カラム名の指定
    var NAME_COL_NAME = 'お名前';
    var MAIL_COL_NAME = 'メールアドレス';
    var SUBJ_COL_NAME = '件名';

    // メール送信先
    var admin = "admin@example.com"; // 管理者(必須)
    var cc    = "";    // Cc:
    var bcc   = admin; // Bcc:
    var reply = admin; // Reply-To:
    var to    = "";    // To: (入力者のアドレスが自動で入ります)

    //------------------------------------------------------------
    // 設定エリアここまで
    //------------------------------------------------------------

    try{
        // スプレッドシートの操作
        var sh   = SpreadsheetApp.getActiveSheet();
        var rows = sh.getLastRow();
        var cols = sh.getLastColumn();
        var rg   = sh.getDataRange();
        Logger.log("rows="+rows+" cols="+cols);

        // メール件名・本文作成と送信先メールアドレス取得
        for (var j = 1; j <= cols; j++ ) {
            var col_name  = rg.getCell(1, j).getValue();    // カラム名
            var col_value = rg.getCell(rows, j).getValue(); // 入力値
            body += "【"+col_name+"】\n";
            body += col_value + "\n\n";
            if ( col_name === NAME_COL_NAME ) {
                body = col_value+" 様\n\n"+body;
            }
            if ( col_name === MAIL_COL_NAME ) {
                to = col_value;
            }
            if ( col_name === SUBJ_COL_NAME ) {
                subject += col_value;
            }
        }
        body += footer;

        // 送信先オプション
        var options = {};
        if ( cc )    options.cc      = cc;
        if ( bcc )   options.bcc     = bcc;
        if ( reply ) options.replyTo = reply;

        // メール送信
        if ( to ) {
            MailApp.sendEmail(to, subject, body, options);
        }else{
            MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body);
        }
    }catch(e){
        MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message);
    } 
}

  • 23行目の発信者のメールアドレスを変更する

f:id:web-mind:20131016231806j:image


「リソース」→「現在のプロジェクトのトリガー」をクリック

f:id:web-mind:20131016232115j:image


「プロジェクト名」を記述して「OK」

f:id:web-mind:20131016232347j:image


「トリガー設定されていません。」をクリック

f:id:web-mind:20131016232751j:image


最後のプルダウンを「フォーム送信時」に変更し、保存する

f:id:web-mind:20131016233023j:image


承認を聞かれるので「続行」
  • 「承認する」をクリックする

f:id:web-mind:20131016233315j:image


フォームを送信

  • 「共有するリンク - 埋め込む」で、iframeソースコードを取得
  • HTMLドキュメントにiframeソースコードを貼り付ける
  • サーバーにアップロードして完了

f:id:web-mind:20131017014342j:image