本文說明如何在 Gmail API 中使用篩選器。
您可以使用 settings.filters 資源,為帳戶設定進階篩選規則。篩選器可根據收到的訊息的屬性或內容,自動新增或移除標籤,或將電子郵件轉寄至已驗證的別名。
如要瞭解如何建立、列出、取得或刪除 Gmail 篩選器,請參閱settings.filters資源。
比對條件
依寄件者、主旨、日期、大小和郵件內容等屬性篩選郵件。篩選器只會套用至特定郵件,不會套用至整個電子郵件會話串。您也可以在篩選器中使用任何採用 Gmail 進階搜尋語法的查詢。舉例來說,常見的篩選器模式包括:
| 篩選器 | 配對組合 |
|---|---|
criteria.from='sender@example.com' |
sender@example.com寄來的電子郵件 |
criteria.size=10485760criteria.sizeComparison='larger' |
超過 10 MB 的電子郵件 |
criteria.hasAttachment=true |
含有附件的電子郵件 |
criteria.subject='[People with Pets]' |
主旨含有 [People with Pets] 的電子郵件 |
criteria.query='"my important project"' |
包含 my important project 的電子郵件 |
criteria.negatedQuery='"secret knock"' |
不含「secret knock」的電子郵件 |
如果篩選器中有多個條件,訊息必須符合所有條件,系統才會套用篩選器。
動作
將Action套用至符合篩選條件的郵件。有了 Action,您就能將訊息轉寄至已驗證的電子郵件地址,或是新增及移除標籤。
新增或移除標籤,即可變更電子郵件的處置方式。舉例來說,常見的動作包括:
| 動作 | 效果 |
|---|---|
action.removeLabelIds=['INBOX'] |
封存電子郵件 (略過收件匣) |
action.removeLabelIds=['UNREAD'] |
標示為已讀取 |
action.removeLabelIds=['SPAM'] |
永不標示為垃圾內容 |
action.removeLabelIds=['IMPORTANT'] |
永不標示為重要 |
action.addLabelIds=['IMPORTANT'] |
標示為重要 |
action.addLabelIds=['TRASH'] |
刪除電子郵件 |
action.addLabelIds=['STARRED'] |
標示為已加星號 |
action.addLabelIds=['<user label id>'] |
為郵件加上使用者定義的標籤。每個篩選條件只能有一個使用者定義的標籤。 |
程式碼範例
下列程式碼範例說明如何為郵寄清單中的郵件加上標籤並封存: