google-apps-script - Google Apps 脚本发送附件
问题描述
目前我可以将 pdf 从谷歌电子表格发送到带有附件的这个脚本的电子邮件,但附件无法发送
这是我当前的脚本:
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("HELPER").hideSheet();
var startRow = 2; // First row of data to process
var getLastRow = 4000; // Number of rows to process
var dataRange = sheet.getRange(startRow, 4, getLastRow, 7);
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var trigger = row[0];
var emailAddress = row[2]; // Email column
if(emailAddress != "" && emailAddress != " "){
var message = "Hi,\n\nSilahkan download dan print attachment ini.\n\nTerima Kasih,\nSistemHBR"; // Content column
var subject = "FORM CUTI";
var status_email = row[6];
if ((trigger != 'FALSE') && (status_email != 'EMAIL_SENT')); // Prevents sending duplicates
attachments = [SpreadsheetApp.getActiveSpreadsheet().getAs(MimeType.PDF).setName("FORM CUTI")]; {
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 7).setValue('EMAIL_SENT');
// Make sure the cell is updated right away in case the script is interrupted
SpreadsheetApp.flush();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("HELPER").activate();
}
//MailApp.sendEmail(message);
//SpreadsheetApp.getActiveSpreadsheet().getSheetByName("HELPER").activate();
}
}
}
我上面的代码有什么问题?
谢谢你
解决方案
if ((trigger != 'FALSE') && (status_email != 'EMAIL_SENT'))
在您的脚本中,我认为true
您可能想要发送电子邮件。那么,下面的修改呢?
从:
if ((trigger != 'FALSE') && (status_email != 'EMAIL_SENT')); // Prevents sending duplicates
attachments = [SpreadsheetApp.getActiveSpreadsheet().getAs(MimeType.PDF).setName("FORM CUTI")]; {
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 7).setValue('EMAIL_SENT');
// Make sure the cell is updated right away in case the script is interrupted
SpreadsheetApp.flush();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("HELPER").activate();
}
至:
if ((trigger != 'FALSE') && (status_email != 'EMAIL_SENT')) {
attachments = [SpreadsheetApp.getActiveSpreadsheet().getAs(MimeType.PDF).setName("FORM CUTI")];
MailApp.sendEmail(emailAddress, subject, message, {attachments: attachments});
sheet.getRange(startRow + i, 7).setValue('EMAIL_SENT');
// Make sure the cell is updated right away in case the script is interrupted
SpreadsheetApp.flush();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("HELPER").activate();
}
- 在这种情况下,当
(trigger != 'FALSE') && (status_email != 'EMAIL_SENT')
是时true
,通过包含附件文件发送电子邮件。
参考:
推荐阅读
- linux - Ubuntu 服务器 - Opam 安装问题
- python - 我该如何解决这个语法错误?
- webpack-4 - css 模块查询使用最新的 css-loader 打破 css 规则
- java - 在侦听器中调用 getValue() 时,android firebase 无法实例化抽象类
- c# - Xamarin 表单绑定标签获取和设置
- sql - 在左侧或右侧将数据框与 Pandas 合并
- django - 我可以有组织地使用 django 吗?
- xml - XMLSerializer - 为什么在序列化时有一个额外的子层?
- html - 为嵌套在固定容器内的绝对位置设置 Z-index
- java - 物体离开屏幕后如何销毁?