Class GmailThread

GmailThread

用户的 Gmail 帐号中的会话。

方法

方法返回类型简介
addLabel(label)GmailThread将此标签添加到会话中。
createDraftReply(body)GmailDraft使用回复地址创建消息草稿,回复此会话中最后一封邮件的发件人。
createDraftReply(body, options)GmailDraft使用回复地址创建消息草稿,回复此会话中最后一封邮件的发件人,并带有可选参数。
createDraftReplyAll(body)GmailDraft使用回复地址和此邮件的所有收件人创建回复此会话中最后一封邮件的发件人的草稿邮件。
createDraftReplyAll(body, options)GmailDraft使用回复地址和所有收件人和可选参数创建回复此会话中最后一封邮件的发件人的草稿邮件。
getFirstMessageSubject()String获取会话中第一条消息的主题。
getId()String获取此线程的 ID。
getLabels()GmailLabel[]返回用户在此会话中创建的标签。
getLastMessageDate()Date获取此会话最新消息的日期。
getMessageCount()Integer返回会话中的邮件数。
getMessages()GmailMessage[]获取此会话中的邮件/消息/帖子。
getPermalink()String获取此会话的固定链接。
hasStarredMessages()Boolean返回会话是否有任何已加星标的消息。
isImportant()Boolean返回线程是否标记为重要。
isInChats()Boolean返回会话是否被标记为聊天标签。
isInInbox()Boolean返回会话是否在收件箱中。
isInPriorityInbox()Boolean如果该会话位于优先收件箱中,则返回 true;否则返回 false。
isInSpam()Boolean返回会话是否被标记为垃圾内容的消息。
isInTrash()Boolean返回会话是否在回收站中。
isUnread()Boolean返回会话是否有任何未读消息。
markImportant()GmailThread将此会话标记为重要。
markRead()GmailThread将此会话标记为已读。
markUnimportant()GmailThread将此会话标记为不重要。
markUnread()GmailThread将此会话标记为未读。
moveToArchive()GmailThread将此会话移至“归档”。
moveToInbox()GmailThread将此会话移至收件箱。
moveToSpam()GmailThread将此会话移至“垃圾邮件”。
moveToTrash()GmailThread将此会话移至回收站。
refresh()GmailThread重新加载此会话以及来自 Gmail 的关联状态(在标签、读取状态等发生更改时非常有用)。
removeLabel(label)GmailThread将此标签从会话中移除。
reply(body)GmailThread使用 ReplyTo 地址回复此会话中最后一封邮件的发件人。
reply(body, options)GmailThread使用 ReplyTo 地址回复此会话上最后一封邮件的发件人,其中还带有一些可选参数。
replyAll(body)GmailThread回复此会话上最后一条消息的发件人(使用 ReplyTo 地址)以及所有收件人。
replyAll(body, options)GmailThread使用可选参数回复此会话上最后一条消息的发件人(使用 replyTo 地址)和所有收件人。

详细文档

addLabel(label)

将此标签添加到线程。

// Add label MyLabel to the first thread in the inbox
var label = GmailApp.getUserLabelByName("MyLabel");
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.addLabel(label);

参数

名称类型说明
labelGmailLabel要应用于此会话的标签

弃踢回攻

GmailThread - 此线程,可用于链接

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

另请参阅


createDraftReply(body)

使用回复地址创建消息草稿,回复此会话中最后一封邮件的发件人。电子邮件(包括标头)的大小受配额限制

// Create a draft reply to the message author with an acknowledgement.
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.createDraftReply("Got your message");

参数

名称类型说明
bodyString电子邮件正文

弃踢回攻

GmailDraft - 新创建的邮件草稿

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

另请参阅


createDraftReply(body, options)

使用回复地址和可选参数创建回复此会话中最后一封邮件的发件人的草稿邮件。

电子邮件可以同时包含纯文本和 HTML 正文。电子邮件(包括标头)的大小受配额限制

// Create a draft response with an HTML text body.
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.createDraftReply("incapable of HTML", {
  htmlBody: "<b>some HTML body text</b>",
  cc: "another@example.com"
});

参数

名称类型说明
bodyString电子邮件正文
optionsObject一个用于指定高级参数的 JavaScript 对象,如下所示

高级参数

名称类型说明
attachmentsBlobSource[]要随电子邮件发送的文件数组
bccString要密送至的一系列电子邮件地址(以英文逗号分隔)
ccString要抄送的电子邮件地址的逗号分隔列表
fromString发送电子邮件时应使用的地址,必须是 GmailApp.getAliases() 返回的值之一
htmlBodyString如果设置了该字段,能够呈现 HTML 的设备将使用它,而不是必需的 body 参数;如果您有用于电子邮件的内嵌图片,则可以在 HTML 正文中添加可选的 inlineImages 字段
inlineImagesObject一个 JavaScript 对象,其中包含从图片键 (String) 到图片数据 (BlobSource) 的映射;这假定使用 htmlBody 参数,并包含对 <img src="cid:imageKey" /> 格式这些图片的引用
nameString电子邮件发件人的姓名(默认值:用户的姓名)
replyToString用作默认回复地址的电子邮件地址(默认:用户的电子邮件地址)
subjectString电子邮件的新主题行(最多 250 个字符)

弃踢回攻

GmailDraft - 新创建的邮件草稿

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

另请参阅


createDraftReplyAll(body)

使用回复地址和此邮件的所有收件人创建回复此会话中最后一封邮件的发件人的草稿邮件。电子邮件(包括标头)的大小受配额限制

// Create a draft reply to all recipients (except those bcc'd) of the last email in this
// thread.
var firstThread = GmailApp.getInboxThreads(0,1)[0];
var message = firstThread.getMessages()[0];
message.createDraftReplyAll("Got your message");

参数

名称类型说明
bodyString电子邮件正文

弃踢回攻

GmailDraft - 新创建的邮件草稿

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

另请参阅


createDraftReplyAll(body, options)

使用回复地址和所有收件人和可选参数创建回复此会话中最后一封邮件的发件人的草稿邮件。

电子邮件可以同时包含纯文本和 HTML 正文。电子邮件(包括标头)的大小受配额限制

// Create a draft reply, using an HTML text body, to all recipients (except those bcc'd) of
// the last email of in this thread.
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.createDraftReplyAll("incapable of HTML", {
  htmlBody: "<b>some HTML body text</b>",
  cc: "another@example.com"
});

参数

名称类型说明
bodyString电子邮件正文
optionsObject一个用于指定高级参数的 JavaScript 对象,如下所示

高级参数

名称类型说明
attachmentsBlobSource[]要随电子邮件发送的文件数组
bccString要密送至的一系列电子邮件地址(以英文逗号分隔)
ccString要抄送的电子邮件地址的逗号分隔列表
fromString发送电子邮件时应使用的地址,必须是 GmailApp.getAliases() 返回的值之一
htmlBodyString如果设置了该字段,能够呈现 HTML 的设备将使用它,而不是必需的 body 参数;如果您有用于电子邮件的内嵌图片,则可以在 HTML 正文中添加可选的 inlineImages 字段
inlineImagesObject一个 JavaScript 对象,其中包含从图片键 (String) 到图片数据 (BlobSource) 的映射;这假定使用 htmlBody 参数,并包含对 <img src="cid:imageKey" /> 格式这些图片的引用
nameString电子邮件发件人的姓名(默认值:用户的姓名)
replyToString用作默认回复地址的电子邮件地址(默认:用户的电子邮件地址)
subjectString为电子邮件重新设定主题行。大小上限为 250 个字符。

弃踢回攻

GmailDraft - 新创建的邮件草稿

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

另请参阅


getFirstMessageSubject()

获取会话中第一条消息的主题。

// Log the subject of the first message in the first thread in the inbox
var firstThread = GmailApp.getInboxThreads(0,1)[0];
Logger.log(firstThread.getFirstMessageSubject());

弃踢回攻

String - 会话中第一条消息的主题

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

另请参阅


getId()

获取此线程的 ID。线程的 ID 因其包含的消息而异;为了保证线程中特定消息的一致 ID,请调用 getMessages()[0].getId()

// Log the subject of the first message in the first thread in the inbox.
var firstThread = GmailApp.getInboxThreads(0,1)[0];
var id = firstThread.getId();
// Get same thread by its ID.
var thread = GmailApp.getThreadById(id);
Logger.log(thread.getFirstMessageSubject() == firstThread.getFirstMessageSubject()); // True

弃踢回攻

String - 此线程的 ID


getLabels()

返回用户在此会话中创建的标签。

// Log the names of the labels attached to the first thread in the inbox
var firstThread = GmailApp.getInboxThreads(0,1)[0];
var labels = firstThread.getLabels();
for (var i = 0; i < labels.length; i++) {
  Logger.log(labels[i].getName());
}

弃踢回攻

GmailLabel[] - 此线程的标签数组

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

getLastMessageDate()

获取此会话最新消息的日期。

// Log the date of the most recent message on the first thread in the inbox
var firstThread = GmailApp.getInboxThreads(0,1)[0];
Logger.log(firstThread.getLastMessageDate());

弃踢回攻

Date - 会话中最新邮件的日期

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

另请参阅


getMessageCount()

返回线程中的消息数量。

// Log the number of messages in the thread
var firstThread = GmailApp.getInboxThreads(0,1)[0];
Logger.log(firstThread.getMessageCount());

弃踢回攻

Integer - 会话中的邮件数

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

另请参阅


getMessages()

获取此线程中的消息。

// Log the subjects of the messages in the thread
var firstThread = GmailApp.getInboxThreads(0,1)[0];
var messages = firstThread.getMessages();
for (var i = 0; i < messages.length; i++) {
  Logger.log(messages[i].getSubject());
}

弃踢回攻

GmailMessage[] - 此会话中的一组 Gmail 邮件

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

另请参阅


获取此线程的固定链接。

请注意,此功能仅适用于传统版 Gmail 界面,不适用于 Inbox。

// Logs the permalink for the first thread in the inbox
var thread = GmailApp.getInboxThreads(0,1)[0];
Logger.log(thread.getPermalink());

弃踢回攻

String - 此会话的固定链接


hasStarredMessages()

返回会话是否有任何已加星标的消息。

// Log if this thread has starred messages
var firstThread = GmailApp.getInboxThreads(0,1)[0];
Logger.log('has starred : ' + firstThread.hasStarredMessages());

弃踢回攻

Boolean - 如果会话中有已加星标的消息,则为 true

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

isImportant()

返回线程是否标记为重要。

// Log if this thread is marked as important
var firstThread = GmailApp.getInboxThreads(0,1)[0];
Logger.log('Important? : ' + firstThread.isImportant());

弃踢回攻

Boolean - 线程是否被标记为重要。

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

isInChats()

返回会话是否标记为聊天。

// Log if this thread is a chat
var firstThread = GmailApp.getInboxThreads(0,1)[0];
Logger.log('is in chats? : ' + firstThread.isInChats());

弃踢回攻

Boolean - 如果会话被标记为聊天,则为 true

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

isInInbox()

返回会话是否在收件箱中。

// Log if this thread is in the inbox
var firstThread = GmailApp.getInboxThreads(0,1)[0];
Logger.log('is in the inbox? : ' + firstThread.isInInbox());

弃踢回攻

Boolean - 如果会话在收件箱中,则为 true

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

isInPriorityInbox()

如果该会话位于优先收件箱中,则返回 true;否则返回 false。

// Log if this thread is in the priority inbox
var firstThread = GmailApp.getPriorityInboxThreads(0,1)[0];
Logger.log("is in priority inbox? " + firstThread.isInPriorityInbox());

弃踢回攻

Boolean - 如果会话在优先收件箱中,则为 true

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

isInSpam()

返回会话是否被标记为垃圾内容。

// Log if this thread is in the spam folder
var firstThread = GmailApp.getInboxThreads(0,1)[0];
Logger.log('Spam? ' + firstThread.isInSpam());

弃踢回攻

Boolean - 此会话是否被标记为垃圾内容。

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

isInTrash()

返回线程是否在回收站中。

// Log if this thread is in the trash
var firstThread = GmailApp.getInboxThreads(0,1)[0];
Logger.log('Trashed? ' + firstThread.isInTrash());

弃踢回攻

Boolean - 如果会话在回收站中,则为 true

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

isUnread()

返回线程是否有任何未读消息。

// Log if this thread is unread
var firstThread = GmailApp.getInboxThreads(0,1)[0];
Logger.log('Unread? ' + firstThread.isUnread());

弃踢回攻

Boolean - 如果有未读消息,则为 true

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

markImportant()

将此会话标记为重要。

// Mark first inbox thread as important
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.markImportant();

弃踢回攻

GmailThread - 此线程,可用于链接

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

另请参阅


markRead()

将此会话标记为已读。

// Mark first inbox thread as read
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.markRead();

弃踢回攻

GmailThread - 此线程,可用于链接

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

另请参阅


markUnimportant()

将此会话标记为不重要。

// Mark first inbox thread as unimportant
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.markUnimportant();

弃踢回攻

GmailThread - 此线程,可用于链接

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

另请参阅


markUnread()

将此会话标记为未读。

// Mark first inbox thread as unread
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.markUnread();

弃踢回攻

GmailThread - 此线程,可用于链接

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

另请参阅


moveToArchive()

将此会话移至“归档”。

// Archive first inbox thread
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.moveToArchive();

弃踢回攻

GmailThread - 此线程,可用于链接

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

moveToInbox()

将此会话移至收件箱。

// Move first non-inbox thread to inbox
var firstThread = GmailApp.search("-in:inbox")[0];
firstThread.moveToInbox();

弃踢回攻

GmailThread - 此线程,可用于链接

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

moveToSpam()

将此会话移至“垃圾邮件”。

// Move first inbox thread to spam
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.moveToSpam();

弃踢回攻

GmailThread - 此线程,可用于链接

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

moveToTrash()

将此会话移至回收站。

// Move first inbox thread to trash
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.moveToTrash();

弃踢回攻

GmailThread - 此线程,可用于链接

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

refresh()

重新加载此会话以及来自 Gmail 的关联状态(在标签、读取状态等发生更改时很有用)。

var firstThread = GmailApp.getInboxThreads(0,1)[0];
// ...Do something that may take a while here....
firstThread.refresh(); // Make sure it's up-to-date
// ...Do more stuff with firstThread ...

弃踢回攻

GmailThread - 此线程,可用于链接

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

removeLabel(label)

从线程中移除此标签。

var myLabel = GmailApp.getUserLabelByName('<your label>');
var threads = myLabel.getThreads();
for (var x in threads) {
  var thread = threads[x];
  thread.removeLabel(myLabel);
}

参数

名称类型说明
labelGmailLabel要从此会话中移除的标签

弃踢回攻

GmailThread - 此线程,可用于链接

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

另请参阅


reply(body)

使用 ReplyTo 地址回复此会话中最后一封邮件的发件人。

请注意,电子邮件的总大小(包括所有标头)不得超过 20KB。

// Respond to author of last email in thread with acknowledgment
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.reply("Got your message");

参数

名称类型说明
bodyString电子邮件正文

弃踢回攻

GmailThread - 此线程,可用于链接

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

另请参阅


reply(body, options)

使用 ReplyTo 地址回复此会话上最后一封邮件的发件人,其中还带有一些可选参数。该电子邮件可以同时包含纯文本和 HTML 正文。请注意,电子邮件的总大小(包括所有标头,但不包括附件)不能超过 20KB。

// Respond with HTML body text.
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.reply("incapable of HTML", {
  htmlBody: "some HTML body text",
  noReply: true
});

参数

名称类型说明
bodyString电子邮件正文
optionsObject一个用于指定高级参数的 JavaScript 对象,如下所示

高级参数

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

弃踢回攻

GmailThread - 此线程,可用于链接

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

另请参阅


replyAll(body)

回复此会话上最后一条消息的发件人(使用 ReplyTo 地址)和所有收件人。

请注意,电子邮件的总大小(包括所有标头)不得超过 20KB。

// Respond to all with acknowledgment to the first thread in the inbox
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.replyAll("Got your message");

参数

名称类型说明
bodyString电子邮件正文

弃踢回攻

GmailThread - 此线程,可用于链接

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

另请参阅


replyAll(body, options)

使用可选参数回复此会话上最后一条消息的发件人(使用 replyTo 地址)和所有收件人。电子邮件可以包含纯文本,也可以包含 HTML 正文。请注意,电子邮件的总大小(包括所有标头,但不包括附件)不能超过 20KB。

// Respond with HTML body text.
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.replyAll("incapable of HTML", {
  htmlBody: "some HTML body text",
  noReply: true
});

参数

名称类型说明
bodyString电子邮件正文
optionsObject一个用于指定高级参数的 JavaScript 对象,如下所示

高级参数

名称类型说明
ccString要抄送的电子邮件地址的逗号分隔列表
bccString密送至密送地址的逗号分隔列表
htmlBodyString如果设置了该字段,能够呈现 HTML 的设备将使用它,而不是必需的 body 参数;如果您有用于电子邮件的内嵌图片,则可以在 HTML 正文中添加可选的 inlineImages 字段
nameString电子邮件发件人的姓名(默认值:用户的姓名)
fromString发送电子邮件时应使用的地址,必须是 GmailApp.getAliases() 返回的值之一
replyToString用作默认回复地址的电子邮件地址(默认:用户的电子邮件地址)
noReplyBoolean如果电子邮件应通过无回复的通用电子邮件地址发送,则为 true,以防收件人回复电子邮件;此选项仅适用于 G Suite 账号,不适用于 Gmail 用户
attachmentsBlobSource[]要随电子邮件发送的文件数组
inlineImagesObject一个 JavaScript 对象,其中包含从图片键 (String) 到图片数据 (BlobSource) 的映射;这假定使用 htmlBody 参数,并包含对 <img src="cid:imageKey" /> 格式这些图片的引用

弃踢回攻

GmailThread - 此线程,可用于链接

授权

使用此方法的脚本需要获得以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

另请参阅