Class MailApp

MailApp

傳送電子郵件。

這項服務可讓使用者傳送電子郵件,完全控管電子郵件的內容。 與 GmailApp 不同,MailApp 只能傳送電子郵件。MailApp 無法存取使用者的 Gmail 收件匣。

相較於 MailApp 指令碼,對使用 GmailApp 編寫的指令碼所做的變更更有可能向使用者觸發重新授權要求。

方法

方法傳回類型簡短說明
getRemainingDailyQuota()Integer傳回在當天剩餘時間內可傳送電子郵件的收件者人數。
sendEmail(message)void傳送電子郵件。
sendEmail(recipient, subject, body)void傳送電子郵件。
sendEmail(recipient, subject, body, options)void傳送含有選用引數的電子郵件。
sendEmail(to, replyTo, subject, body)void傳送電子郵件。

內容詳盡的說明文件

getRemainingDailyQuota()

傳回在當天剩餘時間內可傳送電子郵件的收件者人數。傳回的值適用於目前的執行作業,且可能會因執行作業而異。

配額是依據電子郵件收件者人數計算。如需特定配額資訊,請參閱 Google 服務配額

var emailQuotaRemaining = MailApp.getRemainingDailyQuota();
Logger.log("Remaining email quota: " + emailQuotaRemaining);

回攻員

Integer:指令碼可傳送的電子郵件數量。

授權

使用這個方法的指令碼必須取得以下一或多個範圍的授權:

  • https://www.googleapis.com/auth/script.send_mail

sendEmail(message)

傳送電子郵件。方法的變化版本更具彈性,可提供更多選項。

// This code fetches the Google and YouTube logos, inlines them in an email
// and sends the email
function inlineImage() {
  var googleLogoUrl = "https://www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_74x24dp.png";
  var youtubeLogoUrl =
        "https://developers.google.com/youtube/images/YouTube_logo_standard_white.png";
  var googleLogoBlob = UrlFetchApp
                         .fetch(googleLogoUrl)
                         .getBlob()
                         .setName("googleLogoBlob");
  var youtubeLogoBlob = UrlFetchApp
                          .fetch(youtubeLogoUrl)
                          .getBlob()
                          .setName("youtubeLogoBlob");
  MailApp.sendEmail({
    to: "recipient@example.com",
    subject: "Logos",
    htmlBody: "inline Google Logo<img src='cid:googleLogo'> images! <br>" +
              "inline YouTube Logo <img src='cid:youtubeLogo'>",
    inlineImages:
      {
        googleLogo: googleLogoBlob,
        youtubeLogo: youtubeLogoBlob
      }
  });
}

參數

名稱類型說明
messageObject代表電子郵件訊息的 JavaScript 物件

進階參數

名稱類型說明
attachmentsBlobSource[]要隨電子郵件傳送的檔案陣列
bccString要接收密件副本的電子郵件地址清單 (以半形逗號分隔)
bodyString電子郵件內文
ccString以半形逗號分隔的電子郵件地址清單
htmlBodyString設定後,能夠轉譯 HTML 的裝置會使用這個引數來取代必要的內文引數。如果有電子郵件內嵌圖片,您可以在 HTML 內文中新增選用的 inlineImages 欄位
inlineImagesObjectJavaScript 物件,包含圖片索引鍵 (String) 與圖片資料 (BlobSource) 的對應。這裡假設使用的是 htmlBody 參數,且包含這些圖片的參照,格式為 <img src="cid:imageKey" /> (請參閱範例)
nameString電子郵件寄件者的名稱。預設值為寄件者的使用者名稱。
noReplyBooleantrue如果電子郵件應透過一般無回覆的電子郵件地址傳送,以免收件者不想回覆電子郵件;這個選項僅適用於 Google Workspace 帳戶,不適用於 Gmail 使用者
replyToString做為預設回覆地址的電子郵件地址 (預設值:使用者的電子郵件地址)。如果將 noReply 設為 true,系統就會忽略 replyTo
subjectString電子郵件主旨
toString收件者的電子郵件地址,或以半形逗號分隔的電子郵件地址清單 (以半形逗號分隔)

授權

使用這個方法的指令碼必須取得以下一或多個範圍的授權:

  • https://www.googleapis.com/auth/script.send_mail

另請參閱


sendEmail(recipient, subject, body)

傳送電子郵件。

MailApp.sendEmail("recipient@example.com",
                  "TPS reports",
                  "Where are the TPS reports?");

參數

名稱類型說明
recipientString收件者的地址,並以半形逗號分隔
subjectString主旨行
bodyString電子郵件內文

授權

使用這個方法的指令碼必須取得以下一或多個範圍的授權:

  • https://www.googleapis.com/auth/script.send_mail

sendEmail(recipient, subject, body, options)

傳送含有選用引數的電子郵件。

// Send an email with two attachments: a file from Google Drive (as a PDF) and an HTML file.
var file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz');
var blob = Utilities.newBlob('Insert any HTML content here', 'text/html', 'my_document.html');
MailApp.sendEmail('mike@example.com', 'Attachment example', 'Two files are attached.', {
    name: 'Automatic Emailer Script',
    attachments: [file.getAs(MimeType.PDF), blob]
});

參數

名稱類型說明
recipientString收件者的地址,並以半形逗號分隔
subjectString主旨行
bodyString電子郵件內文
optionsObject指定進階參數的 JavaScript 物件,如下所示

進階參數

名稱類型說明
attachmentsBlobSource[]要隨電子郵件一起傳送的檔案陣列 (請參閱範例)
bccString要接收密件副本的電子郵件地址清單 (以半形逗號分隔)
ccString以半形逗號分隔的電子郵件地址清單
htmlBodyString設定後,能夠轉譯 HTML 的裝置會使用這個引數來取代必要的內文引數。如果有電子郵件內嵌圖片,您可以在 HTML 內文中新增選用的 inlineImages 欄位
inlineImagesObjectJavaScript 物件,包含圖片索引鍵 (String) 與圖片資料 (BlobSource) 的對應。這裡假設使用的是 htmlBody 參數,且包含這些圖片的參照 (格式為 <img src="cid:imageKey" />)
nameString電子郵件寄件者的名稱 (預設值:使用者名稱)
noReplyBooleantrue如果電子郵件應透過一般無回覆的電子郵件地址傳送,以免收件者不想回覆電子郵件;這個選項僅適用於 Google Workspace 帳戶,不適用於 Gmail 使用者
replyToString做為預設回覆地址的電子郵件地址 (預設值:使用者的電子郵件地址)

授權

使用這個方法的指令碼必須取得以下一或多個範圍的授權:

  • https://www.googleapis.com/auth/script.send_mail

另請參閱


sendEmail(to, replyTo, subject, body)

傳送電子郵件。這個方法可讓使用者在傳送的訊息中,輕鬆指定「回覆」地址,以便與寄件者不同。

MailApp.sendEmail("recipient@example.com",
                  "replies@example.com",
                  "TPS report status",
                  "What is the status of those TPS reports?");

參數

名稱類型說明
toString收件者的地址,並以半形逗號分隔
replyToString回覆地址
subjectString主旨行
bodyString純文字的電子郵件內文

授權

使用這個方法的指令碼必須取得以下一或多個範圍的授權:

  • https://www.googleapis.com/auth/script.send_mail