我正在尝试自动将电子邮件发送到具有不同PDF(10)的多个发件人(10电子邮件)。有没有办法在电子邮件地址旁边的电子表格列中附加pdf文件?然后发送带有PDF附件的销售报价的电子邮件。这可以在Google工作表的JS中完成吗?
感谢有人帮助我。
答案 0 :(得分:1)
如果您使用的是Google表格,则可以,但是必须发挥创意。实际上,您可以使用Google脚本从Google表格发送带有JavaScript的电子邮件。我认为,如果您在同一个工作簿中使用隐藏的工作表来发挥创造力,则可以使用一个公式将工作表填充为PDF的布局,然后将该工作表导出为PDF格式以附加到电子邮件...这是可行的。
您可能会发现一些灵感here。
从Google工作表示例here基本发送电子邮件。
答案 1 :(得分:0)
因此,JavaScript在客户端运行。这意味着您的代码正在运行用户浏览器。简而言之,您不能仅使用JavaScript发送电子邮件。您将需要一台服务器来做到这一点。
例如,您可以将Spring Boot与Java一起使用,该Java已经具有很多实现方法,可以使您的任务(即发送电子邮件)非常容易。
答案 2 :(得分:0)
您可以按照以下步骤进行操作,
在一个Google驱动器文件夹上上传10个附件
在您的Google表格上添加以下脚本以获取文件ID
function listFilesInFolder() {
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("FileID").activate(); //The name of the google sheet is FileID in my case
var sheet = SpreadsheetApp.getActiveSheet();
sheet.appendRow(["File Name", "File-Id"]);
//change the folder ID below to reflect your folder's ID (look in the URL when you're in your folder)
var folder = DriveApp.getFolderById("*[Enter Folder ID here]*");
var contents = folder.getFiles();
var cnt = 0;
var file;
while (contents.hasNext()) {
var file = contents.next();
cnt++;
data = [
file.getName(),
file.getId(),
];
sheet.appendRow(data);
}
}
function sendEmails() {
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Emails").activate(); // Emails is the sheet which has the email and File ID columns
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lr = ss.getLastRow();
var templateText = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Template").getRange(1, 1).getValue(); // Template is the sheet which has my email body
for (var i = 2;i<=lr;i++){
var currentEmail = ss.getRange(i, 1).getValue(); //Email IDs are on the first column for me
var currentAttachment = ss.getRange(i, 2).getValue(); //Assuming your File IDs are on the second column
var waiver = DriveApp.getFileById(currentAttachment);
var liabilityWaiver = waiver.getAs(MimeType.PDF);
MailApp.sendEmail(currentEmail, subjectLine, messageBody, {attachments:[liabilityWaiver],
cc:'abc@abc.com'}); // the cc is in case you want to CC someone else on the email
我希望这会有所帮助!