V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
alexkuang
V2EX  ›  分享发现

Gmail 邮件整理工具:转发域名邮箱,根据收件地址来自动整理邮件

  •  
  •   alexkuang · 258 天前 · 680 次点击
    这是一个创建于 258 天前的主题,其中的信息可能已经有所发展或是发生改变。

    其实两年前就发过一次了,只不过那次的代码经过一段时间使用发现有点问题,今天经过一番修改,并且完善了配置教程,在 GitHub 上面重新发布(之前发在 Gist )。

    以下是中文版 README ,用 ChatGPT 翻译的,时间所限没有精校。


    Gmail 邮件整理工具

    这是一个简单的 Google Apps Script,可以根据电子邮件地址帮助您整理邮件。

    此项目的灵感来自0x4447/0x4447_product_s3_email

    它是用来做什么的?

    该脚本会根据电子邮件所发送到的地址给邮件贴上标签。这需要您拥有一个域名以继续进行。

    例如,您拥有域名 example.com ,并且设置了一个电子邮件转发服务,比如 Forward EmailImprovMX ,将发送到*@relay.example.com的所有邮件转发到您的 Gmail 帐户。

    脚本将根据一组规则为您的邮件贴上标签。例如:

    发送到地址 标签
    [email protected] hello
    [email protected] helloworld
    [email protected] hello/worldworld作为hello的子标签)
    [email protected] hello/worldyo/wassup

    当然,您还可以轻松自定义标签分隔符(-)和级别分隔符(.)。

    使用方法

    1. 设置您的电子邮件转发服务(例如 Forward EmailImprovMX)。假设您选择的电子邮件转发域名是 relay.example.com。您应该设置一个捕获所有规则,将发送到任何 @relay.example.com 地址的邮件转发到您的 Gmail 。

    2. 创建一个 Gmail 过滤器。转到您的 Gmail 设置 → 过滤器和阻止的地址创建新的过滤器。创建一个过滤器,将发送到 *@relay.example.com 的邮件应用一个您选择的标签。(默认标签名称:relay

      set to address apply the label

    3. https://script.google.com/ 上创建一个 Google Apps Script 项目。将此项目的 ./Code.gs 中的所有内容复制并粘贴到您的 Google Apps Script 项目的 Code.gs 中,然后保存该项目。

      保存后,您应该手动运行项目至少一次,点击"Run"按钮,以便您授权脚本访问您的帐户。

      copy / paste and save

    4. 在“触发器”选项卡中创建 2 个触发器。要添加触发器,请单击页面右下角的“添加触发器”按钮。以下是两个函数的触发器的配置(您也可以参考提供的截屏):

      选择要运行的函数 labelMailsByAddress deleteUnusedLabels
      选择要运行的部署 Head Head
      选择事件源 基于时间 基于时间
      选择时间触发器类型 分钟定时器 小时定时器
      选择间隔 每 5 分钟(如果您想自定义此项,请参见自定义 每小时

      [!注意] 对于应用脚本,谷歌设置了时间限制。截至目前,每次执行限制为 6 分钟,每天限制为 90 分钟(来源)。此脚本已经经过优化,以避免超过时间限制。如果您有很多邮件并且出现“用户速率限制超出”等错误,或者如果您觉得时间间隔对您来说太长,请相应地调整时间间隔。

      "触发器"选项卡 函数"labelMailsByAddress"的触发器 函数"deleteUnusedLabels"的触发器

    5. 完成! 享受使用这个脚本吧!

    自定义

    您可以通过修改脚本顶部的 4 个常量来自定义脚本。

    代码截图

    1. PRIMARY_LABEL:如果您在步骤 2 中以不同的方式命名标签(不是 relay),请相应地更改该值。
    2. LABEL_SEPARATORLEVEL_SEPARATOR:如果您想要使用不同的符号来分隔电子邮件地址中的标签或子标签,请根据需要更改值。请记住,仅能选择允许的符号作为电子邮件地址的本地部分。
    3. TRIGGER_FREQUENCY_SECS:如果您为函数 labelMailsByAddress 设置了不同的触发间隔,请相应地进行更改。请注意,这里的单位是秒。

    许可证

    MIT © Ning Kuang, 2023.

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3061 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 14:51 · PVG 22:51 · LAX 07:51 · JFK 10:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.