本日、急にForm送信時にメールを送信するscriptが動かなくなりました。
エラーも出ていません。
9:00までは動いており、設定変更もしていません。
現在、実際に動いている流れは以下となります。
【申請について】
Formから申請をした人が、利用要件、利用したい時間と日時とを申請します。
利用要件に応じて、担当部署にメールが送信されるように割り振るようにしています。
(.match(/●●/)で●●が条件に合っていたら、その担当部署にメールが送信される。)
【流れ】
①Formから申請 → ②Form送信 → ③申請者に受付完了メール、申請時間外のため、受付できないメール
、担当部署に申請があったメールが送信 →④スプレッドシートで承認可否 →⑤申請者に承認可否の連絡
①と②と④と⑤は動いていますが、③が動いていません。
トリガーを再設定しましたが、現象は変わりません。
メールアドレスのfromのメールアドレスは、.match(/●●/)にあった担当部署のメールアドレス
が入ります。
そのため、以下の同じようなscriptが7つあります。
このsctiptを作成しているGoogleカウントに、Gmailで送信者として送信するのメールアドレスを登録しています。
Form,スプレッドシート、scriptを複写した、テスト環境では、問題なく動いています。
scriptは以下となります。
function Utest(e) { //有効なGooglesプレッドシートを開く var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); //新規予約された行番号を取得 var num_row = sheet.getLastRow(); //メールアドレスの取得 var nmail = sheet.getRange(num_row,2).getValue(); //名前の取得 var name = sheet.getRange(num_row,3).getValue(); //理由を取得 var riyuu = sheet.getRange(num_row, 4).getValue(); //理由の内容を取得 var naiyou = sheet.getRange(num_row, 5).getValue(); //予約を記載するカレンダーを取得(テスト) var cals = CalendarApp.getCalendarById("カレンダーID"); //★現在日時を取得 var day = Moment.moment(); //予約の開始時間を取得 var stime = new Date(sheet.getRange(num_row, 7).getValue()); var stime2 = sheet.getRange(num_row, 7).getDisplayValues(); //予約の終了時間を取得 var etime = new Date(sheet.getRange(num_row, 8).getValue()); var etime2 = sheet.getRange(num_row, 8).getDisplayValues(); //予約日を取得 var ndate = new Date(sheet.getRange(num_row, 6).getValue()); var ndate2 = sheet.getRange(num_row, 6).getDisplayValues(); var ndates= new Date(ndate.getFullYear(),ndate.getMonth(),ndate.getDate(),stime.getHours(),stime.getMinutes(),0); var ndatee= new Date(ndate.getFullYear(),ndate.getMonth(),ndate.getDate(),etime.getHours(),etime.getMinutes(),0); // 時間内かつテストか ★追記 if(cals.getEvents(ndates, ndatee) == 0 && riyuu.match(/テスト/) && Moment.moment(ndates).isAfter(day)){ var subject = "申請仮予約"; var body =''; body += 'テストです。\n'; body += '\n'; body += '申請の仮予約を受付ました。\n'; body += '\n'; body += '【申請内容】\n'; body += ' ・メールアドレス: ' + nmail + '\n'; body += ' ・名前 : ' + name + '\n'; body += ' ・理由 : ' + riyuu + '\n'; body += ' ・理由の内容 : ' + naiyou + '\n'; body += ' ・日 : ' + ndate2 + '\n'; body += ' ・希望時間 : ' + stime2 + '\n'; body += ' ・予定時間 : ' + etime2 + '\n'; body += '\n'; body += '予約確定次第、再度このメールアドレスにご連絡致します。\n'; body += '\n'; body += '\n'; body = name +" 様\n\n"+body; GmailApp.sendEmail(nmail,subject,body, { from: 'メールアドレス', name: ' テスト', bcc: 'メールアドレス, }); var subject2 = "承認をお願いします。"; var body2 =''; body2 += '申請がありました。\n'; body2 += '承認をお願いします。\n'; body2 += '\n'; body2 += '【申請内容】\n'; body2 += ' ・メールアドレス: ' + nmail + '\n'; body2 += ' ・名前 : ' + name + '\n'; body2 += ' ・理由 : ' + riyuu + '\n'; body2 += ' ・理由の内容 : ' + naiyou + '\n'; body2 += ' ・日 : ' + ndate2 + '\n'; body2 += ' ・希望時間 : ' + stime2 + '\n'; body2 += ' ・予定時間 : ' + etime2 + '\n'; body2 += '\n'; body2 += '確認後、「承認者名」「承認可否」を入力して下さい。\n'; body2 += '却下の場合は、可否理由欄に却下理由を記入して下さい。\n'; body2 += '\n'; body2 += '\n'; GmailApp.sendEmail('メールアドレス',subject2,body2, { from:'メールアドレス', name:'テスト', bcc: 'メールアドレス', } ); } if(cals.getEvents(ndates, ndatee) != 0 && riyuu.match(/テスト/) || Moment.moment(ndates).isBefore(day) && riyuu.match(/テスト/)){ sheet.deleteRow(num_row); var body3 =''; body3 += '\n'; body3 += '外です。\n'; body3 += '\n'; body3 += '【申請内容】\n'; body3 += ' ・メールアドレス: ' + nmail + '\n'; body3 += ' ・名前 : ' + name + '\n'; body3 += ' ・理由 : ' + riyuu + '\n'; body3 += ' ・理由の内容 : ' + naiyou + '\n'; body3 += ' ・日 : ' + ndate2 + '\n'; body3 += ' ・希望時間 : ' + stime2 + '\n'; body3 += ' ・予定時間 : ' + etime2 + '\n'; body3 += '\n'; body3 = name +" 様\n\n"+body3; GmailApp.sendEmail(nmail,"時間外で申請されています。",body3, { from:'メールアドレス', name:'入構申請', bcc: 'メールアドレス',}); } } コード
何か同じような状況になった方がいらっしゃいましたら、回答をお願い致します。
回答1件
あなたの回答
tips
プレビュー