提供对 Gmail 会话、邮件和标签的访问权限。
方法
详细文档
createDraft(recipient, subject, body)
创建电子邮件草稿。电子邮件(包括标头)的大小受配额限制。
// The code below creates a draft email with the current date and time. var now = new Date(); GmailApp.createDraft("mike@example.com", "current time", "The time is: " + now.toString());
参数
名称 | 类型 | 说明 |
---|---|---|
recipient | String | 以英文逗号分隔的电子邮件地址列表 |
subject | String | 电子邮件主题 |
body | String | 电子邮件正文 |
返回
GmailDraft
- 新创建的 GmailDraft
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
createDraft(recipient, subject, body, options)
使用可选参数创建电子邮件草稿。电子邮件可以包含纯文本或 HTML 正文。电子邮件的大小(包括标头,但不包括附件)受配额限制。
// Create a draft email with a file from Google Drive attached as a PDF. var file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz'); GmailApp.createDraft('mike@example.com', 'Attachment example', 'Please see attached file.', { 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 源代码。
所需的 body 参数;您可以在 HTML 中添加一个可选的 inlineImages 字段
body(如果您的电子邮件有内嵌图片) |
inlineImages | Object | 包含图片键映射的 JavaScript 对象
(String ) 对图片数据 (BlobSource );这里假定使用了 htmlBody 参数,并以 <img src="cid:imageKey" /> 格式包含对这些图片的引用 |
name | String | 电子邮件发件人的姓名(默认:用户的姓名) |
replyTo | String | 用作默认回复地址的电子邮件地址 (默认值:用户的电子邮件地址) |
返回
GmailDraft
- 新创建的 GmailDraft
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
createLabel(name)
创建给定名称的新用户标签。
// Creates the label @FOO and logs label: FOO Logger.log("label: " + GmailApp.createLabel("FOO"));
参数
名称 | 类型 | 说明 |
---|---|---|
name | String | 新标签的名称 |
返回
GmailLabel
- 新创建的标签
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
deleteLabel(label)
删除指定的标签。
// Have to get the label by name first var label = GmailApp.getUserLabelByName("FOO"); GmailApp.deleteLabel(label);
参数
名称 | 类型 | 说明 |
---|---|---|
label | GmailLabel | 要删除的标签 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
getAliases()
获取在 Gmail 中设置为此账号的别名的电子邮件列表。
您可以使用“发件人”设置,可选参数。
// Log the aliases for this Gmail account and send an email as the first one. var me = Session.getActiveUser().getEmail(); var aliases = GmailApp.getAliases(); Logger.log(aliases); if (aliases.length > 0) { GmailApp.sendEmail(me, 'From an alias', 'A message from an alias!', {'from': aliases[0]}); } else { GmailApp.sendEmail(me, 'No aliases found', 'You have no aliases.'); }
返回
String[]
- 此账号的别名数组
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
getDraft(draftId)
按 ID 检索电子邮件草稿。
在 Gmail 草稿中,将此参数与 getId() 一起使用。
// Get the first draft message in your drafts folder var draft = GmailApp.getDrafts()[0]; // Get its ID var draftId = draft.getId(); // Now fetch the same draft using that ID. var draftById = GmailApp.getDraft(draftId); // Should always log true as they should be the same message Logger.log(draft.getMessage().getSubject() == draftById.getMessage().getSubject());
参数
名称 | 类型 | 说明 |
---|---|---|
draftId | String | 要检索的草稿的 ID |
返回
GmailDraft
- 具有指定 ID 的草稿
抛出
Error
- 如果找不到具有指定 ID 的草稿
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
getDraftMessages()
检索所有草稿邮件。
// Logs the number of draft messages var drafts = GmailApp.getDraftMessages(); Logger.log(drafts.length);
返回
GmailMessage[]
- 一组 Gmail 邮件草稿
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
getDrafts()
获取所有 Gmail 草稿邮件。
var drafts = GmailApp.getDrafts(); for (var i = 0; i < drafts.length; i++) { Logger.log(drafts[i].getId()); }
返回
GmailDraft[]
- 一组 Gmail 草稿邮件
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
getInboxThreads()
检索所有收件箱会话(不考虑标签)。
当所有线程的大小都过大而无法系统处理时,此调用将失败。 如果线程大小未知,并且可能非常大,请使用“分页”调用和 指定要在每次调用中检索的线程范围。
// Log the subject lines of your Inbox var threads = GmailApp.getInboxThreads(); for (var i = 0; i < threads.length; i++) { Logger.log(threads[i].getFirstMessageSubject()); }
返回
GmailThread[]
- 收件箱中的一系列 Gmail 会话
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
getInboxThreads(start, max)
检索一系列收件箱会话(不考虑标签)。
// Log the subject lines of up to the first 50 emails in your Inbox var threads = 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("Messages unread in inbox: " + GmailApp.getInboxUnreadCount());
返回
Integer
- 收件箱中有未读邮件的会话串数量
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
getMessageById(id)
根据 ID 获取消息。
在 Gmail 邮件中与 getId() 结合使用。
// Get the first message in the first thread of your inbox var message = GmailApp.getInboxThreads(0, 1)[0].getMessages()[0]; // Get its ID var messageId = message.getId(); // Now fetch the same message using that ID. var messageById = GmailApp.getMessageById(messageId); // Should always log true as they should be the same message Logger.log(message.getSubject() == messageById.getSubject());
参数
名称 | 类型 | 说明 |
---|---|---|
id | String | 要检索的消息的 ID |
返回
GmailMessage
- 具有指定 ID 的消息
抛出
Error
- 如果找不到具有指定 ID 的消息
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
getMessagesForThread(thread)
检索指定会话中的所有邮件。
// Log all the subject lines in the first thread of your inbox 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].getSubject()); }
参数
名称 | 类型 | 说明 |
---|---|---|
thread | GmailThread | 要检索的邮件会话 |
返回
GmailMessage[]
- 与此会话对应的消息数组
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
getMessagesForThreads(threads)
检索指定会话中的所有邮件。
// Log the subject lines of all messages in the first two threads of your inbox var thread = GmailApp.getInboxThreads(0, 2); var messages = GmailApp.getMessagesForThreads(thread); for (var i = 0 ; i < messages.length; i++) { for (var j = 0; j < messages[i].length; j++) { Logger.log("subject: " + messages[i][j].getSubject()); } }
参数
名称 | 类型 | 说明 |
---|---|---|
threads | GmailThread[] | 要检索的邮件会话串 |
返回
GmailMessage[][]
- 一组消息数组,外部数组中的每一项都对应一个
线程,并且内部数组包含该线程中的消息
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
getPriorityInboxThreads()
检索所有优先收件箱会话(不考虑标签)。
当所有线程的大小都过大而无法系统处理时,此调用将失败。 如果线程大小未知,并且可能非常大,请使用“分页”调用和 指定要在每次调用中检索的线程范围。
Logger.log("# of messages in your Priority Inbox: " + GmailApp.getPriorityInboxThreads().length);
返回
GmailThread[]
- 优先收件箱中的一组 Gmail 会话
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
getPriorityInboxThreads(start, max)
检索一系列优先收件箱会话(不考虑标签)。
// Will log some number 2 or less Logger.log("# of messages in your Priority Inbox: " + GmailApp.getPriorityInboxThreads(0, 2).length);
参数
名称 | 类型 | 说明 |
---|---|---|
start | Integer | 要检索的第一个线程的索引 |
max | Integer | 要检索的最大线程数 |
返回
GmailThread[]
- 优先收件箱中的一组 Gmail 会话
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
getPriorityInboxUnreadCount()
获取优先收件箱中的未读会话邮件集数量。
Logger.log("Number of unread emails in your Priority Inbox : " + GmailApp.getPriorityInboxUnreadCount());
返回
Integer
- 优先收件箱中包含未读邮件的会话串数量
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
getSpamThreads()
检索所有垃圾邮件会话,不考虑标签。
当所有线程的大小都过大而无法系统处理时,此调用将失败。 如果线程大小未知,并且可能非常大,请使用“分页”调用和 指定要在每次调用中检索的线程范围。
Logger.log("# of total spam threads: " + GmailApp.getSpamThreads().length);
返回
GmailThread[]
- 垃圾邮件文件夹中的一组 Gmail 会话
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
getSpamThreads(start, max)
检索一系列垃圾邮件会话,而不考虑标签。
// Will log a number at most 5 Logger.log("# of total spam threads: " + GmailApp.getSpamThreads(0, 5).length);
参数
名称 | 类型 | 说明 |
---|---|---|
start | Integer | 要检索的第一个线程的索引 |
max | Integer | 要检索的最大线程数 |
返回
GmailThread[]
- 垃圾邮件文件夹中的一组 Gmail 会话
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
getSpamUnreadCount()
获取垃圾消息串的未读消息串数。
// Unless you actually read stuff in your spam folder, this should be the same as // the number of messages in your spam folder. Logger.log("# unread threads that are spam: " + GmailApp.getSpamUnreadCount());
返回
Integer
- 包含未读邮件的垃圾邮件会话串数量
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
getStarredThreads()
检索所有已加星标的主题帖(不考虑标签)。
当所有线程的大小都过大而无法系统处理时,此调用将失败。 如果线程大小未知,并且可能非常大,请使用“分页”调用和 指定要在每次调用中检索的线程范围。
// Logs the number of starred threads Logger.log("# Starred threads: " + GmailApp.getStarredThreads().length);
返回
GmailThread[]
- 已加星标的 Gmail 会话组
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
getStarredThreads(start, max)
检索一系列已加星标的会话,而不考虑标签。
// Logs the number of starred threads to a maximum of 5 Logger.log("# Starred threads: " + GmailApp.getStarredThreads(0, 5).length);
参数
名称 | 类型 | 说明 |
---|---|---|
start | Integer | 要检索的第一个线程的索引 |
max | Integer | 要检索的最大线程数 |
返回
GmailThread[]
- 已加星标的 Gmail 会话组
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
getStarredUnreadCount()
获取已加星标的未读线程数。
Logger.log("# unread and starred: " + GmailApp.getStarredUnreadCount());
返回
Integer
- 已加星标且包含未读邮件的会话串数量
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
getThreadById(id)
根据 ID 获取线程。
在 Gmail 线程中将此 ID 与 getId() 结合使用。
// Gets the first inbox thread. const firstThread = GmailApp.getInboxThreads(0,1)[0]; // Gets the same thread by ID. const threadById = GmailApp.getThreadById(firstThread.getId()); // Verifies that they are the same. console.log(firstThread.getFirstMessageSubject() === threadById.getFirstMessageSubject());
参数
名称 | 类型 | 说明 |
---|---|---|
id | String | 要检索的线程的 ID。 |
返回
GmailThread
- 具有指定 ID 的线程;如果未找到,则为 null
。
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
getTrashThreads()
检索所有已删除邮件会话(不考虑标签)。
当所有线程的大小都过大而无法系统处理时,此调用将失败。 如果线程大小未知,并且可能非常大,请使用“分页”调用和 指定要在每次调用中检索的线程范围。
Logger.log("# of total trash threads: " + GmailApp.getTrashThreads().length);
返回
GmailThread[]
- 回收站中的一组 Gmail 会话
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
getTrashThreads(start, max)
检索一系列回收站会话(而不考虑标签)。
// Will log a number at most 5 Logger.log("# of total trash threads: " + GmailApp.getTrashThreads(0, 5).length);
参数
名称 | 类型 | 说明 |
---|---|---|
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()
检索用户创建的标签列表。
// Logs all of the names of your labels var labels = GmailApp.getUserLabels(); for (var i = 0; i < labels.length; i++) { Logger.log("label: " + labels[i].getName()); }
返回
GmailLabel[]
- 用户创建的标签数组
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
markMessageRead(message)
将此邮件标记为已读并强制刷新邮件。
// Mark the first message in the first thread of your inbox as read var message = GmailApp.getInboxThreads(0, 1)[0].getMessages()[0]; GmailApp.markMessageRead(message);
参数
名称 | 类型 | 说明 |
---|---|---|
message | GmailMessage | 要标记为已读的消息 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
markMessageUnread(message)
将此邮件标记为未读并强制刷新该邮件。
// Mark the first message in the first thread of your inbox as unread var message = GmailApp.getInboxThreads(0, 1)[0].getMessages()[0]; GmailApp.markMessageUnread(message);
参数
名称 | 类型 | 说明 |
---|---|---|
message | GmailMessage | 要标记为未读的消息 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
markMessagesRead(messages)
将这些邮件标记为已读,并强制刷新这些邮件。
// Mark first three messages in the first inbox thread as read. // Assumes that the first inbox thread has 3 messages in it. 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)
将这些邮件标记为未读,并强制刷新这些邮件。
// Mark first three messages in the first inbox thread as unread. // Assumes that the first inbox thread has 3 messages in it 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)
将此会话标记为重要,并强制刷新此会话。
// Marks first inbox thread as important var thread = GmailApp.getInboxThreads(0, 1)[0]; GmailApp.markThreadImportant(thread);
参数
名称 | 类型 | 说明 |
---|---|---|
thread | GmailThread | 要标记为重要的会话 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
markThreadRead(thread)
将此线程标记为已读,并强制该线程刷新。
// Marks first inbox thread as read var thread = GmailApp.getInboxThreads(0, 1)[0]; GmailApp.markThreadRead(thread);
参数
名称 | 类型 | 说明 |
---|---|---|
thread | GmailThread | 要标记为已读的线程 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
markThreadUnimportant(thread)
将此会话标记为不重要,并强制该会话进行刷新。
// Marks first inbox thread as unimportant var thread = GmailApp.getInboxThreads(0, 1)[0]; GmailApp.markThreadUnimportant(thread);
参数
名称 | 类型 | 说明 |
---|---|---|
thread | GmailThread | 要标记为不重要的会话 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
markThreadUnread(thread)
将此会话串标记为未读,并强制该会话串刷新。
// Marks first inbox thread as unread var thread = GmailApp.getInboxThreads(0, 1)[0]; GmailApp.markThreadUnread(thread);
参数
名称 | 类型 | 说明 |
---|---|---|
thread | GmailThread | 要标记为未读的会话串 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
markThreadsImportant(threads)
将这些会话标记为重要,并强制刷新这些会话。
// Marks first two threads in inbox as important var threads = GmailApp.getInboxThreads(0, 2); GmailApp.markThreadsImportant(threads);
参数
名称 | 类型 | 说明 |
---|---|---|
threads | GmailThread[] | 要标记为重要的线程数组 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
markThreadsRead(threads)
将这些线程标记为已读,并强制这些线程进行刷新。
// Marks first two threads in inbox as read var threads = GmailApp.getInboxThreads(0, 2); GmailApp.markThreadsRead(threads);
参数
名称 | 类型 | 说明 |
---|---|---|
threads | GmailThread[] | 要标记为已读的线程数组 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
markThreadsUnimportant(threads)
将这些线程标记为不重要,并强制刷新这些线程。
// Marks first two threads in inbox as unimportant var threads = GmailApp.getInboxThreads(0, 2); GmailApp.markThreadsUnimportant(threads);
参数
名称 | 类型 | 说明 |
---|---|---|
threads | GmailThread[] | 要标记为不重要的线程数组 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
markThreadsUnread(threads)
将这些会话串标记为未读,并强制刷新这些会话串。
// Marks first two threads in inbox as unread var threads = GmailApp.getInboxThreads(0, 2); GmailApp.markThreadsUnread(threads);
参数
名称 | 类型 | 说明 |
---|---|---|
threads | GmailThread[] | 要标记为未读的线程数组 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
moveMessageToTrash(message)
将邮件移至“已删除邮件”并强制刷新邮件。
// Move the first message in your inbox to trash var firstThread = GmailApp.getInboxThreads(0,1)[0]; var firstMessage = firstThread.getMessages()[0]; GmailApp.moveMessageToTrash(firstMessage);
参数
名称 | 类型 | 说明 |
---|---|---|
message | GmailMessage | 要删除的邮件 |
返回
GmailApp
- Gmail 服务(用于链接)
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
moveMessagesToTrash(messages)
将指定邮件移至“已删除邮件”,并强制刷新这些邮件。
// Move first two messages in your inbox to trash var firstThread = GmailApp.getInboxThreads(0,1)[0]; var messages = firstThread.getMessages(); var toDelete = [messages[0], messages[1]]; GmailApp.moveMessagesToTrash(toDelete);
参数
名称 | 类型 | 说明 |
---|---|---|
messages | GmailMessage[] | 要删除的邮件 |
返回
GmailApp
- Gmail 服务(用于链接)
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
moveThreadToArchive(thread)
将此讨论帖移至归档,并强制此讨论帖进行刷新。
// Archive the first thread in your inbox var firstThread = GmailApp.getInboxThreads(0,1)[0]; GmailApp.moveThreadToArchive(firstThread);
参数
名称 | 类型 | 说明 |
---|---|---|
thread | GmailThread | 要归档的会话串 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
moveThreadToInbox(thread)
将此会话移至收件箱,并强制刷新此会话。
// Find a thread not already in your inbox var thread = GmailApp.search("-in:inbox")[0]; // Get the first one GmailApp.moveThreadToInbox(thread);
参数
名称 | 类型 | 说明 |
---|---|---|
thread | GmailThread | 要移至收件箱的会话 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
moveThreadToSpam(thread)
将此会话移至“垃圾内容”文件夹,并强制刷新此会话。
// Tag first thread in inbox as spam var firstThread = GmailApp.getInboxThreads(0,1)[0]; GmailApp.moveThreadToSpam(firstThread);
参数
名称 | 类型 | 说明 |
---|---|---|
thread | GmailThread | 要移至“垃圾邮件”的会话串 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
moveThreadToTrash(thread)
将此会话移至回收站,并强制刷新该会话。
// Move first thread in inbox to trash var firstThread = GmailApp.getInboxThreads(0,1)[0]; GmailApp.moveThreadToTrash(firstThread);
参数
名称 | 类型 | 说明 |
---|---|---|
thread | GmailThread | 要删除的会话串 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
moveThreadsToArchive(threads)
将这些会话移至归档,并强制刷新这些会话。
// Move first two threads in your inbox to the archive var firstTwoThreads = GmailApp.getInboxThreads(0,2); GmailApp.moveThreadsToArchive(firstTwoThreads);
参数
名称 | 类型 | 说明 |
---|---|---|
threads | GmailThread[] | 要归档的线程数组 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
moveThreadsToInbox(threads)
将这些会话移至收件箱,并强制刷新这些会话。
// Find two threads not already in your inbox var firstTwoThreads = GmailApp.search("-in:inbox", 0, 2); GmailApp.moveThreadsToInbox(firstTwoThreads);
参数
名称 | 类型 | 说明 |
---|---|---|
threads | GmailThread[] | 要移至收件箱的会话的数组 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
moveThreadsToSpam(threads)
将这些会话移至“垃圾邮件”,并强制刷新这些会话。
// Move first two threads in your inbox to spam var firstTwoThreads = GmailApp.getInboxThreads(0,2); GmailApp.moveThreadsToSpam(firstTwoThreads);
参数
名称 | 类型 | 说明 |
---|---|---|
threads | GmailThread[] | 要移至“垃圾内容”的讨论帖数组 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
moveThreadsToTrash(threads)
将这些会话移至回收站,并强制刷新这些会话。
// Move first two threads in your inbox to trash var firstTwoThreads = GmailApp.getInboxThreads(0,2); GmailApp.moveThreadsToTrash(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]; // ...Do something that may take a while here.... GmailApp.refreshMessage(firstMessage); // ...Do more stuff with firstMessage...
参数
名称 | 类型 | 说明 |
---|---|---|
message | GmailMessage | 要刷新的消息 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
refreshMessages(messages)
重新加载来自 Gmail 的邮件和关联状态(对于标签、读取状态、 已更改)。
var firstThread = GmailApp.getInboxThreads(0,1)[0]; var coupleOfMessages = firstThread.getMessages().slice(0, 2); // ...Do something that may take a while here.... GmailApp.refreshMessages(coupleOfMessages); // ...Do more stuff with coupleOfMessages...
参数
名称 | 类型 | 说明 |
---|---|---|
messages | GmailMessage[] | 要刷新的消息 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
refreshThread(thread)
从 Gmail 重新加载会话和关联状态(对于标签、读取状态、 已更改)。
var firstThread = GmailApp.getInboxThreads(0,1)[0]; // ...Do something that may take a while here.... GmailApp.refreshThread(firstThread); // ... Do more stuff with the thread ...
参数
名称 | 类型 | 说明 |
---|---|---|
thread | GmailThread | 要刷新的会话串 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
refreshThreads(threads)
重新加载 Gmail 中的会话和关联状态(对于标签、读取状态、 已更改)。
var threads = GmailApp.getInboxThreads(0, 3); // ...Do something that may take a while here.... GmailApp.refreshThreads(threads); // ... Do more stuff with threads ...
参数
名称 | 类型 | 说明 |
---|---|---|
threads | GmailThread[] | 要刷新的线程 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
search(query)
使用给定查询搜索 Gmail。
当所有线程的大小都过大而无法系统处理时,此调用将失败。 如果线程大小未知,并且可能非常大,请使用“分页”调用和 指定要在每次调用中检索的线程范围。
// Find starred messages with subject IMPORTANT var threads = GmailApp.search('is:starred subject:"IMPORTANT"');
参数
名称 | 类型 | 说明 |
---|---|---|
query | String | 就像您在 Gmail 中输入的一样 |
返回
GmailThread[]
- 与此查询匹配的 Gmail 会话数组
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
search(query, start, max)
使用给定查询搜索 Gmail。
// Find starred messages with subject IMPORTANT and return second batch of 10. // Assumes there are at least 11 of them, otherwise this will return an empty array. var threads = GmailApp.search('is:starred subject:"IMPORTANT"', 10, 10);
参数
名称 | 类型 | 说明 |
---|---|---|
query | String | 就像您在 Gmail 中输入的一样 |
start | Integer | 起始线程的索引 |
max | Integer | 要返回的最大线程数 |
返回
GmailThread[]
- 与此查询匹配的 Gmail 会话数组
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
sendEmail(recipient, subject, body)
发送电子邮件。电子邮件(包括标头)的大小受配额限制。
// The code below will send an email with the current date and time. var now = new Date(); GmailApp.sendEmail("mike@example.com", "current time", "The time is: " + now.toString());
参数
名称 | 类型 | 说明 |
---|---|---|
recipient | String | 以英文逗号分隔的电子邮件地址列表 |
subject | String | 电子邮件主题(最多 250 个字符) |
body | String | 电子邮件正文 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
sendEmail(recipient, subject, body, options)
发送带有可选参数的电子邮件。电子邮件可以包含纯文本或 HTML 正文。电子邮件的大小(包括标头,但不包括附件)受配额限制。
// Send an email with a file from Google Drive attached as a PDF. var file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz'); GmailApp.sendEmail('mike@example.com', 'Attachment example', 'Please see the attached file.', { 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 源代码。
所需的 body 参数;您可以在 HTML 中添加一个可选的 inlineImages 字段
body(如果您的电子邮件有内嵌图片) |
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); // Do something with mailMessage }
参数
名称 | 类型 | 说明 |
---|---|---|
accessToken | String | 从 Gmail 插件操作事件对象获取的临时访问令牌。 |
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
starMessage(message)
为此邮件加注星标并强制刷新邮件。
// Stars the first message in the first thread in your inbox 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)
为这些邮件添加星标,并强制刷新这些邮件。
// Stars the first three messages in the first thread in your inbox var firstThread = GmailApp.getInboxThreads(0,1)[0]; var coupleOfMessages = firstThread.getMessages().slice(0, 3); GmailApp.starMessages(coupleOfMessages);
参数
名称 | 类型 | 说明 |
---|---|---|
messages | GmailMessage[] | 要加星标的邮件的数组 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/
另请参阅
unstarMessage(message)
删除此邮件的星标并强制刷新邮件。
// Unstars the first message in the first thread in your inbox 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)
移除这些邮件的星标并强制刷新邮件。
// Unstars the first three messages in the first thread in your inbox var firstThread = GmailApp.getInboxThreads(0,1)[0]; var coupleOfMessages = firstThread.getMessages().slice(0, 3); GmailApp.unstarMessages(coupleOfMessages);
参数
名称 | 类型 | 说明 |
---|---|---|
messages | GmailMessage[] | 一组要取消星标的邮件 |
返回
GmailApp
- Gmail 服务,可用于进行链接
授权
使用此方法的脚本需要以下一个或多个范围或相关 REST API 的适当范围的授权:
-
https://mail.google.com/