2016年6月9日木曜日

Googleフォームでメールを自動送信をする。

Googleフォームってアンケートや問い合わせをするようなホームページを簡単に作ることができます。

さらにGoogleフォームでは、GoogleAppsScriptというJavaScriptも動くので、例えば、問い合わせがあった場合に自動でメールを送るってことも簡単にできます。

しかし、問い合わせがあった場合にメールを送るよいJavaScriptのサンプルがなかなか公開されていません。ないので、作ってみました。

https://docs.google.com/forms/d/1si58tjz_6eDW9h7raLEBhR60iKTsrGfCcHjPTzxwTLc/viewform


----------------------------------------

//
// Mail Sender Script for Google Froms Rev 002
//

var g_response=null;
//
// common functions
//

function mysleep(ms)
{
  Utilities.sleep(ms);
}

function print(msg)
{
  try{
    Logger.log(msg);
  }catch(e){}
}

function sendEmail(address,title,body,cc,bcc)
{
  try{
    var ext=null;
    if(cc!=null || bcc!=null){
      ext={};
      if(cc!=null)ext['cc']=cc;
      if(bcc!=null)ext['bcc']=bcc;
    }
    GmailApp.sendEmail(address, title, body,ext);
  }catch(e){}
}

function setResponse(evt)
{
  if(evt!=null){
    g_response=evt.response;
    return;
  }
  var responses = FormApp.getActiveForm().getResponses();
  g_response=responses[responses.length-1];
}

function getSubmitValue(key)
{
  var ret="";
  try{
    var itemresponses=g_response.getItemResponses();
    for(var j=0;j<itemresponses.length;j++){
      var itemresponse=itemresponses[j];
      var title=itemresponse.getItem().getTitle();
      var value=itemresponse.getResponse();
      //print("title="+title);
      //print("value="+value);
      if(key==title)return value
    }
  }catch(e){}
  return ret;
}


//
// Event Trigger
//

function onSubmit(evt)
{
  var to="";
  var body="";

  setResponse(evt);
  to=getSubmitValue("メールアドレス");
  body=getSubmitValue("お問合せ内容");
  print("to="+to);
  print("body="+body);
  sendEmail(to,"test",body,null,null);
}



0 件のコメント:

コメントを投稿