2 回答

TA貢獻2039條經驗 獲得超8個贊
如果我理解文檔https://developers.google.com/apps-script/reference/mail/mail-app
您不必將對象作為MailApp.sendEmail的正文參數傳遞,而是直接傳遞您的 text/html
所以在這些行中替換{htmlBody: htmltable}為htmltable:
...
MailApp.sendEmail(emailAddress, subject, htmltable)
MailApp.sendEmail(emailAddress2, subject2, htmltable)
...
編輯
您需要在提供選項對象之前提供文本正文,
sendEmail(收件人、主題、正文、選項)
你對語法是正確的,但你之前需要一個文本。你可以試試這個來測試它:
...
MailApp.sendEmail(emailAddress, subject, htmltable, {htmlBody: htmltable})
MailApp.sendEmail(emailAddress2, subject2, htmltable,{htmlBody: htmltable})
...
但我建議您創建數據的文本版本,如果可行,將其作為文本正文傳遞

TA貢獻1862條經驗 獲得超7個贊
回答您的進一步問題(來自評論)
1 如果您不希望空白為“無”,則應刪除此部分
var htmltable = '<table ' + TABLEFORMAT +' ">';
for (row = 0; row<data.length; row++){
htmltable += '<tr>';
for (col = 0 ;col<data[row].length; col++){
//remove this part ------------
//if (data[row][col] === "" || 0) {
// htmltable += '<td>' + 'None' + '</td>';}
//else --------------
if (row === 0) {
htmltable += '<th>' + data[row][col] + '</th>';
}
else {htmltable += '<td>' + data[row][col] + '</td>';}
}
htmltable += '</tr>';
}
2 - 試試這個
...
// Send Alert Email.
var order = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Order tab").getRange("A2:K32");
var message = order.getValues();
//---------------------- this :
var customerId = SpreadsheetApp.getActiveSpreadsheet()
.getSheetByName("Order tab").getRange("c24")
.getValues()[0];
var subject = 'New Order Alert - ' + customerId;
var subject2 = 'Order Summary - ' + customerId;
...
```
添加回答
舉報