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回复发件人(使用 HelpTo 地址)以及与此主题中最近一封电子邮件的所有收件人 线程。
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 源代码。 所需的 body 参数;您可以在 HTML 中添加一个可选的 inlineImages 字段 body(如果您的电子邮件有内嵌图片)
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 源代码。 所需的 body 参数;您可以在 HTML 中添加一个可选的 inlineImages 字段 body(如果您的电子邮件有内嵌图片)
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 的设备将改用 HTML 源代码。 所需的 body 参数;您可以在 HTML 中添加一个可选的 inlineImages 字段 body(如果您的电子邮件有内嵌图片)
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)

回复发件人(使用 HelpTo 地址)以及与此主题中最近一封电子邮件的所有收件人 线程。

请注意,电子邮件(包括所有标头)的总大小不得超过 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 源代码。 所需的 body 参数;您可以在 HTML 中添加一个可选的 inlineImages 字段 body(如果您的电子邮件有内嵌图片)
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/

另请参阅