Javascript 将带有不同PDF的电子邮件发送到不同的电子邮件附件
我正在尝试使用不同的PDF(10)自动向多个发件人发送电子邮件(10封电子邮件)。是否有办法在电子表格列中电子邮件地址旁边附加pdf?然后发送带有pdf格式销售报价的电子邮件作为附件。这可以在谷歌表单的JS中完成Javascript 将带有不同PDF的电子邮件发送到不同的电子邮件附件,javascript,google-apps-script,google-sheets,google-docs,email-attachments,Javascript,Google Apps Script,Google Sheets,Google Docs,Email Attachments,我正在尝试使用不同的PDF(10)自动向多个发件人发送电子邮件(10封电子邮件)。是否有办法在电子表格列中电子邮件地址旁边附加pdf?然后发送带有pdf格式销售报价的电子邮件作为附件。这可以在谷歌表单的JS中完成 如果有人帮助我,我将不胜感激。因此,JavaScript在客户端运行。这意味着您的代码正在运行用户浏览器。简而言之,你不能仅仅用JavaScript发送电子邮件。你需要一个服务器来完成这项工作 例如,您可以将SpringBoot与Java结合使用,Java已经实现了许多方法,使您的任务
如果有人帮助我,我将不胜感激。因此,JavaScript在客户端运行。这意味着您的代码正在运行用户浏览器。简而言之,你不能仅仅用JavaScript发送电子邮件。你需要一个服务器来完成这项工作 例如,您可以将SpringBoot与Java结合使用,Java已经实现了许多方法,使您的任务(即发送电子邮件)变得非常简单
看看如果你使用谷歌表单,这是可能的,但你必须要有创意。事实上,你可以用javascript,通过谷歌脚本从谷歌表单发送电子邮件。我认为如果你在同一个工作簿中有一个隐藏的工作表,有一个公式用PDF的布局填充该工作表,然后将该工作表导出为PDF以附加到电子邮件。。。这是可行的 你可能会找到一些灵感
基本从google sheets发送电子邮件示例。您可以通过以下步骤完成此操作
对于(var i=2;iYou是否在客户端执行此操作?JavaScript除了mailto之外,实际上没有任何发送电子邮件的能力,并且没有附加文件的能力。
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