Отправка автоматической электронной почты на будущую дату - PullRequest
0 голосов
/ 25 февраля 2019

Я написал свой первый код в скрипте Google, пытаясь отправить автоматическое письмо по электронной почте, когда до / когда / после того, как крайний срок будет соблюден.Хотя первые два условия работают, мне не удалось отправить электронное письмо, когда крайний срок - будущая дата.

Рассмотрим следующий код:

function EmailReminder() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("A2:C4");
var UserData = range.getValues();
var today = Utilities.formatDate(new Date(), "GMT+1", "dd/MM/yyyy");

for (i in UserData){
  var row = UserData[i];
  var Contact = row[0];
  var ActionNeeded = row[1];
  var ActionDeadline = row[2];
  var ActionDeadlines = Utilities.formatDate(new Date(ActionDeadline),"GMT+1","dd/MM/yyyy"); 
  if  (ActionDeadlines  < today) { 
    MailApp.sendEmail(row[0], "Action pending for your project ","Dear PM,\n\nFor your project, the deadline to complete the following action was on " + ActionDeadline + ": \n\n*****\n\n"  + ActionNeeded + "\n\n*****\n\nKindly take appropriate action as soon as possible.");
}  
  else if (ActionDeadlines == today) { 
    MailApp.sendEmail(row[0], "Action pending for your project ","Dear PM,\n\nFor your project, the deadline to complete the following action is today: \n\n*****\n\n"  + ActionNeeded + "\n\n*****\n\nKindly take appropriate action as soon as possible.");
}  
  else if (ActionDeadlines > today) { 
    MailApp.sendEmail(row[0], "Action pending for your project ","Dear PM,\n\nFor your project, there is an upcoming deadline due on the " + ActionDeadline + ": \n\n*****\n\n"  + ActionNeeded + "\n\n*****\n\nKindly take appropriate action as soon as possible."); 
}
}
}

Пример данных:

Contact               ActionNeeded                  Deadline
Insert email    function for a past deadline       =today()-5 
Insert email    function for a current deadline    =today() 
Insert email    function for a future deadline     =today()+5 

Результаты:

  1. Для сроков с предыдущими датами: электронная почта отправлена ​​в порядке
  2. Для сроков с текущей датой: электронная почта отправлена ​​в порядке
  3. Для сроков с будущими датами: это дает право ActionNeeded, но этопохоже, ошибочно активируется первым условием If (ActionDeadlines <сегодня), а не третьим (ActionDeadlines> сегодня).
  4. И, наконец, время, указанное в электронном письме, включает часы («Суббота 02 2019 00:00:00 GMT + 0100 (CET)»).

Как мне его сохранитьв дд / мм / гггг?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...