mailapp.sendemail
内のSetTimeOut()
機能を正しく使用する方法を尋ねる必要があります。mailapp.sendemailを使用して電子メールを送信する
var sendmail2 = date+1*3600000*24;
MailApp.sendEmail (userEmail, subject2, message2, {setTimeout:[sendmail2]});
mailapp.sendemail
内のSetTimeOut()
機能を正しく使用する方法を尋ねる必要があります。mailapp.sendemailを使用して電子メールを送信する
var sendmail2 = date+1*3600000*24;
MailApp.sendEmail (userEmail, subject2, message2, {setTimeout:[sendmail2]});
はあなたが達成しようとしている何
var delay = timePeriod;
MailApp.SendEmail(...email parameters...)
setTimeout(delay, function() { MailApp.SendEmail (...New mail parameters...) });
スクリプトエラーは発生しませんが、動作しません。 function myFunction(e){ var userEmail = e.values [1]; var date = e.values [0]; var subject = "Optin"; var message = "ありがとう、あなたのeBookリクエストを受け取りました"; var DOC = DriveApp.getFileById( "1-xxx"); var PDF = DOC.getAs(MimeType.PDF); MailApp.sendEmail(userEmail、件名、メッセージ、{添付ファイル:[PDF]}); var delay = date + 2 * 1000 * 60; var subject2 = "自動応答の缶詰め-2"; var message2 = "これはテストです。"; setTimeout(delay、function(){MailApp.SendEmail(userEmail、subject2、message2)}); } – Jacky
タイムアウトの範囲が大きすぎると思います。 2分はブラウザで長い時間です - それはJavaScriptによってタイムアウトしている可能性があります。 – Brody
ありがとう、ブロディ。これを回避する唯一の方法は、スプレッドシート内の新しいセルに新しい日付値を割り当てることです。 これが完了すると、スクリプトは新しいセルの日付に基づいて2番目の電子メールを送信するように呼び出されます。 – Jacky
によってこれを行うことができると思いませんか? W3Schoolsは 'setTimeout()メソッドは関数を呼び出したり、指定されたミリ秒後に式を評価したりします。それはあなたがしているように見えるものではありません。ご質問をより明確にしてください。 – Brody
MailApp.sendEmailを使用して、指定した時間が経過した後に2番目のメールを送信できるようにしたいと考えています。 – Jacky