以下2つの関数をつくり、GASのトリガーを使って毎日指定した時刻にメールを送りたいと考えていますが、トリガは生成されるのですが実行されないためメールが送られません。
function reserve(){ //トリガー削除(上限に当たらないよう削除が必要) var triggers = ScriptApp.getProjectTriggers(); //プロジェクト内のトリガー取得 triggers.forEach(function(trigger){ var name = trigger.getHandlerFunction(); //トリガーの関数名を取得 if(name == "autoMail"){ ScriptApp.deleteTrigger(trigger); } }); //当日分のトリガー設定 var date = new Date(); date.setHours(時間); date.setMinutes(分); ScriptApp.newTrigger("autoMail").timeBased().at(date).create(); }
function autoMail() { MailApp.sendEmail( "メールアドレス", "件名", "本文"); }
午後5時過ぎたあたりに、ちゃんとautoMailのトリガが生成され、中を見てもちゃんとreserveで指定した時間が入っています。
にも関わらず時間になってもautoMailは未実行のまま残り続けます。
以下の操作はすべて正常に実行されるのに、時間指定だけができません。
- autoMailをエディタから即時実行(=autoMailはちゃんと動く)
- autoMailに直接時間主導型のトリガを設定(月ベースから分ベースまですべて動く。特定の日時も手動で設定する分には動く)
- reserveで生成されたautoMailのトリガの時間を手動で修正して保存すると動く
数日待ってみたり、設定をし直してみたり、関数名を変えてみたりしたけれどダメです。
エラーが出ている様子もありません。
何がいけないのでしょうか。
回答1件
あなたの回答
tips
プレビュー