监视多个入站maildir文件夹的电子邮件归档系统

cs.app.mailfiler的Python项目详细描述


mailfiler是我的电子邮件归档系统。

它监视多个maildir文件夹中的新邮件 并根据各种易于编写的规则进行归档。 它的使用在mailfiler(1cs)手动条目中有详细描述。

规则文件大体上相当简单,并且描述得很详细 在mailfiler(5cs)手动输入中。 规则通常是以下形式的单行规则:

target,... label condition

如果这条规则应该一直被废除 然后可以省略该条件。

目标可能是 邮件文件夹(将邮件归档到指定文件夹中); 赋值语句(设置环境变量) 电子邮件地址(将邮件发送到指定地址) 或其他特殊目的的行动。

条件通常是测试头电子邮件地址 包括地址是否是某个组/别名的成员 但也可以测试关于消息头的其他各种东西。

Condition_AddressMatch

mro:_Conditioncs.obj.O
地址存在的条件测试。

Condition_HeaderFunction

mro:_Conditioncs.obj.O
测试头内容的条件。

Condition_InGroups

mro:_Conditioncs.obj.O
根据地址组测试消息地址的条件。

Condition_Regexp

mro:_Conditioncs.obj.O
根据正则表达式测试头的条件。

函数current_value(envvar, cfg, cfg_key, default, environ)

动态计算可配置的路径值。

函数FilterReport(rule, matched, saved_to, ok_actions, failed_actions)

创建FilterReport对象。

参数:

  • rule:要报告的Rule
  • matched:规则是否匹配
  • saved_to:消息的归档位置
  • ok_actions:成功的操作
  • failed_actions:失败的操作

函数get_target(s, offset, quoted=False)

从字符串解析单个目标规范;返回目标和新偏移量。

参数:

  • s:要分析的字符串
  • offset:解析的起始偏移量
  • quoted:如果为true,则分析器已在引号内: 不要期望逗号或空白结束目标规范。 默认值:False

函数get_targets(s, offset)

从字符串s开始分析目标列表。 返回目标字符串列表和新偏移量。

函数maildir_from_name(mdirname, maildir_root, maildir_cache)

返回从mdirpath派生的maildir。

MailFiler

mro:cs.obj.O
邮件归档程序。

函数main(argv=None, stdin=None)

mailfiler主程序。

MessageFiler

mro:cs.obj.O
一个消息归档对象,用于筛选规则评估期间使用的状态信息。

属性:

  • .maildb:当前的maildb。
  • .environ:变量设置的存储。
  • .addresses(header):缓存来自指定头的地址列表。

函数parserules(fp)

fp中读取规则,生成规则。

功能resolve_mail_path(mdirpath, maildir_root)

返回请求邮件文件夹的完整路径。

Rule

mro:cs.obj.O
归档规则。

Rules

mro:builtins.list
列表存储规则的简单子类,具有要加载的方法 规则并使用规则筛选消息。

功能save_to_folderpath(folderpath, M, message_path, flags)

将消息M保存到已解析的folderpath

参数:

  • folderpath:目标邮件文件夹的路径。
  • M:要保存的消息。
  • {< CD50> }:已存在的消息文件的路径名,允许 如果没有,则硬链接到新的maildirNone
  • flags:将标志另存为from messagefiler.flags

函数scrub_header(value)

“scrub”头值。 目前,这意味着在可能的情况下撤销rfc247编码。

Target_Assign

mro:cs.obj.O
设置文件状态环境变量的文件目标。

Target_EnvSub

mro:cs.obj.O
D的归档目标依利弗到一串 受环境影响,受环境变量扩展影响 其中环境变量来自归档状态。

Target_Function

mro:cs.obj.O
针对消息运行python函数的归档目标。

Target_MailAddress

mro:cs.obj.O
电子邮件地址的归档目标。

Target_MailFolder

mro:cs.obj.O
邮件文件夹的归档目标。

Target_PipeLine

mro:cs.obj.O
将消息内容通过管道传送到shell命令的文件目标。

Target_SetFlag

mro:cs.obj.O
将标志应用于消息的归档目标。

Target_Substitution

mro:cs.obj.O
应用正则表达式字符串替换的归档目标 到邮件头。

WatchedMaildir

mro:cs.obj.O
监视maildir并筛选消息的类。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在ArrayList<List>中选择我的列表中的哪一列用于排序我的ArrayList?   Java设计模式相当于Smalltalk的:   如何在Java中说stringA>stringB   用Python重写Java代码的Python方式   java如何在Mybatis for Postgresql db中使用like(非IN)编写查询?   java看不到如何禁用AlertDialog对话框   java正常转换,但照明仍然很奇怪?   为什么Java中存在检查和未检查异常   使用Flink的JavaSpringBootGradle项目不起作用   java我可以在最终hashmap中存储函数名以供执行吗?   java无法理解实际应用程序中的枚举   java Hibernate注释执行内部连接   java Jenkins Maven3错误,工件已启用   数组的java打印内容只返回[null,null,null,null]   java对同一实体的多个更新   java将日期从一个时区转换为本地时区   jface tableviewer中的java多行功能或换行文本功能   ArrayList是如何在Java中实现的?   如何将程序的输出像矩阵一样写入文件,Java   java EasyMock和返回泛型类的方法