Ответ:
Неверный диапазон, который вы извлекаете из листа для электронных писем.
Дополнительная информация:
В листе вы при условии, что ячейки, в которые вводятся электронные письма, начинаются со строки 4, а не со строки 1. См. изображение ниже:
Лог c вы Вы используете l oop по электронной почте следующим образом:
var range = sheet.getDataRange();
var values = range.getDisplayValues();
for (var i = 0; i < lastRow; i++) {
var Name = values[i][0];
var Email = values[i][1];
}
Однако, поскольку вы получили весь диапазон данных, а не только те данные, которые вы хотите начиная с электронных писем, массив values
также содержит заголовки - в этом случае объект выглядит следующим образом:
[[www.google.com], [], [EmpEmail], [EmpName1@blah.com], [EmpName2@blah.com]]
Таким образом, когда вы вызываете MailApp.sendEmail()
и указываете Email
в качестве первого из этого массива вы получаете ошибку Exception: Invalid email: Email
при попытке отправить электронное письмо на www.google.com
.
Исправление кода:
К счастью, это простое исправление. Поскольку у вас уже есть набор данных в массиве, вы можете изменить границы вашего l oop, чтобы он начинался с 3
вместо 0
:
for (i = 3; i < lastRow; i++) {
var Name = values[i][0];
var Email = values[i][1];
MailApp.sendEmail({
to: Email,
subject: Name + Title + 'Test',
message: 'This is a test message for the training that can be found at ' + URL});
}
Я надеюсь, что это полезно для вас !
Рекомендации: