Class GmailApp

GmailApp

提供 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)

建立電子郵件草稿。電子郵件 (包括標頭) 的大小有限

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

參數

名稱類型說明
recipientString以半形逗號分隔的電子郵件地址清單
subjectString電子郵件主旨
bodyString電子郵件內文

回攻員

GmailDraft:新建立的 Gmail 草稿

授權

使用這個方法的指令碼需要授權下列一或多個範圍相關 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'
});

參數

名稱類型說明
recipientString收件者的地址
subjectString主旨行
bodyString電子郵件內文
optionsObject指定進階參數的 JavaScript 物件,如下所示

進階參數

名稱類型說明
attachmentsBlobSource[]換 要隨電子郵件傳送的檔案陣列
bccString以逗號分隔的密件副本電子郵件地址清單
ccString列出要接收副本的電子郵件地址,以半形逗號分隔
fromString電子郵件的寄件地址 (必須是一個地址) 符合 getAliases() 所傳回值的百分比
htmlBodyString設定後,能夠轉譯 HTML 的裝置會改用這個程式碼 所需的 body 引數之一;您可以視需要在 HTML 中新增 inlineImages 欄位 電子郵件內文 (如果電子郵件含有內嵌圖片)
inlineImagesObject包含來自圖片鍵對應的 JavaScript 物件 (String) 轉換為圖片資料 (BlobSource);此情況假設使用 htmlBody 參數,且包含這些圖片的參照,格式為 <img src="cid:imageKey" />
nameString電子郵件寄件者的名稱 (預設:使用者名稱)
replyToString設為預設回覆地址的電子郵件地址 (預設:使用者的電子郵件地址)

回攻員

GmailDraft:新建立的 Gmail 草稿

授權

使用這個方法的指令碼需要授權下列一或多個範圍相關 REST API 中的適當範圍:

  • https://mail.google.com/

另請參閱


createLabel(name)

以指定名稱建立新的使用者標籤。

// Creates the label @FOO and logs label: FOO
Logger.log("label: " + GmailApp.createLabel("FOO"));

參數

名稱類型說明
nameString新標籤的名稱

回攻員

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

參數

名稱類型說明
labelGmailLabel要刪除的標籤

回攻員

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());

參數

名稱類型說明
draftIdString要擷取的草稿 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()

擷取所有收件匣討論串 (無論標籤為何)。

如果所有執行緒的大小都過大,導致系統無法處理,這項呼叫就會失敗。 若是未知執行緒大小且可能非常龐大的情況,請使用「paged」呼叫和 指定每個呼叫中要擷取的執行緒範圍。

// 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());
}

參數

名稱類型說明
startInteger要擷取的第一個執行緒索引
maxInteger要擷取的執行緒數量上限

回攻員

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());

參數

名稱類型說明
idString要擷取的訊息 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());
}

參數

名稱類型說明
threadGmailThread要擷取的訊息討論串

回攻員

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());
  }
}

參數

名稱類型說明
threadsGmailThread[]要擷取的訊息執行緒

回攻員

GmailMessage[][] — 訊息陣列的陣列,其中外部陣列中的每個項目都與 而內部陣列包含該執行緒中的訊息

授權

使用這個方法的指令碼需要授權下列一或多個範圍相關 REST API 中的適當範圍:

  • https://mail.google.com/

另請參閱


getPriorityInboxThreads()

擷取所有優先收件匣討論串 (無論標籤為何)。

如果所有執行緒的大小都過大,導致系統無法處理,這項呼叫就會失敗。 若是未知執行緒大小且可能非常龐大的情況,請使用「paged」呼叫和 指定每個呼叫中要擷取的執行緒範圍。

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

參數

名稱類型說明
startInteger要擷取的第一個執行緒索引
maxInteger要擷取的執行緒數量上限

回攻員

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

擷取所有垃圾郵件討論串,無論如何標示標籤為何。

如果所有執行緒的大小都過大,導致系統無法處理,這項呼叫就會失敗。 若是未知執行緒大小且可能非常龐大的情況,請使用「paged」呼叫和 指定每個呼叫中要擷取的執行緒範圍。

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

參數

名稱類型說明
startInteger要擷取的第一個執行緒索引
maxInteger要擷取的執行緒數量上限

回攻員

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

擷取所有已加星號的討論串 (無論標籤為何)。

如果所有執行緒的大小都過大,導致系統無法處理,這項呼叫就會失敗。 若是未知執行緒大小且可能非常龐大的情況,請使用「paged」呼叫和 指定每個呼叫中要擷取的執行緒範圍。

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

參數

名稱類型說明
startInteger要擷取的第一個執行緒索引
maxInteger要擷取的執行緒數量上限

回攻員

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 執行緒上的 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());

參數

名稱類型說明
idString要擷取的執行緒 ID。

回攻員

GmailThread:找不到具有指定 ID 的執行緒,如果找不到,則為 null

授權

使用這個方法的指令碼需要授權下列一或多個範圍相關 REST API 中的適當範圍:

  • https://mail.google.com/

另請參閱


getTrashThreads()

擷取所有垃圾桶討論串 (無論標籤為何)。

如果所有執行緒的大小都過大,導致系統無法處理,這項呼叫就會失敗。 若是未知執行緒大小且可能非常龐大的情況,請使用「paged」呼叫和 指定每個呼叫中要擷取的執行緒範圍。

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

參數

名稱類型說明
startInteger要擷取的第一個執行緒索引
maxInteger要擷取的執行緒數量上限

回攻員

GmailThread[]:垃圾桶中的 Gmail 討論串陣列

授權

使用這個方法的指令碼需要授權下列一或多個範圍相關 REST API 中的適當範圍:

  • https://mail.google.com/

getUserLabelByName(name)

擷取指定標籤名稱的標籤。

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

參數

名稱類型說明
nameString要擷取的標籤名稱

回攻員

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

參數

名稱類型說明
messageGmailMessage要標示為已讀取的訊息

回攻員

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

參數

名稱類型說明
messageGmailMessage以便標示為未讀取的訊息

回攻員

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());

參數

名稱類型說明
messagesGmailMessage[]要標示為已讀取的訊息陣列

回攻員

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());

參數

名稱類型說明
messagesGmailMessage[]要標示為未讀取的郵件陣列

回攻員

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

參數

名稱類型說明
threadGmailThread要標示為重要的討論串

回攻員

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

參數

名稱類型說明
threadGmailThread要標示為已讀取的執行緒

回攻員

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

參數

名稱類型說明
threadGmailThread要標示為不重要的執行緒

回攻員

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

參數

名稱類型說明
threadGmailThread要標示為未讀取的討論串

回攻員

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

參數

名稱類型說明
threadsGmailThread[]要標示為重要的執行緒陣列

回攻員

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

參數

名稱類型說明
threadsGmailThread[]要標示為已讀取的執行緒陣列

回攻員

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

參數

名稱類型說明
threadsGmailThread[]要標示為不重要的執行緒陣列

回攻員

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

參數

名稱類型說明
threadsGmailThread[]要標示為未讀取的執行緒陣列

回攻員

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

參數

名稱類型說明
messageGmailMessage要移至垃圾桶的訊息

回攻員

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

參數

名稱類型說明
messagesGmailMessage[]要移至垃圾桶的郵件

回攻員

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

參數

名稱類型說明
threadGmailThread要封存的討論串

回攻員

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

參數

名稱類型說明
threadGmailThread要移至收件匣的討論串

回攻員

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

參數

名稱類型說明
threadGmailThread要移至垃圾內容的討論串

回攻員

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

參數

名稱類型說明
threadGmailThread要移至垃圾桶的討論串

回攻員

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

參數

名稱類型說明
threadsGmailThread[]要封存的討論串陣列

回攻員

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

參數

名稱類型說明
threadsGmailThread[]要移至收件匣的討論串陣列

回攻員

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

參數

名稱類型說明
threadsGmailThread[]要移至垃圾內容的討論串陣列

回攻員

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

參數

名稱類型說明
threadsGmailThread[]要移至垃圾桶的討論串陣列

回攻員

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...

參數

名稱類型說明
messageGmailMessage要重新整理的訊息

回攻員

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...

參數

名稱類型說明
messagesGmailMessage[]要重新整理的訊息

回攻員

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 ...

參數

名稱類型說明
threadGmailThread要重新整理的討論串

回攻員

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 ...

參數

名稱類型說明
threadsGmailThread[]要重新整理的討論串

回攻員

GmailApp:Gmail 服務,適合用於鏈結

授權

使用這個方法的指令碼需要授權下列一或多個範圍相關 REST API 中的適當範圍:

  • https://mail.google.com/

另請參閱


search(query)

根據特定查詢搜尋 Gmail。

如果所有執行緒的大小都過大,導致系統無法處理,這項呼叫就會失敗。 若是未知執行緒大小且可能非常龐大的情況,請使用「paged」呼叫和 指定每個呼叫中要擷取的執行緒範圍。

// Find starred messages with subject IMPORTANT
var threads = GmailApp.search('is:starred subject:"IMPORTANT"');

參數

名稱類型說明
queryString搜尋查詢,就像在 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);

參數

名稱類型說明
queryString搜尋查詢,就像在 Gmail 中輸入關鍵字一樣
startInteger起始執行緒索引
maxInteger要傳回的執行緒數量上限

回攻員

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());

參數

名稱類型說明
recipientString以半形逗號分隔的電子郵件地址清單
subjectString電子郵件主旨 (最多 250 個字元)
bodyString電子郵件內文

回攻員

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'
});

參數

名稱類型說明
recipientString收件者的地址
subjectString主旨行 (最多 250 個字元)
bodyString電子郵件內文
optionsObject指定進階參數的 JavaScript 物件,如下所示

進階參數

名稱類型說明
attachmentsBlobSource[]換 要隨電子郵件傳送的檔案陣列
bccString以逗號分隔的密件副本電子郵件地址清單
ccString列出要接收副本的電子郵件地址,以半形逗號分隔
fromString電子郵件的寄件地址 (必須是一個地址) 符合 getAliases() 所傳回值的百分比
htmlBodyString設定後,能夠轉譯 HTML 的裝置會改用這個程式碼 所需的 body 引數之一;您可以視需要在 HTML 中新增 inlineImages 欄位 電子郵件內文 (如果電子郵件含有內嵌圖片)
inlineImagesObject包含來自圖片鍵對應的 JavaScript 物件 (String) 轉換為圖片資料 (BlobSource);此情況假設使用 htmlBody 參數,且包含這些圖片的參照,格式為 <img src="cid:imageKey" />
nameString電子郵件寄件者的名稱 (預設:使用者名稱)
noReplyBooleantrue 如果應從一般電子郵件寄出 請勿回覆電子郵件,勸阻收件者回覆電子郵件。這個選項 僅適用於 Google Workspace 帳戶,Gmail 使用者
replyToString設為預設回覆地址的電子郵件地址 (預設:使用者的電子郵件地址)

回攻員

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
}

參數

名稱類型說明
accessTokenString從 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);

參數

名稱類型說明
messageGmailMessage要加上星號的訊息

回攻員

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

參數

名稱類型說明
messagesGmailMessage[]要加上星號的訊息陣列

回攻員

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

參數

名稱類型說明
messageGmailMessage要移除星號的訊息

回攻員

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

參數

名稱類型說明
messagesGmailMessage[]待移除郵件陣列

回攻員

GmailApp:Gmail 服務,適合用於鏈結

授權

使用這個方法的指令碼需要授權下列一或多個範圍相關 REST API 中的適當範圍:

  • https://mail.google.com/

另請參閱

已淘汰的方法