Я не могу отправить письмо с PDF в качестве вложения с помощью скрипта Google - PullRequest
0 голосов
/ 29 февраля 2020

Я делаю сценарий, который получает электронную таблицу, преобразует ее в файл PDF, сохраняет этот PDF-файл в папке и отправляет в виде вложения по электронной почте. однако я использую единственную найденную функцию для отправки вложений по электронной почте, но когда я открываю электронную почту, в сообщении электронной почты отображается сообщение «[объект объекта]». Кто-нибудь может мне помочь?

function SendEmail(){



  var sheetMail = SpreadsheetApp.getActiveSpreadsheet();
  var ecrvc = sheetMail.getSheetByName('List');
  var planilha = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('List')
  var 
  var subject = "Subject"
  var message = "message"


  var email = "person1@gmail.com"


//var ecrvc = "Sheet1";
var folderID = "folderId"; // Folder id to save in a folder.
var pdfName = "YourSpreadsheet of "+week+"-20";

var sourceSpreadsheet = SpreadsheetApp.getActive();
var sourceSheet = sourceSpreadsheet.getSheetByName(ecrvc);
var folder = DriveApp.getFolderById(folderID);

//Copy whole spreadsheet
var destSpreadsheet = SpreadsheetApp.open(DriveApp.getFileById(sourceSpreadsheet.getId()).makeCopy("tmp_convert_to_pdf", folder))


var destSheet = destSpreadsheet.getSheets()[0];

//save to pdf
var theBlob = destSpreadsheet.getBlob().getAs('application/pdf').setName(pdfName);
var newFile = folder.createFile(theBlob);

//Delete the temporary sheet
DriveApp.getFileById(destSpreadsheet.getId()).setTrashed(true);




//Send the email with attachments  
var arquivo = theBlob;
 DriveApp.getFileById(theBlob); 

  MailApp.sendEmail(email, subject,{
     // htmlBody: message + "", noReply:true,{
    attachments: [file.getAs.file(arquivo.PDF)],
    name: pdfName
  });   

}

1 Ответ

3 голосов
/ 01 марта 2020

Есть несколько проблем

file не объявлено, а синтаксис getAs неверен.

Пример взят из https://developers.google.com/apps-script/reference/mail/mail-app#sendemailrecipient, - subject, -body, - варианты

// Send an email with two attachments: a file from Google Drive (as a PDF) and an HTML file.
var file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz');
var blob = Utilities.newBlob('Insert any HTML content here', 'text/html', 'my_document.html');
MailApp.sendEmail('mike@example.com', 'Attachment example', 'Two files are attached.', {
    name: 'Automatic Emailer Script',
    attachments: [file.getAs(MimeType.PDF), blob]
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...