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 的设备将使用它,而不是必需的 body 参数;如果您有用于电子邮件的内嵌图片,则可以在 HTML 正文中添加可选的 inlineImages 字段
inlineImagesObject一个 JavaScript 对象,其中包含从图片键 (String) 到图片数据 (BlobSource) 的映射;这假定使用 htmlBody 参数,并包含对 <img src="cid:imageKey" /> 格式这些图片的引用(请参阅示例)
nameString电子邮件发件人的姓名。默认值为发件人的用户名。
noReplyBoolean如果电子邮件应通过无回复的通用电子邮件地址发送,则为 true,以防止收件人回复电子邮件;此选项仅适用于 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 的设备将使用它,而不是必需的 body 参数;如果您有用于电子邮件的内嵌图片,则可以在 HTML 正文中添加可选的 inlineImages 字段
inlineImagesObject一个 JavaScript 对象,其中包含从图片键 (String) 到图片数据 (BlobSource) 的映射;这假定使用 htmlBody 参数,并包含对 <img src="cid:imageKey" /> 格式这些图片的引用
nameString电子邮件发件人的姓名(默认值:用户的姓名)
noReplyBoolean如果电子邮件应通过无回复的通用电子邮件地址发送,则为 true,以防止收件人回复电子邮件;此选项仅适用于 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