email - 在 Google Apps 脚本中命名电子邮件附件

标签 email pdf google-apps-script pdf-generation attachment

我有以下 G.A.S 脚本可以将 google 表格作为 pdf 附件通过电子邮件发送。

  var spreadsheet = SpreadsheetApp.getActive();
  var subject = spreadsheet.getRange("U1:U1").getValues();
  var emailTo = spreadsheet.getRange("V1:V1").getValues();
  var message = spreadsheet.getRange("W1:W1").getValues();
  var pdf = DriveApp.getFileById(spreadsheet.getId()).getAs('application/pdf').getBytes();
  var attach = {fileName:subject,content:pdf, mimeType:'application/pdf'};
  MailApp.sendEmail(emailTo, subject, message, {attachments:[attach]});

除了附加到电子邮件的文件有一个奇怪的名称,如“[Ljava.lang.Object_@4e63998c”,没有“.pdf”扩展名,以上代码运行良好! 我正在寻找一种在附加到电子邮件之前为 pdf 文件设置名称的方法。文件名应等于“主题”变量。

提前致谢。 奥米德

最佳答案

getValues() 检索的值是二维数组。我认为文件名变成这样的字符串是因为数组被用作文件名。请从数组中检索元素并重试。那么能否请您修改如下?

发件人:

var attach = {fileName:subject,content:pdf, mimeType:'application/pdf'};

收件人:

var attach = {fileName:subject[0][0],content:pdf, mimeType:'application/pdf'};

您还可以使用以下修改。在这种情况下,getValue() 可以从单元格“U1”中检索字符串形式的值。

发件人:

var subject = spreadsheet.getRange("U1:U1").getValues();

收件人:

var subject = spreadsheet.getRange("U1:U1").getValue();

引用:

如果这不是您想要的,请告诉我。我想考虑其他解决方案。

关于email - 在 Google Apps 脚本中命名电子邮件附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50913420/

相关文章:

java - 如何在电子邮件正文中嵌入图像 - Android

php - mail() 来自 php.net 手册 : difference between "to" and "to-header"

python - 在 PDF 中添加链接

ipad - 带有 Quartz 的 iOS 上的 PDF 注释

javascript - 如何获取对象类型

google-apps-script - 使用 setColumnFilterCriteria 后如何从 Filter 中获取过滤后的值?

ruby-on-rails - 错误 : too many emails per second on Heroku

javascript - 来自HTML图像的jsPDF导致pdf为空

javascript - getRange(cell) 在谷歌应用程序脚本中不起作用

JavaMail 詹姆斯服务器 : Email is marked as spam