「Googleドキュメントのフォーム機能からGoogle Apps Scriptを使ってメール送信」を参考に、Google Apps Scriptで簡易メールフォームを作成してみた。
function mailUserName(value) {
return value + " 様\n\n";
}
function sendMailFromForm() {
Logger.log('sendMailFromForm() debug start');
//------------------------------------------------------------
// 設定エリアここから
//------------------------------------------------------------
var subject = "[お問い合わせ]";
var body
= "お問い合わせありがとうございます。\n\n"
+ "------------------------------------------------------------\n";
var footer
= "------------------------------------------------------------\n\n"
+ "後ほど担当者よりご連絡させていただきます。";
var COLUMN_TIMESTAMP = "タイムスタンプ";
var COLUMN_NAME = "氏名";
var COLUMN_MAIL = "メールアドレス";
// メール送信先
var admin = "yohei.yoshikawa@gmail.com"; // 管理者(必須)
var cc = ""; // Cc:
var bcc = admin; // Bcc:
var reply = admin; // Reply-To:
var to = ""; // To: (入力者のアドレスが自動で入ります)
//------------------------------------------------------------
// 設定エリアここまで
//------------------------------------------------------------
try{
// スプレッドシートの操作
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getLastRow();
var cols = sheet.getLastColumn();
var range = sheet.getDataRange();
Logger.log("cols =" + cols);
for (var j = 1; j <= cols; j++) {
var col_name = range.getCell(1, j).getValue();
var col_value = range.getCell(rows, j).getValue();
body += "【"+col_name+"】\n";
body += col_value + "\n\n";
if (col_name === COLUMN_NAME) {
body = mailUserName(col_value) + body;
}
if ( col_name === COLUMN_MAIL ) {
to = col_value;
}
}
/*
var timestamp = range.getCell(rows, 1).getValue();
var last_name = range.getCell(rows, 3).getValue();
var first_name = range.getCell(rows, 5).getValue();
var last_name_kana = range.getCell(rows, 2).getValue();
var first_name_kana = range.getCell(rows, 4).getValue();
var to = range.getCell(rows, 6).getValue();
var content = range.getCell(rows, 7).getValue();
Logger.log("last_name="+last_name);
Logger.log("first_name="+first_name);
Logger.log("last_name="+first_name_kana);
Logger.log("first_name="+first_name_kana);
Logger.log("to="+to);
Logger.log("content="+content);
body += LABEL_TIMESTAMP + "\n";
body += timestamp + "\n";
body += LABEL_NAME + "\n";
body += last_name + " " + first_name + "様\n";
body += LABEL_CONTENT + "\n";
body += content + "\n";
body += footer;
Logger.log("body="+body);
*/
// 送信先オプション
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);
}
}