簡體   English   中英

Google腳本:sendEmail到密件抄送列表時出錯

[英]Google Scripts: Error when sendEmail to bcc list

我正在嘗試編寫腳本以將電子郵件發送到Google電子表格中的通訊組列表。 在將其移至實時環境之前,我使用的列表中只有3個電子郵件地址的測試表。 我希望將其發送給我,並在名單上的每個人都抄送。 如果我將電子郵件地址列表放在sendEmail的收件人位置中,則腳本可以正常工作,但是當我嘗試使用sendEmail的密件抄送高級參數將電子郵件地址移至密件抄送位置時,腳本將無法正常工作。 在這種情況下,我得到以下錯誤:

遇到錯誤:無效的電子郵件:[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 = "MyEmail@mycompany.com"
   var subject = "INVITE: Upcoming Focus Group Session";
   var message = emailTemplate

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

如果我不使用bcc參數發送電子郵件並且具有如下結構的sendEmail代碼,則此代碼可以正常工作:

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

我搜索了stackoverflow和google腳本手冊以及我能想到的其他地方,因此將不勝感激。

您需要提供密件抄送列表作為字符串。

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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM