s1m0ne
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.lo g.
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
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,
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
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
the above link also covers download, decoding attachments!
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
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.
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!
I will have a look around for you!
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.
If there are any new insights, I would be glad to hear them.
Otherwise, I may be required to close this question.