Мне нужно отправить вложение по электронной почте с помощью Google Script Editor, но я не могу получить файл для вложения - PullRequest
0 голосов
/ 22 апреля 2020

У меня много проблем с получением файла для прикрепления к электронному письму, которое я отправляю, я использую код ниже, и электронное письмо отправляется, но файл не включается.

function myCoding() {
  var array = SpreadsheetApp.getActiveSheet().getDataRange().getValues();      
  for(var i=1;i<array.length;i++){
    var loopEmail = array[i][0];
    var loopName = array[i][1];
    var loopNN = array[i][2];
    var loopSize = array[i][3];
    var loopColour = array[i][4];      
    text = "Hey " + loopName;
    text1 = "\n Your full name for the hoodie is: "+ loopName + ", your nickname for your hoodie is " + loopNN + " and your size is " +loopSize + ". You have chosen the colour "+loopColour + ".";
    text3 = "\n"
    var file = DriveApp.getFilesByName('DrinksShopPartnerProgram.pdf');
    if (file.hasNext()) {
    GmailApp.sendEmail(loopEmail, "DGS", text + text3 + text1 + text3, file);
    attachments: [file.next().getAs(MimeType.PDF, )]

    } 
}
}

1 Ответ

1 голос
/ 24 апреля 2020

Вы можете использовать пример из документации :

var file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz');
GmailApp.sendEmail('mike@example.com', 'Attachment example', 'Please see the attached file.', {
    attachments: [file.getAs(MimeType.PDF)],
    name: 'Automatic Emailer Script'
});

Таким образом, вы можете изменить свой код на:

function myCoding() {
  var array = SpreadsheetApp.getActiveSheet().getDataRange().getValues();      
  for(var i=1;i<array.length;i++){
    var loopEmail = array[i][0];
    var loopName = array[i][1];
    var loopNN = array[i][2];
    var loopSize = array[i][3];
    var loopColour = array[i][4];      
    text = "Hey " + loopName;
    text1 = "\n Your full name for the hoodie is: "+ loopName + ", your nickname for your hoodie is " + loopNN + " and your size is " +loopSize + ". You have chosen the colour "+loopColour + ".";
    text3 = "\n"
    var file = DriveApp.getFileById('ID of DrinksShop...');

    GmailApp.sendEmail(loopEmail, "DGS", text + text3 + text1 + text3, {
    attachments: [file.getAs(MimeType.PDF)]});


    }
}

Как я уже сказал, нет нужно использовать Файловый итератор. Поскольку это только один файл, и вы можете получить идентификатор с List .

...