有没有办法使用file upload类和mailApp从您的计算机中选择(pdf)文件(如this tutorial节目)并暂时存储它(可能使用缓存)将其作为电子邮件附件发送?
答案 0 :(得分:2)
你提到的样本只需要很少的修改就可以做你想要的...你在doPost中获得的变量是一个blob,附件中需要的参数也是一个blob所以把它们放在一起非常简单
我只在按钮上添加了一个文本,并在发送邮件时添加了确认消息。
请注意,文件类型仅取决于文件的文件类型,我们无法将其转换为pdf,但这不是您的问题。
如果你上传一个jpeg(例如),那么它当然是附件中的jpeg!
下面的代码,在线测试:
function doGet(e) {
var app = UiApp.createApplication().setTitle("Upload CSV to Sheet");
var formContent = app.createVerticalPanel();
formContent.add(app.createFileUpload().setName('thefile'));
formContent.add(app.createSubmitButton('send'));
var form = app.createFormPanel();
form.add(formContent);
app.add(form);
return app;
}
function doPost(e) {
// data returned is a blob for FileUpload widget
var fileBlob = e.parameter.thefile;
MailApp.sendEmail(Session.getActiveUser(),'test pdf attachment','see attachment',{attachments: [fileBlob]});
var app = UiApp.getActiveApplication();
return app.add(app.createLabel('mail sent'));
}
答案 1 :(得分:1)
var spreadsheetFile = DriveApp.getFileById(sheetId);
var blob = spreadsheetFile.getAs('application/pdf');
//if daysleft =1 or 0 then send mail .
MailApp.sendEmail(emailAddress, subject, message, {
name: 'Welcome mail- Perch Arbor Golf Course.pdf',
attachments: [blob]
});