我正在嘗試將一堆郵件發送到我在 Google 表格中保存的聯系人串列。我復制了發送電子郵件的代碼,但發送的電子郵件不是我需要的格式,并且在發送時被轉換為明文。關于如何解決此問題的任何幫助?
PS 我的編碼知識是零,我只是從這個網站復制代碼:https ://productivityspot.com/automatically-send-emails-from-google-sheets/
我使用的代碼如下:
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet1=ss.getSheetByName('Sheet1');
var sheet2=ss.getSheetByName('Sheet2');
var subject = sheet2.getRange(2,1).getValue();
var n=sheet1.getLastRow();
for (var i = 2; i < n 1 ; i ){
var emailAddress = sheet1.getRange(i,2).getValue();
var name=sheet1.getRange(i,1).getValue();
var message = sheet2.getRange(2,2).getValue();
message=message.replace("<name>",name);
MailApp.sendEmail(emailAddress, subject, message);
}
uj5u.com熱心網友回復:
你在這里面臨幾個障礙。發送格式化電子郵件的唯一方法是使用 HTML 正文。HTML 是用于在網路瀏覽器中顯示網頁的標記語言,它也可以通過電子郵件客戶端顯示。
因此,為了從 Apps 腳本發送格式良好的 (HTML) 電子郵件,您必須首先生成 HTML 格式的正文,然后您必須包括使用 htmlBody 引數。您還應該始終包含純文本正文(就像現在一樣),以防萬一您的收件人沒有收到 HTML 電子郵件(對于有可訪問性需求、使用螢屏閱讀器等的收件人來說很常見)
沒有簡單的方法可以將電子表格單元格中的格式化文本作為 HTML 獲取,因此您需要將原始 HTML 存盤在電子表格中,或者找出另一個可以存盤和獲取 HTML 正文的位置。在下面的示例中,我對純文本和 html 正文都進行了硬編碼。
要使用 MailApp 發送 HTML 正文,您需要使用額外的“選項”引數,如下所示。
var html_message = '<body><h1>This is an HTML formatted body</h1><br><br><strong style="color:red">This can get pretty involved.</strong> Usually you would generate this html with some other tool that lets you nicely format your content and export it as HTML.</body>'
var plain_message = 'This is a plain text email body. It is is much simpler, with no special formatting, but usually it will include all the text from the html formatted message (above), since usually you want all your recipients to receive the same information'.
MailApp.sendEmail(emailAddress, subject, plain_message, {htmlBody: html_message});
請在此處查看高級選項規范:
https://developers.google.com/apps-script/reference/mail/mail-app#sendEmail(字串,字串,字串,物件)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/533348.html
