我收到一些邮件(在 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 扩展正则表达式。