[imapfilter-devel] Imapfilter Exiting Infinite Loop Timeout?

Lefteris Chatzimparmpas lefcha at hellug.gr
Wed May 19 00:34:23 EEST 2010


On 05/18/2010 01:35 PM, Paul wrote:
> My guess is that while the big email is being copied to a second
> account, the account that the email was pulled from is doing nothing.
> Then once that transfer is complete, it then goes to move the same
> emails over on the original account, but this has timed out when the
> copy was running. So it gets back to do the move and fails, and the
> script exits.
>
> Does that look like a reasonable interpretation? If so, can anyone
> suggest a workaround?

Hello,

This is the case; one of the accounts timeouts while the other does all
the idling/downloading.  I will try to improve this situation in the
next release, by recovering/retrying in case of such simple "errors".

For a possible workaround hack see below in your config, where I have
inserted a new line...

> -------
> options.info = 'true'
>
> home = IMAP {
> --- account details
> }
>
> airbred = IMAP {
> --- account details
> }
>
> function do_idle(frommailbox, tomailbox, backupmailbox)
> 	print ("Idling for ".. frommailbox._mailbox)
> 	while true do
> 		exist, unread, unseen = frommailbox:check_status()
> 		print ("Exist:" .. exist .. " Unread:" .. unread .. " Unseen:" .. unseen)
>
> 		results = frommailbox:select_all()
> 		results:copy_messages(tomailbox)
		ifcore.logout(home._imap)
> 		results:move_messages(backupmailbox)
> 		update = frommailbox:enter_idle()
> 	end
> end
>
> do_idle(airbred['INBOX'],home['personal/incoming'],airbred['delivered'])
> --------------------------

This will logout from your "home" account after the copy, so it's not
possible to timeout later on.  The next time that it will need to copy
messages to a mailbox there, it will do a fresh login, and so on.

Let us know how it went...

Cheers!


More information about the Imapfilter-devel mailing list