LoginSignup
3
2

More than 5 years have passed since last update.

Googleフォーム送信後に、フォームの入力内容を本文に活用してメールを送信させる

Posted at

メモの内容

Googleフォームを使うことで、お仕事の依頼するためのフォームを簡単に作ることができます。
今回は、フォームから入力があった場合に、依頼内容をもとにしたメールを関係者に送信するスクリプトを作成しました。

スクリプトの作成

Googleフォーム作成後、GoogleSpreadSheetが作成されます。
そこから[ツール]-[スクリプトエディタ...]にて、GoogleAppsSciptsを作成することができます。
下記のようなスクリプトを作成して、現在のプロジェクトのトリガーにて、
イベントを"スプレッドシートから", "フォーム送信時"に設定してあげると、
フォームから入力送信後、下記にスクリプトが実行されて、MailApp.sendEmailで設定したアドレスにメールが送信されます。

function notificationSendEmail(){
  var sheet = SpreadsheetApp.getActive().getSheetByName("フォームの回答 1");
  var datarange = sheet.getRange(2, 1, sheet.getLastRow(), sheet.getLastColumn());
  var data = datarange.getValues();

  var body_mail = "";
  // emailのbodyの内容をつくる
  // ...
  // ...

  for (var i = 0; i < data.length-1; i++) {
    // data[i][x] で i行目の x番目のGoogleSpreadsheetの値を取得する
    // 下記では、emailのbodyに上記の値を挿入して文章を作りたいので、data[i][x].toString()を使用しています。
    var col1 = data[i][0].toString();
    var col2 = data[i][1].toString();
    var col3 = data[i][2].toString();

    //
    // body_email に上記col1, 2, 3 を加えて文章をつくる
    //

    var subject;  
    subject = "件名"

    // メール送信
    MailApp.sendEmail("recipient@example.com",
                                subject,
                                body_mail, 
                                {
                                  name: 'Automatic Emailer Script',
                                  noReply: false,
                                  replyTo: "reply-to@example.com",
                                  cc: "cc@example.com"
                               });

    Logger.log("ログの内容を記載する");
}

さいごに

次回のメモでは、この後、trelloへの連携部分も書き残したいと思います。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2