前提・実現したいこと
Googleフォームの内容をGASで自動返信する際に自動返信メールの件名が空欄になってしまう&送信元を変更したい
発生している問題・エラーメッセージ
自動返信の送信元を変更したい。件名が消えてしまう。
エラーメッセージ
該当のソースコード
function sendMailFromForm()
{
Logger.log('sendMailFromForm() debug start');
//------------------------------------------------------------
// 設定エリアここから
//------------------------------------------------------------
// 件名、本文、フッター
var subject = "";
var body
="この度はお問い合わせ頂きまして誠にありがとうございます。\n"
+"○○○○○○○○○○○○\n\n"
+"○○○○○○○○○○○○\n"
+ "------------------------------------------------------------\n\n";
var footer
= "------------------------------------------------------------\n\n"
+ "○○○○○○○○○○○○\n"
+ "○○○○○○○○○○○○\n"
+ "○○○○○○○○○○○○\n"
+ "○○○○○○○○○○○○\n"
+ "○○○○○○○○○○○○\n\n"
+ "○○○○○○○○○○○○\n"
+ "○○○○○○○○○○○○\n";
// 入力カラム名の指定
var NAME_COL_NAME = '○○○○○○○○○○○○';
var MAIL_COL_NAME = '○○○○○○○○○○○○';
var SUBJ_COL_NAME = '○○○○○○○○○○○○';
// メール送信先
var admin = "○○○○○○○○○○○○"; // 管理者(必須)
var cc = "○○○○○○○○○○○○"; // Cc:
var bcc = ""; // Bcc:
var reply = "○○○○○○○○○○○○"; // Reply-To:
var to = ""; // To: (入力者のアドレスが自動で入ります)
var fromadd ="○○○○○○○○○○○○";
//------------------------------------------------------------
// 設定エリアここまで
//------------------------------------------------------------
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(); // 入力値
if(col_value == "") { continue;} //これを追加
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 = "【Twitter】"+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);
}
}
ソースコード
試したこと
if(col_value == "") { continue;} //これを追加
を加えて空欄の質問をメールから弾くようにしたところ、成功したのですが、今度は自動返信メールの件名が空欄になってしまいました。
こちらの解決法と、送信元の変更方法をご教授いただきたいです。(色々調べfrom等試したのですが、うまく行きませんでした。Gmailappが定義されていない等のエラーが出てしまいます。)
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー