| Module Info
| Add a review of Mail-IMAPClient
Very good and very easy to find and use exactly a function what you want.
But what I could get from this client is good work with utf8 .. I used to get my mails from gmail account , which was sent in German and I always saw strange symbols where should have been (ü, ö, ä, ß)
I used this as a replacement for Net::IMAP::Simple and am kicking myself for not having done so sooner. It has everything I need.
The documentation is very good, but I could have used some "see also" sections, as it sometimes took me a few tries to find the right function. The good news is that this module always had "the right function" for everything I needed.
As of this writing, the only module on CPAN that lets you do IMAP IDLE. Mail::IMAPClient's IDLE implementation, although it's very low-level (expect to refer to RFCs 3501 and 2177 frequently) and experimental (the author warns that its interface may change), works.
Without having otherwise used this module much, I can report that it works fine. My only real complaint is that the extensive documentation presents topics in alphabetical rather than pedagogical order, making it difficult to find what you're looking for. If you don't want to do anything fancy, you may be happier with Net::IMAP::Simple (or Net::IMAP::Simple::SSL), which also assumes less knowledge of IMAP on the part of the programmer.
A gotcha worth pointing out is that the default port remains 143 even with the Ssl option on, so don't forget to say 'Port => 993' if that's what you want.
Severe performance problems with large number of messages. Looks like it's re-reading the mailbox too often. To reproduce try a mailbox with 700 messages. It may also be a problem with new messages arriving while doing a mailbox listing which causes it to refresh the mailbox. I'm not real familiar with IMAP.
The module behaved largely as I expected and performed correctly and robustly to search, retrieve, and delete mail from the server under a variety of requirements. At the time of writing, this seems to be the best documented and most useful module for dealing with IMAP on CPAN.
With reference to Florian Knell's review about the speed of the module, I believe this is a server-side issue and not the module's fault at all.
I have a couple of moderately busy Postfix servers that spew a large amount of admin messages concerning incoming traffic that is bounced or rejected for various reasons. There is too much to handle manually, so I wrote a program using Mail::IMAPClient to go through the folders where these messages are stored, and delete all the simple cases that I don't care about (and writing a one-line summary about the transaction to a log file for later perusal).
This helps reduce the size of the IMAP folders and what is left are the potentially tricky messages that may require more careful investigation.
Mail::IMAPClient handled the aspects of connecting to the server and bringing each message (header and body) to my program in a straight-forward manner. The documentation was easy to understand, and all the functionality I needed to use was "just there".
I don't know what the other IMAP modules on CPAN are worth, but this one is quite probably all you need.
Works fine but on larger mailboxes very slow :-( I'm thinking about forking to diffrent child processes to handle this.
I haved used this module for everything from migrating our 65k user base from a VMS mail server to developing a custom web interface to the local IMAP servers. I would reccomend this to anyone doing any kind of IMAP related work.