本文档介绍了如何在 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>'] |
使用用户定义的标签标记邮件。每个过滤条件只能包含一个用户定义的标签。 |
代码示例
以下代码示例展示了如何标记和归档邮件列表中的邮件: