Link to home
Start Free TrialLog in
Avatar of s1m0ne
s1m0neFlag for United States of America

asked on

Automatically Downloading and Saving E-Mail Attachments with Ruby / ActionMailer

Hello,

I would like to develop a Ruby script, using ActionMailer (or something similar), that logs into a particular e-mail account (on a remote server), checks for new messages, and downloads the messages, saving any attachments (usually .jpg or .pdf) to a subdirectory based on the date the e-mail was sent (local time) and writing relevant header information and any body text to a log file, named according to the date, time, and sender.

So, for example, if john@mycompany.com sent an e-mail to the account in question, two days ago, at 15:34:07 EST, with the attachments 1001.jpg, 1002, jpg, and 1003.jpg, the script when run will create (if it does not yet exist) a directory /path/to/mail/2008/Nov/04, saving the three attachments, and creating a log file named something like 2008-Nov-04-153407-john.log.

This script will be run on a Linux server, and eventually will be scheduled with cron.

I am familiar with Ruby, though I am by no means an expert. ActionMailer, however, I had not used at all until just last week, and so far, I have used it only for sending e-mail.

Initially, I'd like to leave the e-mails on the server, but I'd like to have to option of removing any e-mail older than x number of days.

Any help on this will be greatly appreciated.

Thanks in advance,

s1m0ne
ASKER CERTIFIED SOLUTION
Avatar of Andrew Doades
Andrew Doades
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
the above link also covers download, decoding attachments!
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of s1m0ne

ASKER

doades,

Thanks. Those links *would* be promising if they did not require Windows-only proprietary software. If you find anything similar that is open and runs on Linux, please let me know. I am still interested in a solution.
Ah, sorry about that!
I will have a look around for you!
Avatar of s1m0ne

ASKER

This is really old, but I could still use help on this.

If there are any new insights, I would be glad to hear them.

Otherwise, I may be required to close this question.