![](/img/trans.png)
[英]Send an email with attachment and save in Google Drive using Google Apps Script
[英]How to send a HTML email with attachment using MailApp in Google Apps Script?
我正在嘗試在 Google Apps 腳本中編寫代碼以發送 HTML email 並附上我的聯系人列表的附件。 我收到的主要錯誤是這條線
MailApp.sendEmail(
emailid[i],
"test email",
Message,
htmlBody: HtmlMessage,
attachments: [file.getAs(MimeType.PDF)]
);
錯誤是在參數列表(第 48 行,文件“Code.gs”)之后參考htmlBody: HtmlMessage
: SyntaxError: missing )
我在網上嘗試過其他方法,包括
MailApp.sendEmail({
to: emailid[i],
subject: "This is a test email",
htmlBody: HtmlMessage,
attachments: [file.getAs(MimeType.PDF)]
});
我收到錯誤:異常:無效的 email:[Ljava.lang.Object;@1456304b(第 51 行,文件“代碼”)
整個代碼:
function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet();
//BASIC DETAILS
var name = sheet.getRange(1, 1, 3).getValues();
var emailid = sheet.getRange(1, 2, 3).getValues();
var company = sheet.getRange(1, 3, 3).getValues();
//ATTACHMENTS
var file = DriveApp.getFileById('XXXXXXXXXXXXXXXXX').getAs('application/pdf').setName('XXXX.pdf');
//HTML
var HtmlOutput = HtmlService.createHtmlOutputFromFile('html');
var HtmlMessage = HtmlOutput.getContent();
//PLAIN TEXT
var Message =
"Dear <?= name ?>,"+"\n"+
"XXXXXXXXXXXXXxXXXX"+"\n"+
"XXXXXXXXXXXX <?= company ?> XXXXXXXXXXXXXXXXXXX"+"\n"+
"XXXX Link: https://www.XXXX/XXXX"+"\n"+
"XXXX."+"\n"+
"With Warm Regards,"+"\n"+
"XXX"+"\n"+
"Call: XXXXX"+"\n"+
"Email: XXXX"+"\n";
var OriginalMessage = Message;
var OriginalHtmlMessage = HtmlMessage;
for( var i = 0 ; i <= 2 ; i++)
{
Message = Message.replace("<?= name ?>", name[i]);
Message = Message.replace("<?= company ?>", company[i]);
HtmlMessage = HtmlMessage.replace("%name", name[i]);
HtmlMessage = HtmlMessage.replace("%company", company[i]);
MailApp.sendEmail(
emailid[i],
"test email",
Message,
htmlBody: HtmlMessage,
attachments: [file.getAs(MimeType.PDF), blob]
);
Message = OriginalMessage;
HtmlMessage = OriginalHtmlMessage;
}
}
這是 HTML 文件:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body style="font-family: 'Times New Roman', Times, serif;font-size: 1.5em; padding: 5%;">
Dear %name,<br>
<div style="line-height: 2;margin-left:5%;">
XXXX XXXXXX XXXXXXX XXXXXXX XXXXXXXX XXXX.<br>
XXXX XXXXXX XXXXX %company XXXXXXXX XXXXXXXX XXXXX. <br>
XXXX XXXXXX XXXXX: <a href="https://www.XXXX">Link</a><br>
I XXXXXX XXXX XXXXX<br></div>
<div style="line-height: 1.5; padding: 5%;">
With Warm Regards,<br>
<b>XXXXx</b><br>
<a href="tel:+XX-XXXXX">Call: +XX-XXXXX</a><br>
<a href="mailto:XX@XXXXXX.com">Email: XX@XXXXXX.com</a><br></div>
</body>
</html>
MailApp.SendMail() 的參數應該如何放置?
attachments
和htmlBody
都是options
,而options
是
指定高級參數的 JavaScript object
因此,您需要將options
作為 JSON object 與鍵值對傳遞:
MailApp.sendEmail(
emailid[i][0],
"test email",
Message,
{
htmlBody: HtmlMessage,
attachments: [file.getAs(MimeType.PDF)]
}
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.