监视多个入站maildir文件夹的电子邮件归档系统
cs.app.mailfiler的Python项目详细描述
mailfiler是我的电子邮件归档系统。
它监视多个maildir文件夹中的新邮件 并根据各种易于编写的规则进行归档。 它的使用在mailfiler(1cs)手动条目中有详细描述。
规则文件大体上相当简单,并且描述得很详细 在mailfiler(5cs)手动输入中。 规则通常是以下形式的单行规则:
target,... label condition
如果这条规则应该一直被废除 然后可以省略该条件。
目标可能是 邮件文件夹(将邮件归档到指定文件夹中); 赋值语句(设置环境变量) 电子邮件地址(将邮件发送到指定地址) 或其他特殊目的的行动。
条件通常是测试头电子邮件地址 包括地址是否是某个组/别名的成员 但也可以测试关于消息头的其他各种东西。
类Condition_AddressMatch
mro:_Condition
,cs.obj.O
地址存在的条件测试。
类Condition_HeaderFunction
mro:_Condition
,cs.obj.O
测试头内容的条件。
类Condition_InGroups
mro:_Condition
,cs.obj.O
根据地址组测试消息地址的条件。
类Condition_Regexp
mro:_Condition
,cs.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> }:已存在的消息文件的路径名,允许
如果没有,则硬链接到新的maildir
None
。 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并筛选消息的类。