Class GmailApp

Gmail 应用

提供对 Gmail 会话、邮件和标签的访问权限。

方法

方法 返回类型 简介
createDraft(recipient, subject, body) GmailDraft 创建电子邮件草稿。
createDraft(recipient, subject, body, options) GmailDraft 创建电子邮件电子邮件(可选参数)。
createLabel(name) GmailLabel 创建具有指定名称的新用户标签。
deleteLabel(label) GmailApp 删除指定的标签。
getAliases() String[] 获取在 Gmail 中被设置为此帐号别名的电子邮件列表。
getDraft(draftId) GmailDraft 按 ID 检索电子邮件草稿。
getDraftMessages() GmailMessage[] 检索所有草稿邮件。
getDrafts() GmailDraft[] 获取所有 Gmail 草稿邮件。
getInboxThreads() GmailThread[] 检索所有收件箱,而不考虑标签。
getInboxThreads(start, max) GmailThread[] 检索一系列收件箱会话,而不考虑标签。
getInboxUnreadCount() Integer 获取收件箱中的未读会话数量。
getMessageById(id) GmailMessage 按 ID 获取消息。
getMessagesForThread(thread) GmailMessage[] 检索指定会话中的所有邮件。
getMessagesForThreads(threads) GmailMessage[][] 检索指定会话中的所有邮件。
getPriorityInboxThreads() GmailThread[] 检索所有优先收件箱会话,无论标签如何。
getPriorityInboxThreads(start, max) GmailThread[] 检索一系列优先收件箱会话,而不考虑标签。
getPriorityInboxUnreadCount() Integer 获取优先收件箱中未读会话的数量。
getSpamThreads() GmailThread[] 检索所有标签,而不考虑标签。
getSpamThreads(start, max) GmailThread[] 检索各种垃圾邮件会话,而不考虑标签。
getSpamUnreadCount() Integer 获取包含垃圾内容的未读会话数量。
getStarredThreads() GmailThread[] 检索所有已加星标的会话,而不考虑标签。
getStarredThreads(start, max) GmailThread[] 检索一系列已加星标的会话,而不考虑标签。
getStarredUnreadCount() Integer 获取已加星标的未读会话数量。
getThreadById(id) GmailThread 按 ID 获取线程。
getTrashThreads() GmailThread[] 检索所有已删除邮件,而不考虑标签。
getTrashThreads(start, max) GmailThread[] 检索一系列已删除邮件,而不考虑标签。
getUserLabelByName(name) GmailLabel 根据标签名称检索标签。
getUserLabels() GmailLabel[] 检索用户创建的标签列表。
markMessageRead(message) GmailApp 将此消息标记为已读,并强制刷新。
markMessageUnread(message) GmailApp 将此消息标记为未读,并强制刷新。
markMessagesRead(messages) GmailApp 将这些消息标记为已读,并强制刷新这些消息。
markMessagesUnread(messages) GmailApp 将这些消息标记为未读,并强制刷新这些消息。
markThreadImportant(thread) GmailApp 将此线程标记为重要并强制线程刷新。
markThreadRead(thread) GmailApp 将此线程标记为已读并强制线程刷新。
markThreadUnimportant(thread) GmailApp 将此线程标记为不重要,并强制线程刷新。
markThreadUnread(thread) GmailApp 将此线程标记为未读并强制线程刷新。
markThreadsImportant(threads) GmailApp 将这些线程标记为重要并强制线程刷新。
markThreadsRead(threads) GmailApp 将这些线程标记为已读并强制线程刷新。
markThreadsUnimportant(threads) GmailApp 将这些线程标记为不重要并强制线程刷新。
markThreadsUnread(threads) GmailApp 将这些线程标记为未读并强制这些线程进行刷新。
moveMessageToTrash(message) GmailApp 将消息移到回收站并强制消息刷新。
moveMessagesToTrash(messages) GmailApp 将指定的消息移至回收站,并强制刷新消息。
moveThreadToArchive(thread) GmailApp 将此线程移至归档,并强制刷新该线程。
moveThreadToInbox(thread) GmailApp 将此会话移至收件箱,并强制刷新会话。
moveThreadToSpam(thread) GmailApp 将此会话移至“垃圾邮件”并强制此会话进行刷新。
moveThreadToTrash(thread) GmailApp 将此线程移至回收站并强制刷新该线程。
moveThreadsToArchive(threads) GmailApp 将这些线程移至归档并强制这些线程进行刷新。
moveThreadsToInbox(threads) GmailApp 将这些会话移至收件箱并强制刷新会话。
moveThreadsToSpam(threads) GmailApp 将这些线程移至“垃圾邮件”并强制这些线程进行刷新。
moveThreadsToTrash(threads) GmailApp 将这些线程移至回收站并强制这些线程进行刷新。
refreshMessage(message) GmailApp 从 Gmail 重新加载邮件和关联状态(在标签、阅读状态等发生变化时非常有用)。
refreshMessages(messages) GmailApp 从 Gmail 重新加载邮件和关联状态(在标签、读取状态等发生变化时非常有用)。
refreshThread(thread) GmailApp 从 Gmail 重新加载线程和关联状态(在标签、读取状态等发生变化时非常有用)。
refreshThreads(threads) GmailApp 从 Gmail 重新加载线程和关联状态(在标签、读取状态等发生变化时非常有用)。
search(query) GmailThread[] 使用指定的查询搜索 Gmail。
search(query, start, max) GmailThread[] 使用指定的查询搜索 Gmail。
sendEmail(recipient, subject, body) GmailApp 发送电子邮件。
sendEmail(recipient, subject, body, options) GmailApp 发送带有可选参数的电子邮件。
setCurrentMessageAccessToken(accessToken) void 设置当前消息访问令牌,允许脚本访问当前 GmailMessage 属性。
starMessage(message) GmailApp 为此消息加注星标,并强制刷新。
starMessages(messages) GmailApp 为这些消息加注星标,并强制刷新这些消息。
unstarMessage(message) GmailApp 从此消息中移除星标并强制刷新消息。
unstarMessages(messages) GmailApp 移除这些消息的星标并强制这些消息刷新。

详细文档

createDraft(recipient, subject, body)

创建电子邮件草稿。电子邮件(包括标头)的大小有配额限制

*

参数

名称 类型 说明
recipient String 使用英文逗号分隔的电子邮件地址列表
subject String 电子邮件的主题
body String 电子邮件的正文

返回

GmailDraft - 新创建的 Gmail 草稿

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


createDraft(recipient, subject, body, options)

创建电子邮件电子邮件(可选参数)。该电子邮件可以包含纯文本或 HTML 正文。电子邮件的大小(包括标头,但不包括附件)受配额限制限制。

*{
    attachments: [file.getAs(MimeType.PDF)],
    name: 'Automatic Emailer Script'
});

参数

名称 类型 说明
recipient String 收件人的地址
subject String 主题行
body String 电子邮件的正文
options Object 一个用于指定高级参数的 JavaScript 对象,如下所列

高级参数

名称 类型 说明
attachments BlobSource[] 使用电子邮件发送的文件数组
bcc String 密送至电子邮件地址的逗号分隔列表
cc String 抄送抄送地址的逗号分隔列表
from String 发送电子邮件时使用的地址,该地址必须是 getAliases() 返回的值之一
htmlBody String 设置后,能够呈现 HTML 的设备将使用它(而非必需的正文参数);如果您有内嵌的电子邮件图片,则可以在 HTML 正文中添加可选的 inlineImages 字段
inlineImages Object 一个 JavaScript 对象,包含从图片键 (String) 到图片数据 (BlobSource) 的映射;这假定使用 htmlBody 参数并包含对图片的引用(格式为 <img src="cid:imageKey" />
name String 电子邮件发件人的姓名(默认:用户姓名)
replyTo String 用作默认回复地址的电子邮件地址(默认:用户的电子邮件地址)

返回

GmailDraft - 新创建的 Gmail 草稿

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


createLabel(name)

创建具有指定名称的新用户标签。

// 创建 @FOO 标签并记录标签:FOO
Logger.log"label: " + GmailApp.createLabel("FOO"()}

参数

名称 类型 说明
name String 新标签的名称

返回

GmailLabel - 新创建的标签

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


deleteLabel(label)

删除指定的标签。

// 必须按名称获取标签
var label = GmailApp.getUserLabelByName("FOO");
GmailApp.deleteLabel(label);

参数

名称 类型 说明
label GmailLabel 要删除的标签

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


getAliases()

获取在 Gmail 中被设置为此帐号别名的电子邮件列表。

您可以使用可选参数“from”从任何别名发送消息。

*{'from': alias[0]});
} else {
  GmailApp.sendEmail(me, 'No alias found', & you #39; You have no alias.');
}

返回

String[] - 此帐号的别名数组

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


getDraft(draftId)

按 ID 检索电子邮件草稿。

在 Gmail 草稿中,可将此方法与 getId() 结合使用。

*

参数

名称 类型 说明
draftId String 要检索的草稿的 ID

返回

GmailDraft - 具有指定 ID 的草稿

抛出

Error - 如果找不到具有指定 ID 的草稿

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

getDraftMessages()

检索所有草稿邮件。

*

返回

GmailMessage[] - 一组草稿的 Gmail 邮件

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

getDrafts()

获取所有 Gmail 草稿邮件。

var 处于草稿状态 = GmailApp.get 草稿 s()
(var i = 0; i <草稿 s.length; i++) {
  Logger.log(草稿 [i].getId());
}

返回

GmailDraft[] - 一组 Gmail 草稿邮件

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

getInboxThreads()

检索所有收件箱,而不考虑标签。

当所有线程都太大而无法由系统处理时,此调用将失败。如果线程大小未知(可能非常大),请使用 'paged' 调用,并在每次调用中指定要检索的线程范围。

// 记录收件箱主题行 = GmailApp.getInboxThreads()
(var i = 0; i < threads.length; i++) {
 Logger.log(threads[i].getFirstMessageSubject());
}

返回

GmailThread[] - 收件箱中的一系列 Gmail 会话

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

getInboxThreads(start, max)

检索一系列收件箱会话,而不考虑标签。

// 记录收件箱中最多 50 封电子邮件的主题行 = GmailApp.getInboxThreads(0, 50);
for (var i = 0; i < threads.length; i++) {
  Logger.log(threads[i].getFirstMessageSubject());
}

参数

名称 类型 说明
start Integer 要检索的第一个线程的索引
max Integer 要检索的线程数上限

返回

GmailThread[] - 收件箱中的一系列 Gmail 会话

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

getInboxUnreadCount()

获取收件箱中的未读会话数量。

Logger.log"收件箱中的未读邮件: & - GmailApp.getInboxUnreadCount());

返回

Integer - 收件箱中有未读邮件的会话数量

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

getMessageById(id)

按 ID 获取消息。

将它与 Gmail 邮件中的 getId() 结合使用。


参数

名称 类型 说明
id String 要检索的消息的 ID

返回

GmailMessage - 具有指定 ID 的消息

抛出

Error - 如果找不到具有指定 ID 的消息

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


getMessagesForThread(thread)

检索指定会话中的所有邮件。

// 记录收件箱的第一个线程中的所有主题行
var thread = GmailApp.getInboxThreads(0, 1)[0];
var messages = GmailApp.getMessagesForThread(thread);
for (var i = 0 ; i < messages.length; i++) {
 Logger.log"subject: " + messages[i]

参数

名称 类型 说明
thread GmailThread 要检索的消息会话

返回

GmailMessage[] - 与此线程对应的消息数组

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


getMessagesForThreads(threads)

检索指定会话中的所有邮件。

/

参数

名称 类型 说明
threads GmailThread[] 要检索的消息会话

返回

GmailMessage[][] - 一组消息数组,其中外部数组中的每一项都对应一个线程,而内部数组包含该线程中的消息

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


getPriorityInboxThreads()

检索所有收件箱(无论标签为何)。

当所有线程都太大而无法由系统处理时,此调用将失败。如果线程大小未知(可能非常大),请使用 'paged' 调用,并在每次调用中指定要检索的线程范围。

Logger.log"优先收件箱中的邮件数量:" + GmailApp.getPriorityInboxThreads().length);

返回

GmailThread[] - 优先收件箱中的一组 Gmail 会话

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

getPriorityInboxThreads(start, max)

检索一系列收件箱,而不考虑标签。

// 在“优先收件箱”中记录一些数量为 2 或以下的数字
Logger.log"#: &+ GmailApp.getPriorityInboxThreads(0, 2).length);

参数

名称 类型 说明
start Integer 要检索的第一个线程的索引
max Integer 要检索的线程数上限

返回

GmailThread[] - 优先收件箱中的一组 Gmail 会话

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

getPriorityInboxUnreadCount()

获取优先收件箱中未读会话的数量。

Logger.log"优先收件箱中的未读电子邮件数量:" + GmailApp.getPriorityInboxUnreadCount());

返回

Integer - 优先收件箱中包含未读邮件的会话数量

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

getSpamThreads()

检索所有标签,而不考虑标签。

当所有线程都太大而无法由系统处理时,此调用将失败。如果线程大小未知(可能非常大),请使用 'paged' 调用,并在每次调用中指定要检索的线程范围。

Logger.log"总数 垃圾会话数量:&Gmail.getSpamThreads().length);

返回

GmailThread[] - 垃圾邮件文件夹中的一系列 Gmail 会话

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

getSpamThreads(start, max)

检索各种垃圾邮件会话,而不考虑标签。

// 最多记录 5 个
Logger.log" 总数:垃圾帖数量:" + GmailApp.getSpamThreads(0, 5);时长;

参数

名称 类型 说明
start Integer 要检索的第一个线程的索引
max Integer 要检索的线程数上限

返回

GmailThread[] - 垃圾邮件文件夹中的一系列 Gmail 会话

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

getSpamUnreadCount()

获取包含垃圾内容的未读会话数量。

// 除非您实际阅读了垃圾邮件文件夹中的内容,否则此值应该与
// 垃圾邮件文件夹中的邮件数量相同。
Logger.log"# 个未读的垃圾会话:" + GmailApp.getSpamUnreadCount());

返回

Integer - 包含未读消息的垃圾帖子数量

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

getStarredThreads()

检索所有已加星标的会话,而不考虑标签。

当所有线程都太大而无法由系统处理时,此调用将失败。如果线程大小未知(可能非常大),请使用 'paged' 调用,并在每次调用中指定要检索的线程范围。

// 记录已加星标的会话数量
Logger.log"# 已加星标的会话: " + GmailApp.getStarredThreads().length);

返回

GmailThread[] - 一组已加星标的 Gmail 会话

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

getStarredThreads(start, max)

检索一系列已加星标的会话,而不考虑标签。

// 将已加星标的线程数记录到最多 5 个
Logger.log"# 已加星标的线程:" + GmailApp.getStarredThreads(0, 5).length);

参数

名称 类型 说明
start Integer 要检索的第一个线程的索引
max Integer 要检索的线程数上限

返回

GmailThread[] - 一组已加星标的 Gmail 会话

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

getStarredUnreadCount()

获取已加星标的未读会话数量。

Logger.log"# 条未读且已加星标:" + GmailApp.getStarredUnreadCount());

返回

Integer - 包含未读消息的已加星标会话的数量

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

getThreadById(id)

按 ID 获取线程。

在 Gmail 线程中与 getId() 结合使用。

// 当您在 Gmail 中打开某个会话时,也可以在地址栏中找到该会话 ID
// 获取第一个收件箱线程
var firstThread = GmailApp.getInboxThreads(0,1)[0];
// 按 ID 获取相同的线程
var threadById = GmailApp.getThreadById(firstThread.getId());
// 验证这些会话是否相同
Logger.log(firstThread.getFirstMessageSubject())

参数

名称 类型 说明
id String 要检索的线程的 ID

返回

GmailThread - 具有指定 ID 的线程;如果未找到,则为 null

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


getTrashThreads()

检索所有已删除邮件,而不考虑标签。

当所有线程都太大而无法由系统处理时,此调用将失败。如果线程大小未知(可能非常大),请使用 'paged' 调用,并在每次调用中指定要检索的线程范围。

Logger.log"总数(垃圾桶数量):" + GmailApp.getBucketThreads().length);

返回

GmailThread[] - 已删除邮件中的 Gmail 会话数组

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

getTrashThreads(start, max)

检索一系列已删除邮件,而不考虑标签。

// 最多记录 5 个
Logger.log('.

参数

名称 类型 说明
start Integer 要检索的第一个线程的索引
max Integer 要检索的线程数上限

返回

GmailThread[] - 已删除邮件中的 Gmail 会话数组

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

getUserLabelByName(name)

根据标签名称检索标签。

var labelObject = GmailApp.getUserLabelByName("myLabel");

参数

名称 类型 说明
name String 要检索的标签的名称

返回

GmailLabel - 具有指定名称的 Gmail 标签

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

getUserLabels()

检索用户创建的标签列表。

// 记录标签的所有名称
var labels = GmailApp.getUserLabels()
(var i = 0; i < labels.length; i++) {
  Logger.log"label: " + labels[i].getName());
}

返回

GmailLabel[] - 用户创建的标签数组

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

markMessageRead(message)

将此消息标记为已读,并强制刷新。

// 将收件箱第一个会话中的首封邮件标记为已读 var message = GmailApp.getInboxThreads(0, 1)[0].getMessages()[0];
GmailApp.markMessageRead(message);

参数

名称 类型 说明
message GmailMessage 要标记为已读的消息

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


markMessageUnread(message)

将此消息标记为未读,并强制刷新。

// 将收件箱第一个会话中的首封邮件标记为未读 var message = GmailApp.getInboxThreads(0, 1)[0].getMessages()[0];
GmailApp.markMessageUnread(message);

参数

名称 类型 说明
message GmailMessage 要标记为未读的消息

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


markMessagesRead(messages)

将这些消息标记为已读,并强制刷新这些消息。

// 将第一个收件箱会话中的前三封邮件标为已读。
// 假设第一个收件箱会话包含 3 封邮件。
var threadMessages = GmailApp.getInboxThreads(0, 1)[0].getMessages()
var messages = [threadMessages[0], threadMessages[1], threadMessages[2]];
GmailApp.markMessagesRead(thread.getMessages());

参数

名称 类型 说明
messages GmailMessage[] 要标记为已读的消息数组

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


markMessagesUnread(messages)

将这些消息标记为未读,并强制刷新这些消息。

// 将第一个收件箱会话中的三封邮件标记为未读。
// 假设第一个收件箱线程包含 3 封邮件
var threadMessages = GmailApp.getInboxThreads(0, 1)[0].getMessages()
var messages = [threadMessages[0], threadMessages[1], threadMessages[2]];
GmailApp.markMessagesUnread(thread.getMessages());

参数

名称 类型 说明
messages GmailMessage[] 一组标记为未读的消息

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


markThreadImportant(thread)

将此线程标记为重要并强制线程刷新。

// 将第一个收件箱会话标记为重要 var thread = GmailApp.getInboxThreads(0, 1)[0];
GmailApp.markThreadImportant(thread);

参数

名称 类型 说明
thread GmailThread 标记为重要的会话

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


markThreadRead(thread)

将此线程标记为已读并强制线程刷新。

// 将第一个收件箱线程标记为已读变量线程 = GmailApp.getInboxThreads(0, 1)[0];
GmailApp.markThreadRead(thread);

参数

名称 类型 说明
thread GmailThread 要标记为已读的线程

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


markThreadUnimportant(thread)

将此线程标记为不重要,并强制线程刷新。

// 将第一个收件箱线程标记为不重要的变量
var = GmailApp.getInboxThreads(0, 1)[0];
GmailApp.markThreadUnexplicit(thread);

参数

名称 类型 说明
thread GmailThread 标记为不重要的会话

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


markThreadUnread(thread)

将此线程标记为未读并强制刷新线程。

// 将第一个收件箱会话标记为未读变量线程 = GmailApp.getInboxThreads(0, 1)[0];
GmailApp.markThreadUnread(thread);

参数

名称 类型 说明
thread GmailThread 标记为未读的会话

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


markThreadsImportant(threads)

将这些线程标记为重要并强制刷新这些线程。

// 将收件箱中的前两个会话标记为重要变量
vars = GmailApp.getInboxThreads(0, 2);
GmailApp.markThreads 重要(threads);

参数

名称 类型 说明
threads GmailThread[] 一组标记为重要的线程

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


markThreadsRead(threads)

将这些线程标记为已读并强制刷新这些线程。

// 将收件箱中的前两个会话标记为已读变量线程 = GmailApp.getInboxThreads(0, 2);
GmailApp.markThreadsRead(threads);

参数

名称 类型 说明
threads GmailThread[] 要标记为已读的线程数组

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


markThreadsUnimportant(threads)

将这些线程标记为不重要并强制线程刷新。

// 将收件箱中的前两个会话标记为不重要的变量
vars = GmailApp.getInboxThreads(0, 2);
GmailApp.markThreadsUnexplicit(threads);

参数

名称 类型 说明
threads GmailThread[] 一组标记为不重要的线程

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


markThreadsUnread(threads)

将这些线程标记为未读并强制这些线程进行刷新。

// 将收件箱中的前两个会话标记为未读变量线程 = GmailApp.getInboxThreads(0, 2);
GmailApp.markThreadsUnread(threads);

参数

名称 类型 说明
threads GmailThread[] 一组标记为未读的线程

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


moveMessageToTrash(message)

将邮件移至“已删除邮件”,并强制其刷新。

// 将收件箱中的第一封邮件移至已删除邮件
var firstThread = GmailApp.getInboxThreads(0,1)[0];
var firstMessage = firstThread.getMessages()[0];
GmailApp.moveMessageToBucket(firstMessage);

参数

名称 类型 说明
message GmailMessage 要移至回收站的邮件

返回

GmailApp - Gmail 服务(可用于链接)

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


moveMessagesToTrash(messages)

将指定的消息移至回收站,并强制刷新消息。

// 将收件箱中的前两条邮件移到“已删除邮件”中
var firstThread = GmailApp.getInboxThreads(0,1)[0];
var messages = firstThread.getMessages()
var toDelete = [messages[0], messages[1]];
GmailApp.moveMessagesToBucket(toDelete);

参数

名称 类型 说明
messages GmailMessage[] 要移至“已删除邮件”的邮件

返回

GmailApp - Gmail 服务(可用于链接)

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


moveThreadToArchive(thread)

将此线程移至归档,并强制刷新该线程。

// 归档收件箱中的第一个会话
var firstThread = GmailApp.getInboxThreads(0,1)[0];
GmailApp.moveThreadToArchive(firstThread);

参数

名称 类型 说明
thread GmailThread 要归档的会话

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


moveThreadToInbox(thread)

将此会话移至收件箱,并强制刷新会话。

// 查找收件箱以外的会话
var thread = GmailApp.search"-in:inbox")[0]; // 获取第一个会话
GmailApp.moveThreadToInbox(thread);

参数

名称 类型 说明
thread GmailThread 要移至收件箱的会话

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


moveThreadToSpam(thread)

将此会话移至“垃圾邮件”并强制此会话进行刷新。

// 将收件箱中的第一个会话标记为垃圾内容
var firstThread = GmailApp.getInboxThreads(0,1)[0];
GmailApp.moveThreadToSpam(firstThread);

参数

名称 类型 说明
thread GmailThread 要移至“垃圾邮件”会话

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


moveThreadToTrash(thread)

将此线程移至回收站并强制刷新该线程。

// 将收件箱中的第一个会话移至“已删除邮件”
var firstThread = GmailApp.getInboxThreads(0,1)[0];
GmailApp.moveThreadToBucket(firstThread);

参数

名称 类型 说明
thread GmailThread 要移至回收站的会话

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


moveThreadsToArchive(threads)

将这些线程移至归档并强制这些线程进行刷新。

// 将收件箱中的前两个会话移至存档变量 firstTwoThreads = GmailApp.getInboxThreads(0,2);
GmailApp.moveThreadsToArchive(firstTwoThreads);

参数

名称 类型 说明
threads GmailThread[] 要归档的线程数组

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


moveThreadsToInbox(threads)

将这些会话移至收件箱,并强制刷新会话。

// 查找收件箱中没有的两个会话
var firstTwoThreads = GmailApp.search"-in:inbox", 0, 2);
GmailApp.moveThreadsToInbox(firstTwoThreads);

参数

名称 类型 说明
threads GmailThread[] 要移至收件箱的一系列会话

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


moveThreadsToSpam(threads)

将这些会话移至“垃圾邮件”中,并强制这些会话进行刷新。

// 将收件箱中前两个会话移至“垃圾邮件”
var firstTwoThreads = GmailApp.getInboxThreads(0,2);
GmailApp.moveThreadsToSpam(firstTwoThreads);

参数

名称 类型 说明
threads GmailThread[] 一组要移至“垃圾内容”会话的讨论帖

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


moveThreadsToTrash(threads)

将这些线程移至回收站并强制刷新这些线程。

// 将收件箱中前两个会话移至“回收站”
var firstTwoThreads = GmailApp.getInboxThreads(0,2);
GmailApp.moveThreadsToBucket(firstTwoThreads);

参数

名称 类型 说明
threads GmailThread[] 一系列要移至回收站的线程

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


refreshMessage(message)

从 Gmail 重新加载邮件和关联状态(在标签、读取状态等发生变化时非常有用)。

var firstThread = GmailApp.getInboxThreads(0,1)[0];
var firstMessage = firstThread.getMessages()[0];
// ...执行一些可能需要一段时间的操作......
GmailApp.refreshMessage(firstMessage);
// 使用 firstMessage 执行更多操作...

参数

名称 类型 说明
message GmailMessage 要刷新的消息

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


refreshMessages(messages)

从 Gmail 重新加载邮件和关联状态(在标签、读取状态等发生变化时非常有用)。

var firstThread = GmailApp.getInboxThreads(0,1)[0];
var pairOfMessages = firstThread.getMessages().slice(0, 2);
// ...执行一些可能需要一段时间的操作...
GmailApp.refreshMessages(coupleOfMessages);
// ...使用 CoofOfMessages 执行更多操作...

参数

名称 类型 说明
messages GmailMessage[] 要刷新的消息

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


refreshThread(thread)

从 Gmail 重新加载线程和关联状态(在标签、读取状态等发生变化时非常有用)。

var firstThread = GmailApp.getInboxThreads(0,1)[0];
// ...执行一些可能需要一段时间才能完成的操作......
GmailApp.refreshThread(firstThread);
// 使用线程执行更多操作...

参数

名称 类型 说明
thread GmailThread 要刷新的会话

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


refreshThreads(threads)

从 Gmail 重新加载线程和关联状态(在标签、读取状态等发生变化时非常有用)。

var threads = GmailApp.getInboxThreads(0, 3);
// ...执行一些可能需要一段时间才能完成的操作......
GmailApp.refreshThreads(threads);
// ... 使用线程执行更多操作 ...

参数

名称 类型 说明
threads GmailThread[] 要刷新的讨论帖

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


search(query)

使用指定的查询搜索 Gmail。

当所有线程都太大而无法由系统处理时,此调用将失败。如果线程大小未知(可能非常大),请使用 'paged' 调用,并在每次调用中指定要检索的线程范围。

*

参数

名称 类型 说明
query String 就像您在 Gmail 中输入搜索查询一样

返回

GmailThread[] - 与该查询匹配的 Gmail 会话数组

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

search(query, start, max)

使用指定的查询搜索 Gmail。

// 查找主题为“重要”的已加星标邮件,并返回第二批(10 个)。
// 假定其中至少有 11 个变量,否则将返回一个空数组。
var threads = GmailApp.search'is:starred subject:"重要”"', 10, 10);

参数

名称 类型 说明
query String 就像您在 Gmail 中输入搜索查询一样
start Integer 起始线程的索引
max Integer 要返回的线程数上限

返回

GmailThread[] - 与该查询匹配的 Gmail 会话数组

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

sendEmail(recipient, subject, body)

发送电子邮件。电子邮件(包括标头)的大小有配额限制

/

参数

名称 类型 说明
recipient String 使用英文逗号分隔的电子邮件地址列表
subject String 电子邮件的主题(最多 250 个字符)
body String 电子邮件的正文

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


sendEmail(recipient, subject, body, options)

发送带有可选参数的电子邮件。该电子邮件可以包含纯文本或 HTML 正文。电子邮件的大小(包括标头,但不包括附件)受配额限制限制。

*{
    attachments: [file.getAs(MimeType.PDF)],
    name: 'Automatic Emailer Script'
});

参数

名称 类型 说明
recipient String 收件人的地址
subject String 主题行(最多 250 个字符)
body String 电子邮件的正文
options Object 一个用于指定高级参数的 JavaScript 对象,如下所列

高级参数

名称 类型 说明
attachments BlobSource[] 使用电子邮件发送的文件数组
bcc String 密送至电子邮件地址的逗号分隔列表
cc String 抄送抄送地址的逗号分隔列表
from String 发送电子邮件时使用的地址,该地址必须是 getAliases() 返回的值之一
htmlBody String 设置后,能够呈现 HTML 的设备将使用它(而非必需的正文参数);如果您有内嵌的电子邮件图片,则可以在 HTML 正文中添加可选的 inlineImages 字段
inlineImages Object 一个 JavaScript 对象,包含从图片键 (String) 到图片数据 (BlobSource) 的映射;这假定使用 htmlBody 参数并包含对图片的引用(格式为 <img src="cid:imageKey" />
name String 电子邮件发件人的姓名(默认:用户姓名)
noReply Boolean 如果电子邮件应使用无回复的通用电子邮件地址发送电子邮件,以防止收件人回复电子邮件,请使用 true;此选项仅适用于 Google Workspace 帐号,不适用于 Gmail 用户
replyTo String 用作默认回复地址的电子邮件地址(默认:用户的电子邮件地址)

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


setCurrentMessageAccessToken(accessToken)

设置当前消息访问令牌,允许脚本访问当前 GmailMessage 属性。

只有使用 Gmail 当前消息范围Google Workspace 插件项目需要使用此方法。

function handleAddonActionEvent(e) {
  var accessToken = e.messageMetadata.accessToken;
  var messageId = e.messageMetadata.messageId;
  GmailApp.setCurrentMessageAccessToken(accessToken);
  var mailMessage = GmailApp.getMessageById(messageId);
  // 使用 mailMessage 执行某项操作
}

参数

名称 类型 说明
accessToken String 从 Gmail 插件操作事件对象中获取的临时访问令牌。

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

starMessage(message)

为此消息加注星标,并强制刷新。

// 为收件箱中第一个会话中的首个邮件加星标
var firstThread = GmailApp.getInboxThreads(0,1)[0];
var message = firstThread.getMessages()[0];
GmailApp.starMessage(message);

参数

名称 类型 说明
message GmailMessage 要加星标的信息

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


starMessages(messages)

为这些消息加注星标,并强制刷新这些消息。

// 为收件箱中第一个会话中的前三封邮件加星标
var firstThread = GmailApp.getInboxThreads(0,1)[0];
var pairOfMessages = firstThread.getMessages().slice(0, 3);
GmailApp.starMessages(coupleOfMessages);

参数

名称 类型 说明
messages GmailMessage[] 一组要加星标的消息

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


unstarMessage(message)

移除此消息的星标并强制刷新相应消息。

// 取消选中收件箱中第一个会话中的首封邮件
var firstThread = GmailApp.getInboxThreads(0,1)[0];
var message = firstThread.getMessages()[0];
GmailApp.unstarMessage(message);

参数

名称 类型 说明
message GmailMessage 移除星标的邮件

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅


unstarMessages(messages)

移除这些消息的星标并强制这些消息刷新。

// 取消收件箱中第一个会话的前三封邮件的星标
var firstThread = GmailApp.getInboxThreads(0,1)[0];
var pairOfMessages = firstThread.getMessages().slice(0, 3);
GmailApp.unstarMessages(coupleOfMessages);

参数

名称 类型 说明
messages GmailMessage[] 一系列要去除的邮件

返回

GmailApp - Gmail 服务,可用于链接

授权

使用此方法的脚本需要通过以下范围相关 REST API 的适当范围进行授权:

  • https://mail.google.com/

另请参阅

已废弃的方法