0

I get some mails arriving (on an IMAP server) with subject like:

[1270503] apple
[1272481] bottle
[172481] wine
[43172481] grapes

I need these letters to be moved in INBOX.CSR.number where number is the one standing in "[ ]" s in the subject. The mailbox shall be created, if does not exists.

Since I'm not familiar with LUA programming language, I find difficult setting up imapfilter (http://imapfilter.hellug.gr/) to do this.

update1: i need to rearrange the letters on the IMAP account folders. No file operations possible.

asdmin
  • 2,050
  • 17
  • 28

2 Answers2

2

Since no-one has came up with an idea, I had to get deeper in LUA programming language.

The answer is here if later someone finds him/herself in a situation like this:

options.timeout = 120
options.subscribe = true

localhost = IMAP {
    server = 'ipaddress',
    username = 'username',
    password = 'password',
}

sms=localhost.CSR:select_all()
if (sms ~= nil)
then
   subjects=localhost.CSR:fetch_fields({ 'subject' }, sms)
    if (subjects ~= nil)
    then
        for messageid, subject in pairs(subjects) 
        do
            local success, csrnumber = regex_search('^Subject: \\[([0-9]+)\\] ', subject)
        if success 
            then 
                localhost:create_mailbox('CSR.'..csrnumber)
                localhost:subscribe_mailbox('CSR.'..csrnumber)
                local tmp = {}
                tmp[messageid]=true
                localhost.CSR:move_messages(localhost['CSR.'..csrnumber], tmp)
            end
        end
    end
end
asdmin
  • 2,050
  • 17
  • 28
0

Did you think to use procmail, procmail accepts egrep extended regular expressions.

Ali Mezgani
  • 3,850
  • 2
  • 24
  • 36
  • thanks, but procmail is not a solution: I need to rearrange an IMAP account, procmail is only able to download them and sort, but not on the imap account. – asdmin Aug 04 '09 at 10:53