A Programmatically Accessible Email Archive?
JohnnyConatus asks: "Does anyone know of a service that offers corporate email archiving and also provides a read-only interface for accessing the archived emails programmatically? Ideally this would be in the form of an database connection or a web service. My current employer is required by the SEC to archive all email communication with clients and we would like to incorporate the archived emails into our internal applications. I have called just about every email archive service I could find via Google, and while most offer a web application to search the emails, none so far have a solution for doing so programmatically. For various reasons, archiving the emails ourselves is considered the last resort. If we had to implement archiving locally, a program that archived by acting as a mail gateway would be the ideal since we'll be supporting a wide-range of mail servers."
If all of the emails are stored in an imap account then you could access this programatically using PHP's Imap functions. I do the same thing using a cron job to check an email account every 5 minutes on my site, if theres a new mail it looks to see if it has an image attachment and if it has automatically posts it online for me.
Information about PHP's Imap functions can be found at http://uk.php.net/imap.
I'm not entirely sure if this is the kind've thing you are looking for, but this is probably how I would deal with the problem.
Regards,
Grant
Isee Stars Astro Image Hosting.
I personally use IMAPSize to archive my IMAP mail that is needed mostly for historical purposes. Just yesterday, I pulled 12,000 messages off of my IMAP server for long-term storage. It turns them either into an mbox file or individual emails. I've then got a script that dumps them into a database as well as just zipping them up for burning to optical media. The database is for quick searching, the files for backup/recovery. I looked for the solution mostly to speed up my IMAP server and client both, which weren't happy with the huge numbers of email I was storing or occasionally crappy connections. I've got a web interface to it that also lets me easily reply to a message directly from there, pull out related messages, etc.
The Glass is Too Big: My Take on Things
Exchange4Linux does exactly this. Works pretty well, we've got a shitload of email (videos too), 5000+ contacts and all manner of data sitting in a PostgreSQL database.
It's NICE being able to execute SQL queries on your aggreate communications data. Perfect example: Our Asterisk head-end system knows which of our customer service people is on pager duty with an SQL query which looks at their service calendar. :-)
If your company is doing this for SEC compliancy (meaning Sorbanes-Oxeley) you really need to look into all that goes along with this.
You'll still need to provide security as to who can view messages. Search for legal purposed. You have document rentention scheduled you'll need to adhere to. You'll potentially have a freakin' huge volume of data to look it.
I'm seeing a lot of references to PHP and Java classes -- something as important as SEC regulations for e-mail archiving shouldn't just be thrown together willy-nilly. Failure to get it right could cause *huge* legal problems downstream.
Mail archiving for SEC/SOX is an utterly non-trivial undertaking.
Cheers
Lost at C:>. Found at C.