提供 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
:新建立的 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' });
參數
名稱 | 類型 | 說明 |
---|---|---|
recipient | String | 收件者地址 |
subject | String | 主旨行 |
body | String | 電子郵件內文 |
options | Object | 指定進階參數的 JavaScript 物件,如下所示 |
進階參數
名稱 | 類型 | 說明 |
---|---|---|
attachments | BlobSource[] | 要與電子郵件一併傳送的檔案陣列 |
bcc | String | 列出密件副本收件者的電子郵件地址清單 (以半形逗號分隔) |
cc | String | 要接收副本的電子郵件地址清單 (以半形逗號分隔) |
from | String | 電子郵件傳送來源,必須是 getAliases() 傳回的其中一個值 |
htmlBody | String | 設定後,能夠轉譯 HTML 的裝置就會使用這個引數,而非必要的主體引數。如果電子郵件含有內嵌圖片,您可以在 HTML 內文中加入選用的 inlineImages 欄位 |
inlineImages | Object | 包含圖片索引鍵 (String ) 和圖片資料 (BlobSource ) 對應關係的 JavaScript 物件;這是假設使用的是 htmlBody 參數,且包含以 <img src="cid:imageKey" /> 格式參照這些圖片的參照 |
name | String | 電子郵件寄件者的名稱 (預設:使用者名稱) |
replyTo | String | 做為預設回覆地址的電子郵件地址 (預設:使用者的電子郵件地址) |
回攻
GmailDraft
:新建立的 Gmail 草稿
授權
使用這個方法的指令碼需要透過下列一或多個範圍或相關 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 中設為這個帳戶別名的電子郵件清單。
你可以使用「from」選用引數,從這些別名傳送郵件。
// 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()
擷取所有收件匣會話串,無論標籤為何。
如果所有執行緒的大小過大,系統無法處理,這項呼叫就會失敗。如果執行緒大小不明 (可能非常龐大),請使用「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()); }
參數
名稱 | 類型 | 說明 |
---|---|---|
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()
擷取所有「優先收件匣」會話串,無論標籤為何。
如果所有執行緒的大小過大,系統無法處理,這項呼叫就會失敗。如果執行緒大小不明 (可能非常龐大),請使用「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);
參數
名稱 | 類型 | 說明 |
---|---|---|
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()
擷取所有垃圾郵件執行緒 (不限標籤)。
如果所有執行緒的大小過大,系統無法處理,這項呼叫就會失敗。如果執行緒大小不明 (可能非常龐大),請使用「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);
參數
名稱 | 類型 | 說明 |
---|---|---|
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()
擷取所有已加星號的執行緒,不受標籤影響。
如果所有執行緒的大小過大,系統無法處理,這項呼叫就會失敗。如果執行緒大小不明 (可能非常龐大),請使用「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);
參數
名稱 | 類型 | 說明 |
---|---|---|
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 會話串中搭配 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()
擷取所有標籤 (不論標籤為何)。
如果所有執行緒的大小過大,系統無法處理,這項呼叫就會失敗。如果執行緒大小不明 (可能非常龐大),請使用「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);
參數
名稱 | 類型 | 說明 |
---|---|---|
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。
如果所有執行緒的大小過大,系統無法處理,這項呼叫就會失敗。如果執行緒大小不明 (可能非常龐大),請使用「paged」呼叫,並在每次呼叫中指定要擷取的執行緒範圍。
// 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 內文中加入選用的 inlineImages 欄位 |
inlineImages | Object | 包含圖片索引鍵 (String ) 和圖片資料 (BlobSource ) 對應關係的 JavaScript 物件;這是假設使用的是 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/