Я могу получать письма для отправки, но:
- Невозможно выполнить фильтрацию, ЕСЛИ электронное письмо отправлено нам на основе столбца состояния
- Невозможно отформатировать письмо, чтобы оно было аккуратным, просто отправив следующим образом:
Уважаемый Пол! Работает сценарий электронной почты8 Сб 25 мая 2019 00:00:00 GMT + 0100
(BST) Крайние сроки Документ
- Я не могу получить электронное письмо по адресуотправить с правильным часовым поясом Я нахожусь в часовом поясе gmt, он продолжает отправлять часовой пояс bst.
- Я не могу понять, как заставить этот скрипт автоматически запускаться каждое утро понедельника 8 утра
Я объединил несколько фрагментов кода. Я отредактировал свой лист, чтобы упростить фильтрацию различающихся rowData
Пример моего листа:
Col A В раскрывающемся меню выберите Agent (names)
Col B Раскрывающееся меню выбора адресов электронной почты
Col C Назначение col = обычный текст
Col D Раскрывающееся меню с параметрами состояния (Не запущено, Выполняется, пропущено или Готово)
Col E To, простой текст, чтобы добавитьк назначению.Идея состоит в том, чтобы предоставить агентам более подробную информацию о плане действий, необходимом
Col F Дата исполнения, отформатированная только до даты (без отметки времени)
Col G = Гиперссылка (URL, "Deadline Doc") -> Создано при попытке добавить + сообщение 4 + '';к коду для форматирования электронной почты.
function sendEmailswithDetails() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName("Email2"));
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getRange("A4:G11");
var data = dataRange.getValues();
for (i in data) {
var rowData = data[i];
var recipient = rowData[0];
var emailAddress = rowData[1];
var message1 = rowData[2];
var parameter1 = rowData[3]
var message2 = rowData[4];
var message3 = rowData[5];
var message4 = rowData[6]
var message = 'Dear ' + recipient + ' ' + message1 + ' ' + message2 + ' ' + message3 + ' ' + message4 + ' ';
var subject = 'Your deadlines this week';
// Check deadlines
if (Status = ("Not Started"), ("In Progress")){
// Fetch Status
var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Email2").getRange("B4:B11");
var emailAddress = emailRange.getValues();
MailApp.sendEmail(emailAddress, subject, message);
}
}
}
Ожидаемые результаты:
- Письма отправляются только в том случае, если статус = В процессе или не запущен.
- Письмо отправляет объединениестолбцы сообщений 1-4.
- Электронная почта аккуратно отформатирована в отдельные строки.
Фактические результаты:
- Электронная почта отправляется на любые электронные письма, добавленные на адрес электронной почты. Адресстолбец
- Столбец состояния не влияет на то, отправлено письмо или нет