views:

558

answers:

3

I'm working on an issue tracking system and would like the application to handle email replies. That is, I would like a script that can monitor an email queue and perform some action based on the email contents. It should then be able to delete the email, etc.

I currently use MIME::Lite to send email, and I can handle writing the script etc. (read: I'm not new to Perl). However, I have no idea what modules are good for doing this particular task. I'd like to get started on this as quickly as possible so I hope to narrow my search space for possible modules.

In case you need to know, the application will be running on a standard linux, Perl, MySQL stack with Exchange as the mail server.

Can anyone suggest a Perl module to help me out? Any tutorials or best practices related to this would also be helpful.

Thanks!

+5  A: 

Do you have access to the Exchange server via IMAP or WebDAV?

For IMAP:

For WebDAV:

POP3 would also be an option if it's enabled on the server. IMAP is probably the way to go if you've got it.

Mark Johnson
That's kind of interesting... it uses the web access site. Have you used this in an application?
James van Dyke
I have access to pop, imap, and webdav. I would think IMAP or WebDAV are the better protocols. Any preference?
James van Dyke
IMAP is much faster than WebDAV, so I'd advise you to go with that.
Leon Timmermans
Excellent. Thank you, Leon.
James van Dyke
IMAP is probably the way to go if it's available. I've not personally used Email::Folder::Exchange (or done anything with Exchange over WebDAV). I thought it worth a mention in case IMAP was not enabled on your Exchange server.
Mark Johnson
Thanks for the suggestions!
James van Dyke
+2  A: 

I've done something similar using Mail::POP3Client

Roqetman
A: 

The Perl Email Project @ http://emailproject.perl.org/mediawiki/index.php/Main_Page has recommendations and other information on the mail oriented modules for perl.

MkV
I did try out the Email::* modules updated by this group and found the one I needed (Email::Folder::IMAP) to have a bug that caused it to die when connecting. I also found the API to be very inconsistent between connection types. Net::IMAP::Client has a similar, simple API but is more mature.
James van Dyke