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.

2 Answers 2

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
0

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

1
  • 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 4, 2009 at 10:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .