筛选过滤语言(RFC 5228)Python3版本的分析器/计算器
sifter3的Python项目详细描述
Sifter3-筛选电子邮件过滤器(RFC 5228)
Sifter3是Sieve电子邮件过滤语言(rfc5228)的python3实现
特点
- 支持RFC 5228中的所有基筛规格,除了
功能仍然列在下面的待办事项下
- 多行字符串(自0.2.2版起)
- 括号内的注释(自0.2.4版起)
- 支持的扩展:
- 正则表达式(draft-ietf-sieve-regex-01)
- 阀体(RFC 5173)
- 变量(RFC 5229)
- enotify(RFC 5435,尤其是邮寄方式RFC 5436)
- removeflag,不支持的标志:removeflag:
- 拒绝和重新提交(RFC 5429)
- ihave(RFC 5463)
安装
pip install sifter3
示例
^{pr2}$在上面的示例中,msg_actions
是应用于
电子邮件。每个操作都是一个元组,由操作名和
特定于操作的参数。由调用者来操纵
基于返回的操作的消息和消息存储。在
命令行
命令行工具的输出可以解析为json。在
$ sifter tests/evaluation_1.rules tests/evaluation_1.msg
[['redirect', 'acm@example.com']]
警告
- 目前还没有考虑对恶意用户进行强化 输入。当前的实现是针对正在运行的用户 他们自己的筛选脚本。在
- 但是,当前的实现没有针对性能进行优化 希望对正常输入来说不会太慢。在
托多
- 使用sieve for提供Unix LDA行为的示例适配器 过滤
- 基本规范功能尚未实现:
- 编码字符(第2.4.2.4节)
- 消息唯一性(第2.10.3节)
- 包络试验(第5.4节)
- 处理消息循环(第10节)
- 限制滥用重定向操作(第10节)
- 地址测试应将允许的标头限制为包含 地址(第5.1节)
- 确保字符集是根据规范实际处理的
- 使字符串解析符合第8.1节中的语法和 第2.4.2节所述特征
- 检查python的
email.message
是否实现了头比较 和筛子规格一样 - 确保正则表达式实际上是根据 扩展规范
- 添加对各种扩展的支持:
- 外部存储列表(melnikov筛外部列表草案)
- 关系型(RFC 5231)
- 子地址(RFC 5233)
- 副本(RFC 3894)
- 环境(RFC 5183)
- 日期和索引(RFC 5260)
- 编辑标题(RFC 5293)
- 邮箱元数据(RFC 5490)
- xmpp通知(RFC 5437)
- 项目
标签: