imapfilter:如何捕获变量中主题的一部分

imapfilter:如何捕获变量中主题的一部分

我收到一些邮件(在 IMAP 服务器上),主题如下:

[1270503] 苹果
[1272481] 瓶
[172481] 葡萄酒
[43172481] 葡萄

我需要将这些信件移到 INBOX.CSR 中。数字在哪里数字是站在“[ ]” 包含在主题中。如果邮箱不存在,则需要创建邮箱。

由于我不熟悉 LUA 编程语言,我发现设置 imapfilter 很困难(http://imapfilter.hellug.gr/) 去做这个。

更新 1:我需要重新排列 IMAP 帐户文件夹中的字母。无法进行文件操作。

答案1

由于没有人提出想法,我不得不深入研究 LUA 编程语言。

如果后来有人发现自己处于这样的情况,答案就在这里:

选项.超时 = 120
选项.订阅=true

本地主机 = IMAP {
    服务器 = 'ip地址',
    用户名 = ‘用户名’,
    密码 = '密码',
}

短信=localhost.CSR:select_all()
如果(短信 ~= nil)
然后
   主题=localhost.CSR:fetch_fields({'主题'},短信)
    如果(主题 ~= nil)
    然后
        对于 messageid,成对的主题(主题)
            本地成功,csrnumber = regex_search('^Subject:\\[([0-9]+)\\]',subject)
        如果成功
            然后
                本地主机:create_mailbox('CSR'...csrnumber)
                本地主机:subscribe_mailbox('CSR'...csrnumber)
                本地 tmp = {}
                tmp[消息ID]=true
                localhost.CSR:move_messages(localhost['CSR.'..csrnumber],tmp)
            结尾
        结尾
    结尾
结尾

答案2

您是否想过使用 procmail,procmail 接受 egrep 扩展正则表达式。

相关内容