发送电子邮件。
借助此服务,用户可以发送电子邮件,并完全控制电子邮件的内容。 与 GmailApp 不同,MailApp 的唯一用途是发送电子邮件。MailApp 无法访问用户的 Gmail 收件箱。
与 MailApp 脚本相比,使用 GmailApp 编写的脚本更改后更有可能触发用户重新授权请求。
方法
| 方法 | 返回值类型 | 简介 |
|---|---|---|
get | Integer | 返回您在当天剩余时间内可以向多少收件人发送电子邮件。 |
send | void | 发送邮件。 |
send | void | 发送邮件。 |
send | void | 发送带有可选参数的邮件。 |
send | 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, }, }); }
参数
| 名称 | 类型 | 说明 |
|---|---|---|
message | Object | 表示电子邮件的 JavaScript 对象 |
高级参数
| 名称 | 类型 | 说明 |
|---|---|---|
attachments | Blob | 要随电子邮件发送的文件 数组 |
bcc | String | 要密送的电子邮件地址列表,以英文逗号分隔 |
body | String | 电子邮件正文 |
cc | String | 要抄送的电子邮件地址逗号分隔列表 |
html | String | 如果设置了此参数,则能够呈现 HTML 的设备将使用此参数,而不是必需的 body 实参;如果您为电子邮件内嵌了图片,则可以在 HTML 正文中添加可选的 inline 字段 |
inline | Object | 一个 JavaScript 对象,其中包含从图片键
(String) 到图片数据 (Blob) 的映射;这假定使用了 html 参数,并且包含对这些图片的引用,格式为 <img src="cid:imageKey" />(请参阅示例) |
name | String | 电子邮件发件人的名称。默认为发件人的 用户名。 |
no | Boolean | 如果电子邮件应从通用的“请勿回复”电子邮件地址发送,以阻止收件人回复电子邮件,则为 true;此选项仅适用于 Google Workspace 账号,不适用于 Gmail 用户 |
reply | String | 用作默认回复地址的电子邮件地址
(默认值:用户的电子邮件地址)。如果 no 设置为 true,则系统会忽略 reply。 |
subject | String | 电子邮件的主题 |
to | String | 收件人的电子邮件地址,或以逗号分隔的收件人电子邮件地址列表 |
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/script.send_mail
另请参阅
sendEmail(recipient, subject, body)
发送邮件。
MailApp.sendEmail( 'recipient@example.com', 'TPS reports', 'Where are the TPS reports?', );
参数
| 名称 | 类型 | 说明 |
|---|---|---|
recipient | String | 收件人的地址,以英文逗号分隔 |
subject | String | 主题行 |
body | String | 电子邮件正文 |
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
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], }, );
参数
| 名称 | 类型 | 说明 |
|---|---|---|
recipient | String | 收件人的地址,以英文逗号分隔 |
subject | String | 主题行 |
body | String | 电子邮件正文 |
options | Object | 一个 JavaScript 对象,用于指定高级参数,如下所示 |
高级参数
| 名称 | 类型 | 说明 |
|---|---|---|
attachments | Blob | 要随电子邮件发送的文件 数组(请参阅示例) |
bcc | String | 要密送的电子邮件地址列表,以英文逗号分隔 |
cc | String | 要抄送的电子邮件地址逗号分隔列表 |
html | String | 如果设置了此参数,则能够呈现 HTML 的设备将使用此参数,而不是必需的 body 实参;如果您为电子邮件内嵌了图片,则可以在 HTML 正文中添加可选的 inline 字段 |
inline | Object | 一个 JavaScript 对象,其中包含从图片键
(String) 到图片数据 (Blob) 的映射;这假定使用了 html 参数,并且包含对这些图片的引用,格式为 <img src="cid:imageKey" /> |
name | String | 电子邮件发件人的名称(默认值:用户的名称) |
no | Boolean | 如果电子邮件应从通用的“请勿回复”电子邮件地址发送,以阻止收件人回复电子邮件,则为 true;此选项仅适用于 Google Workspace 账号,不适用于 Gmail 用户 |
reply | String | 用作默认回复地址的电子邮件地址 (默认值:用户的电子邮件地址) |
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
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?', );
参数
| 名称 | 类型 | 说明 |
|---|---|---|
to | String | 收件人的地址,以英文逗号分隔 |
reply | String | 回复地址 |
subject | String | 主题行 |
body | String | 纯文本格式的电子邮件正文 |
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/script.send_mail