javascript - 抄送部分一次发送一封电子邮件,然后多发到第一封
问题描述
所以google appscript中的以下代码工作正常,除了我刚刚添加的cc部分,代码后描述的问题
function getSheetID(name){
var ss = SpreadsheetApp.getActive().getSheetByName(name)
var sheetID = ss.getSheetId().toString()
return sheetID
}
function DISCHEMEMAILS() {
//NEWEST PRODUCTS CODE
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("DISCHEM LINES CHECK").activate();
var ssID = SpreadsheetApp.getActiveSpreadsheet().getId();
var sheetName = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
var requestData = {"method": "GET", "headers":{"Authorization":"Bearer "+ScriptApp.getOAuthToken()}};
var shID = getSheetID("DISCHEM LINES CHECK") //Get Sheet ID of sheet name "DISCHEM LINES CHECK"
var url = "https://docs.google.com/spreadsheets/d/"+ ssID + "/export?format=xlsx&id="+ssID+"&gid="+shID;
var result = UrlFetchApp.fetch(url , requestData);
var contents = result.getContent();
//EMAIL ADDRESSES CODE FOR PRIMARY EMAIL
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("DISCHEM EMAILS").activate();
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 1; // Number of rows to process
// Fetch the range of cells A2:B2
var dataRange = sheet.getRange(startRow,1,numRows,2);
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (var i in data) {
var row = data[i];
var emailAddress = row[0]; // First column
var message = "Dear"+" "+row[1]+" "+"here are the classifications."; // Second column
var Sheets = [{fileName:sheetName+".xlsx", content:contents, mimeType:"application//xlsx"}]
//EMAIL ADDRESSES CODE FOR BCC EMAIL
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("DISCHEM EMAILS").activate();
var sheet = SpreadsheetApp.getActiveSheet();
var startRowcc = 3; // First row of data to process
var numRowscc = 5; // Number of rows to process
// Fetch the range of cells A3:B7
var dataRangecc = sheet.getRange(startRowcc,1,numRowscc,5);
// Fetch values for each row in the Range.
var datacc = dataRangecc.getValues();
for (var i2 in datacc) {
var rowcc = datacc[i2];
var emailAddresscc = rowcc[0]; // First column
MailApp.sendEmail({
to: emailAddress,
subject: "Classifications",
cc:emailAddresscc,
htmlBody: message,
attachments: Sheets
});
};
};
}
具有为抄送发送多封电子邮件的效果,而不是一起发送一封电子邮件。它在该范围内有三封电子邮件,因此它向我发送一封电子邮件和电子邮件 1,然后是我和电子邮件 2,然后是三封电子邮件给我。我希望它发送一封电子邮件,电子邮件 1 和 2 ccd,我作为首要的。
关于我搞砸了公式的哪一部分有什么想法吗?在测试了更多之后,我认为这与我的 } 的位置有关,但不确定它们应该在哪里
解决方案
因此,我通过直接使用其中的电子邮件引用单元格来解决问题,而不是对主电子邮件使用相同的代码。哦,现在可以了。
//cc emails
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("DISCHEM EMAILS").activate();
var cc1 = SpreadsheetApp.getActiveSheet().getRange('A3').getValue();
var cc2 = SpreadsheetApp.getActiveSheet().getRange('A4').getValue();
//EMAIL ADDRESSES CODE FOR PRIMARY EMAIL
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("DISCHEM EMAILS").activate();
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 1; // Number of rows to process
// Fetch the range of cells A2:B2
var dataRange = sheet.getRange(startRow,1,numRows,2);
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (var i in data) {
var row = data[i];
var emailAddress = row[0]; // First column
var message = "Dear"+" "+row[1]+" "+"here are the classifications."; // Second column
var Sheets = [{fileName:sheetName+".xlsx", content:contents, mimeType:"application//xlsx"}]
MailApp.sendEmail({
to: emailAddress,
subject: "Classifications",
htmlBody: message,
cc: cc1 + "," + cc2,
attachments: Sheets
});
};
}
推荐阅读
- scala - 如何解决价值丢弃或未使用的警告
- opencv - 如何更准确地比较两张图像之间的特征?
- c# - 从 .csproj 获取应用程序信息以用于自定义运行状况检查
- javascript - 使用 AJAX 更新 Django 模型
- json - 我的 curl HTTP POST 请求正在检索没有文件名的 pdf 文件
- jmeter - NoClassDefFoundError:无法在 JMeter 中初始化类
- java - Vert.x Web (Scala):从路由器读取多部分文件上传作为流而不保存到磁盘
- flutter - 颤振:没有互联网连接时返回页面
- mysql - MySQL 5.1 编码问题 Entity framework core
- apache-beam - 限制 Apache Beam 步骤的工作程序/线程数