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使用回复收件人地址回复此话题中最后一封邮件的发件人。
reply(body, options)GmailThread使用回复收件人地址回复此话题中最后一封邮件的发送者,并提供可选的参数。
replyAll(body)GmailThread回复发件人(使用回复收件人地址)以及此话题中最后一封邮件的所有收件人。
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 的设备将使用它(而非必需的正文参数);如果您有内嵌的电子邮件图片,则可以在 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 的设备将使用它(而非必需的正文参数);如果您有内嵌的电子邮件图片,则可以在 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 界面,而不适用于收件箱。

// 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)

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

请注意,电子邮件的总大小(包括所有标头)不得超过 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)

使用回复收件人地址回复此话题中最后一封邮件的发送者,并提供可选的参数。该电子邮件可以包含纯文本和 HTML 正文。请注意,电子邮件的总大小(包括所有标头,但不包括附件)不得超过 20 KB。

// 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 的设备将使用它(而非必需的正文参数);如果您有内嵌的电子邮件图片,则可以在 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)

回复发件人(使用回复收件人地址)以及此话题中最后一封邮件的所有收件人。

请注意,电子邮件的总大小(包括所有标头)不得超过 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 的设备将使用它(而非必需的正文参数);如果您有内嵌的电子邮件图片,则可以在 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/

另请参阅