【问题标题】:cc, bcc, problems in google script --抄送、密送、谷歌脚本中的问题——
【发布时间】:2023-04-03 05:43:02
【问题描述】:

直到今天,当我将 cc 和 bcc 变量添加到自动电子邮件脚本中时,此脚本都运行良好。现在,我收到了收件人电子邮件地址的错误,并且我认为选项 cc 和 bcc 的对象也有问题。错误是一个无效的电子邮件地址,有和没有 cc 和 bcc。也就是说,不知何故我破坏了脚本,甚至旧版本也不起作用——谷歌更新了什么吗?非常感谢任何帮助。

function sendEmails1() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName("Send-Emails"));
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getRange("A2:O10");
var data = dataRange.getValues();


for (i in data) {   
var rowData = data[i];
var build = rowData[0];
var emailAddress1 = rowData[1];
var emailAddress2 = rowData[2];
var emailAddress3 = rowData[3];
var emailAddress4 = rowData[4];
var cc1 = rowData[11];
var cc2 = rowData[12];
var bcc1 = rowData[13];
var bcc2 = rowData[14];
var options = { 
  cc: "'" + cc1 + "," +  cc2 + "'" , 
  bcc: "'" + bcc1 + "," +  bcc2 + "'" 
}



var recipient = rowData[5];
var text2 = rowData[6]; 
var signoff = 'text';

var message = recipient + ', ' + text2 + signoff + '\n\n' + sender;
var subject = 'text';



//prompt the user with the composed email for review
var confirm = Browser.msgBox('Send the following email?', 'text', Browser.Buttons.YES_NO);

if(confirm === 'yes'){

MailApp.sendEmail(emailAddress1 + "," + emailAddress2 + "," + emailAddress3 + "," + emailAddress4, subject, message, options);

}

【问题讨论】:

  • options 变量创建的字符串不正确。有时密件抄送和抄送是未定义的,因为谷歌表格中的那个单元格是空白的,也许无法通过这种方式解决。
  • 我无法使用可能未定义的变量在线找到解决方案,因此我将 cc 块重新组织为固定的电子邮件地址,如果不更改脚本就无法更改,有相当多的文档在那个网上已经可用了。不过,如果能以另一种方式看到它会很高兴。

标签: javascript email google-apps-script google-sheets


【解决方案1】:

我的草稿写作脚本没有接收器也有同样的问题,当单元格为空时返回一个未定义的错误。我写了一个空白单元格的测试,如果是这样,把'null'放在参数中。现在我的脚本可以工作了:

if(recipient==""){GmailApp.createDraft(null, sub, null, {cc: seesee, bcc: 
                   beeseesee, htmlBody: body1});}
else{
  GmailApp.createDraft(recipient, sub,null, {cc: seesee, bcc: beeseesee, 
 htmlBody: body1}); } 

其中收件人、seesee、sub、body1 和beeseesee 是我的变量。

【讨论】:

    【解决方案2】:

    Google 脚本中的此代码脚本有助于使用 cc 在 Gmail 中创建草稿电子邮件,因此希望对某人有所帮助。

    function myFunction() {
      // The code below creates a draft email with the current date and time.
    var now = new Date();
      var ccmail = "dummy@gmail.com"
      GmailApp.createDraft("main@gmail.com,", "current time", "The time is: " + 
    now.toString(), {cc: ccmail} );
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-01
      • 1970-01-01
      • 2011-03-31
      • 2023-03-20
      • 2013-06-08
      • 2015-10-01
      • 2017-05-18
      • 1970-01-01
      相关资源
      最近更新 更多