opdavies/gmail-filter-builder

此软件包已被放弃且不再维护。未建议替代软件包。

生成 XML 文件以导入 Gmail 过滤器。

2.4.0 2020-07-11 00:26 UTC

README

Build Status

此库允许您使用 PHP 定义 Gmail 过滤器,然后生成可以导入到 Gmail 过滤器设置中的 XML 文件。

灵感来源于 https://github.com/antifuchs/gmail-britta

安装和基本用法

步骤 1: 引入库

composer require opdavies/gmail-filter-builder

步骤 2: 创建您的过滤器文件

创建一个名为 filters.php 的文件,该文件返回一个包含 Filter 对象的数组。

例如

<?php

require_once __DIR__.'/vendor/autoload.php';

return [
    // Add your filters.
];

步骤 3: 生成 XML

运行 ./vendor/bin/generate-filters 以生成过滤器的 XML 并将其导出到文件。

选项

  • --input-file - 指定包含过滤器的文件名(默认为 filters.php)。
  • --output-file - 指定输出文件名(默认为 filters.xml)。

步骤 4: 导入过滤器

登录您的 Gmail 账户,并使用生成的 XML 文件导入您的过滤器。

可用方法

条件

消息必须满足的条件才能应用过滤器

  • has - 可以用于检查各种属性,例如附件、星标或标签。也可以用作以下一些方法的前置方法 - 例如 from:john@example.com - 并且对于更复杂的查询可能很有用。
  • hasNot - 上面的对立面。
  • from - 如果消息来自某个名称或电子邮件地址。
  • to - 如果消息发送给某个名称或电子邮件地址。
  • subject - 如果消息具有特定的主题。
  • hasAttachment - 如果消息有附件。
  • fromList - 如果消息来自邮件列表。
  • excludeChats - 从结果中排除聊天(默认为 false)。

动作

可以应用于匹配条件的消息的操作

  • label - 向消息添加标签。
  • archive - 归档消息(跳过收件箱)。
  • labelAndArchive - 同时添加标签和归档消息。
  • spam - 将消息标记为垃圾邮件。
  • neverSpam - 永远不将消息标记为垃圾邮件。
  • trash - 删除消息。
  • read - 将消息标记为已读。
  • star - 为消息添加星标。
  • forward - 将消息转发到另一个电子邮件地址。
  • important - 将消息标记为重要。
  • notImportant - 将消息标记为不重要。
  • categorise - 为消息应用智能标签。

从部分加载过滤器

如果您想将过滤器分成不同的部分,请在每个部分中返回一个过滤器数组,并将 return Opdavies\GmailFilterBuilder\Service\Partials::load() 添加到 filters.php 以加载和组合它们。

默认为名为 filters 的目录,但您可以将参数指定为不同的目录名称。

从单独的文件加载地址

如果您想根据 to 地址进行过滤,而不是在过滤器存储库中包含您的地址,可以使用 Addresses::load() 从不同的文件中包含它们

$myAddresses = Addresses::load('my-addresses.php');

return [
    Filter::create()
        ->from('foo@example.com')
        ->to($myAddresses)
        ->trash(),
];

在这个例子中,地址作为数组从 ~/.gmail-filters/my-addresses.php 返回,然后在过滤器中用作条件。

过滤器示例

// If an email is from a certain address, add a label.
Filter::create()
    ->from('john@example.com')
    ->label('Something');

参考