Class MailApp

Mail應用程式

傳送電子郵件。

這項服務可讓使用者傳送電子郵件,並完全控管電子郵件內容。與 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 服務的配額」。

const 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() {
  const googleLogoUrl =
      'https://www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_74x24dp.png';
  const youtubeLogoUrl =
      'https://developers.google.com/youtube/images/YouTube_logo_standard_white.png';
  const googleLogoBlob =
      UrlFetchApp.fetch(googleLogoUrl).getBlob().setName('googleLogoBlob');
  const 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 的裝置,而非使用必要的 body 引數;如果您為電子郵件內嵌圖片,則可在 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.
const file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz');
const 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 的裝置,而非使用必要的 body 引數;如果您為電子郵件內嵌圖片,則可在 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)

傳送電子郵件。這個方法可讓使用者輕鬆指定傳送郵件的「Reply-To」地址,而該地址可能與寄件者不同。

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