質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

1回答

570閲覧

google apps scriptで作った自動返信メールに対するエラーメッセージの止め方

Azard.

総合スコア16

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2019/07/11 15:09

グーグルフォームに登録してくれた方に自動でメールを送信するようにしたのですが、エラーメッセージが帰ってきます。
自動メールは送られているようなのですが、エラーメッセージが止まらなくうるさいので治したいです。

メールの設定は以下の通りです。

function

1 Logger.log('sendMailGoogleForm() debug start'); 2 3 //------------------------------------------------------------ 4 // 設定エリアここから 5 //------------------------------------------------------------ 6 7 // 件名、本文、フッター 8 var subject = "[ご登録ありがとうございます。]"; 9 var body 10 = "メール本文\n" 11 + "------------------------------------------------------------\n"; 12 var footer 13 = "------------------------------------------------------------\n\n" 14 + "メンバー一同みなさんとお会いできるのを楽しみにしています。"; 15 16 // 入力カラム名の指定 17 var NAME_COL_NAME = '名前'; 18 var MAIL_COL_NAME = 'メールアドレス'; 19 20 21 // メール送信先 22 var admin = "admin@example.com"; // 管理者(必須) 23 var sendername = "自分の名前";//送信者名(必須) 24 var cc = ""; // Cc: 25 var bcc = admin; // Bcc: 26 var reply = admin; // Reply-To: 27 var to = ""; // To: (入力者のアドレスが自動で入ります) 28 29 30 //------------------------------------------------------------ 31 // 設定エリアここまで 32 //------------------------------------------------------------ 33 34 try{ 35 // スプレッドシートの操作 36 var sheet = SpreadsheetApp.getActiveSheet(); 37 var rows = sheet.getLastRow(); 38 var cols = sheet.getLastColumn(); 39 var rg = sheet.getDataRange(); 40 Logger.log("rows="+rows+" cols="+cols); 41 42 // メール件名・本文作成と送信先メールアドレス取得 43 for (var i = 1; i <= cols; i++ ) { 44 var col_name = rg.getCell(1, i).getValue(); // カラム名 45 var col_value = rg.getCell(rows, i).getValue(); // 入力値 46 body += "【"+col_name+"】\n"; 47 body += col_value + "\n\n"; 48 if ( col_name === NAME_COL_NAME ) { 49 body = col_value+" 様\n\n"+body; 50 } 51 if ( col_name === MAIL_COL_NAME ) { 52 to = col_value; 53 } 54 } 55 body += footer; 56 57 // 送信先オプション 58 var options = {name: sendername}; 59 if ( cc ) options.cc = cc; 60 if ( bcc ) options.bcc = bcc; 61 if ( reply ) options.replyTo = reply; 62 63 // メール送信 64 if ( to ) { 65 MailApp.sendEmail(to, subject, body, options); 66 }else{ 67 MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body); 68 } 69 }catch(e){ 70 MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message); 71 } 72} 73

これに対し、以下の様なエラーメッセージがずっと届きます。
イメージ説明

どなたか解決していただける方よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

var admin = "admin@example.com"; // 管理者(必須)
必須とかいてあるので、あなたのメールアドレスを正しくうめましょう。
こんなに丁寧なエラー画面でそれがわかりませんかね?

あと、フォームに「メールアドレス」という項目が存在し、必須入力項目であるとしたなら、今年に入って、フォーム送信時トリガーが複数呼ばれる仕様?になったのが原因です。
なので、メールアドレスを直して諦めるか、スプレッドシートではなくフォームのほうにスクリプトをかきましょう(この場合、まるっと書き換えが必要なので、まあ諦めるしかないでしょうね)

投稿2019/07/11 16:13

papinianus

総合スコア12705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問