現在、Googleフォームで注文フォームを作成し、受注運用しています。
フォームの方に、自動返信のスクリプトを下記の通り設定し処理させているのですが、時々実行されないことがあり、お客様から自動返信が届かないというクレームをいただきます。その際調べると、実行結果は「完了」となっていて、処理時間も3~10秒と比較的短く、処理されたという結果が出ています。
ただ、実際の送信元のメールを確認すると、メール送信履歴がないのです。
トリガーは、イベントのソースを選択は「フォームから」、イベントの種類を選択は「フォーム送信時」としています。
尚、自動返信以外に、別のスクリプトで「自動転送」「連番付与」も上記トリガーと同じ内容で合計3つ実行させています。
時々送信されない原因は何でしょうか。(プロジェクトは実行となっていても実際には送信されないことはあるのでしょうか)
また、必ず自動返信を送信するために修正できる点はありますでしょうか。
function auto_reply() { //自動返信メールの件名 var title = "【ご注文確認】(自動返信)"; //自動返信メールの本文1(\nは改行) var body = "お世話になっております。ご注文承りました。\n" + "引き続き宜しくお願い致します。\n" + "------------------------------------------------------------\n\n" //自動返信メールの本文2(\nは改行) var body2 = "------------------------------------------------------------\n\n" + "※このメールは保存していただき、発注確認の際にご活用ください。【ご請求について】 午前9時まで(この注文フォームを送信後、弊社に到着した時刻)にご注文いただいた商品は当月の請求書にてご請求いたします。最終営業日のご注文に関しては翌月請求書にてご請求する場合もございますのでご了承ください。\n\n"; //本文作成用の変数 var sheet = SpreadsheetApp.openById("・・・スプシのID・・・").getSheetByName('フォームの回答 1'); var row = sheet.getLastRow(); var column = sheet.getLastColumn(); var range = sheet.getDataRange(); //メールアドレス保存用の変数(最後のメール送信時に使用。) var mail = ""; for (var i = 7; i <= column; i++ ) { //スプレッドシートの入力項目名を取得 var header = range.getCell(4, i).getValue(); //スプレッドシートの入力値を取得 var value = range.getCell(row, i).getValue(); if(value == "") { continue;} //これを追加 //本文1(body)にスプレッドシートの入力項目を追加 body += "■"+header+"\n"; //本文1(body)にフォームの入力内容を追加 body += value + "\n\n"; //スプレッドシートの入力項目が「お名前」の場合は、「様」を付け本文の前に追加 if ( header === 'お名前' ) { body = value+" 様\n\n"+body; } //フォームの入力項目が「メールアドレス」の場合は、変数mailに代入 if ( header === 'メールアドレス' ) { mail = value; } } //本文1に本文2を追加 body += body2; //宛名=mail、件名=title、本文=bodyで、メールを送る GmailApp.sendEmail(mail,title,body); }

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/02/23 10:58