2013-03-14 2 views
0

Я пытаюсь написать сценарий для отправки электронной почты в список рассылки, размещенный в электронной таблице google. Я использую тестовый лист с тремя адресами электронной почты в списке, прежде чем переместить его в живую среду. Я бы хотел, чтобы он послал мне, и олл-ин всех в списке. Сценарий отлично работает, если я помещаю список адресов электронной почты в точку получателя sendEmail, но не тогда, когда я пытаюсь переместить адреса электронной почты в пятно счётчика, используя опциональный аргумент sendmail. В этом случае я получаю следующее сообщение об ошибке: столкнуласьСценарии Google: ошибка при отправке sendEmail в список экземпляров

Ошибки: Invalid электронной почты: [L; @ 130cab11

В этой ошибке «130cab11» часть изменяется каждый раз я запустить скрипт. Только соответствует часть сценария «произошла ошибка: недопустимый адрес электронной почты: [L; ...»

Соответствующая часть моего сценария ниже:

// Retrieve data for the Email that will be sent/// 
    var email_column = ss.getSheetByName(sendtosheet) 
    var lastrow = email_column.getLastRow() 
    var get_email_data = email_column.getRange(2,2,lastrow-1,1).getValues() 
    var emailTemplate = ss.getSheetByName("Email Templates").getRange("B1").getValue() 
    var aliases = GmailApp.getAliases(); 
     Logger.log(aliases) 

//Format the email 
    var advancedArgs = {bcc:get_email_data,from: aliases[0]} 
    var Self = "[email protected]" 
    var subject = "INVITE: Upcoming Focus Group Session"; 
    var message = emailTemplate 

//Send the email 
    GmailApp.sendEmail(Self, subject, message, advancedArgs) 

Этот код работает без ошибок, если я отправлю электронная почта без использования аргумента ОЦК и имеет код SendEmail структурированный, как это:

//Send the email 
    GmailApp.sendEmail(get_email_data, subject, message, {from: aliases[0]}) 

Я искал StackOverflow и Google скрипты руководства и везде я могу думать так что любая помощь будет оценена.

ответ

0

Вам необходимо предоставить список счетов в виде строки.

var get_email_data = email_column.getRange(2,2,lastrow-1,1).getValues() 

После указанного заявления, get_email_data содержит двумерный массив объектов, содержание указанного диапазона. Вот почему это сообщение об ошибке жалуется на [L;... - у него есть массив, когда он хочет строку, но слепо относится к ней как к строке и затрудняется.

Перед тем, как можно это сделать:

var advancedArgs = {bcc:get_email_data,from: aliases[0]} 

... Вы должны присоединиться содержимое вашего массива в строку, содержащую список разделенных запятыми подстрок. К счастью, метод Array .toString() сделает это даже для этого двумерного массива.

var get_email_data = email_column.getRange(2,2,lastrow-1,1).getValues() 
           .toString(); 
Смежные вопросы