其实两年前就发过一次了,只不过那次的代码经过一段时间使用发现有点问题,今天经过一番修改,并且完善了配置教程,在 GitHub 上面重新发布(之前发在 Gist )。
以下是中文版 README ,用 ChatGPT 翻译的,时间所限没有精校。
这是一个简单的 Google Apps Script,可以根据电子邮件地址帮助您整理邮件。
此项目的灵感来自0x4447/0x4447_product_s3_email。
该脚本会根据电子邮件所发送到的地址给邮件贴上标签。这需要您拥有一个域名以继续进行。
例如,您拥有域名 example.com
,并且设置了一个电子邮件转发服务,比如 Forward Email 或 ImprovMX ,将发送到*@relay.example.com
的所有邮件转发到您的 Gmail 帐户。
脚本将根据一组规则为您的邮件贴上标签。例如:
发送到地址 | 标签 |
---|---|
[email protected] |
hello |
[email protected] |
hello 和 world |
[email protected] |
hello/world (world 作为hello 的子标签) |
[email protected] |
hello/world 和 yo/wassup |
当然,您还可以轻松自定义标签分隔符(-
)和级别分隔符(.
)。
设置您的电子邮件转发服务(例如 Forward Email 或 ImprovMX)。假设您选择的电子邮件转发域名是 relay.example.com
。您应该设置一个捕获所有规则,将发送到任何 @relay.example.com
地址的邮件转发到您的 Gmail 。
创建一个 Gmail 过滤器。转到您的 Gmail 设置 → 过滤器和阻止的地址
→ 创建新的过滤器
。创建一个过滤器,将发送到 *@relay.example.com
的邮件应用一个您选择的标签。(默认标签名称:relay
)
在 https://script.google.com/ 上创建一个 Google Apps Script 项目。将此项目的 ./Code.gs 中的所有内容复制并粘贴到您的 Google Apps Script 项目的 Code.gs
中,然后保存该项目。
保存后,您应该手动运行项目至少一次,点击"Run"按钮,以便您授权脚本访问您的帐户。
在“触发器”选项卡中创建 2 个触发器。要添加触发器,请单击页面右下角的“添加触发器”按钮。以下是两个函数的触发器的配置(您也可以参考提供的截屏):
选择要运行的函数 | labelMailsByAddress |
deleteUnusedLabels |
---|---|---|
选择要运行的部署 | Head | Head |
选择事件源 | 基于时间 | 基于时间 |
选择时间触发器类型 | 分钟定时器 | 小时定时器 |
选择间隔 | 每 5 分钟(如果您想自定义此项,请参见自定义) | 每小时 |
[!注意] 对于应用脚本,谷歌设置了时间限制。截至目前,每次执行限制为 6 分钟,每天限制为 90 分钟(来源)。此脚本已经经过优化,以避免超过时间限制。如果您有很多邮件并且出现“用户速率限制超出”等错误,或者如果您觉得时间间隔对您来说太长,请相应地调整时间间隔。
完成! 享受使用这个脚本吧!
您可以通过修改脚本顶部的 4 个常量来自定义脚本。
PRIMARY_LABEL
:如果您在步骤 2 中以不同的方式命名标签(不是 relay
),请相应地更改该值。LABEL_SEPARATOR
和LEVEL_SEPARATOR
:如果您想要使用不同的符号来分隔电子邮件地址中的标签或子标签,请根据需要更改值。请记住,仅能选择允许的符号作为电子邮件地址的本地部分。TRIGGER_FREQUENCY_SECS
:如果您为函数 labelMailsByAddress
设置了不同的触发间隔,请相应地进行更改。请注意,这里的单位是秒。MIT © Ning Kuang, 2023.