2017-09-18 59 views
0

我想通過電子表格學習使用附件來發送批量谷歌郵件。 在spreadsheet中,我已經放置了電子郵件地址,內容模板和附件網址。Gmail應用程序發送帶有多個附件的電子郵件

這裏是我發現的代碼,我試圖用我的目的:

var EMAIL_SENT = "EMAIL_SENT"; 

function sendEmails() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var startRow = 2; 
    var numRows = 5; 
    var blobs = []; 

    var dataRange = sheet.getRange(startRow, 1, numRows, 5) 

    var data = dataRange.getValues(); 
    for (var i = 0; i < data.length; ++i) { 
    var row = data[i]; 
    var emailAddress = row[2]; // 3rd column 
    var subject = "Attachments";  
    var message = row[4];  // 5th column 
    var attachments = row[3];  // Fourth column 
    var emailSent = row[0];  // 1st column 
    if (emailSent != EMAIL_SENT) { 

     GmailApp.sendEmail(emailAddress, subject, message, attachments); 

     sheet.getRange(startRow + i, 1).setValue(EMAIL_SENT); 

     SpreadsheetApp.flush(); 
    } 
    } 
} 

當我試圖吃午飯吧,電子郵件被髮送,但沒有附件。 請幫幫我。

非常感謝提前。

回答

0

你沒有說明要發送什麼附件。我看到你在電子表格中調用了某些東西,但沒有看到附件。使用這樣的事情

var file = DriveApp.getFilesByName('attacheddoc.pdf'); 
    if (file.hasNext()) { 
    MailApp.sendEmail(emailAddress, subject, message, { 
    attachments: [file.next().getAs(attacheddoc.PDF)], 
    name: 'Attached Documents' 
    } 

努力讓你的代碼看起來應該像

var EMAIL_SENT = "EMAIL_SENT"; 

    function sendEmails() { 
     var sheet = SpreadsheetApp.getActiveSheet(); 
     var startRow = 2; 
     var numRows = 5; 
     var blobs = []; 

     var dataRange = sheet.getRange(startRow, 1, numRows, 5) 

     var data = dataRange.getValues(); 
     for (var i = 0; i < data.length; ++i) { 
     var row = data[i]; 
     var emailAddress = row[2]; // 3rd column 
     var subject = "Attachments";  
     var message = row[4];  // 5th column 
     var attachments = row[3];  // Fourth column 
     var emailSent = row[0];  // 1st column 
     if (emailSent != EMAIL_SENT) { 

     var file = DriveApp.getFilesByName(attachments.pdf'); 
    if (file.hasNext()) { 
    MailApp.sendEmail(emailAddress, subject, message, { 
    attachments: [file.next().getAs(attachments+'.PDF')], 
    name: 'Attached Documents' 
    } 
     } 
     } 
    } 

希望對你有用。需要一些修補。但是,我不能在沒有看到表格的情況下爲你做這件事。如果它工作+1 ?? :)

+0

我已經把文檔的URL放在一列中。我怎樣才能把這些網址作爲附件? – Dewi

+0

如果您從GDrive調用了這些附件,然後添加MailApp.sendEmail(emailAddress,主題,消息,{file.next()。getAs(attacheddoc.PDF)], 名稱:'Attached Documents' –

+0

已更改我的答案可以幫助你 –

相關問題