[Users] Save all attachments from all emails
philippe at gramoulle.com
Tue Apr 23 02:37:37 CEST 2013
On Sat, 20 Apr 2013 20:59:16 +0200
Holger Berndt <berndth at gmx.de> wrote:
| Hello Philippe,
| On Sa, 20.04.2013 00:37, Philippe Gramoullé wrote:
| >Well, since i have so many years worth of email, i'd like to extract all attachments
| >of all emails in a single folder so i can more easily browse through pictures, PDFs, videos, etc..
| >Basically, i'd like to use the same feature as "Save all attachments" but for all emails inside a folder
| >What would be the easiest way ? Perl/Python script using the Perl/Python plugins ?
| I think it would probably be easiest to do it from outside Claws Mail.
| Claws Mail's default storage format MH is quite easy to parse for
| other tools.
| I attached a script that I use as a filter to store pictures of some
| incomming mails automatically to a folder - but it should also be able
| to do what you want, e.g.
| store all attachments of a mail folder tree
| extract_attachments_from_mime_message.py --all-content-types --recursive /path/to/mail/folder /path/to/target/folder
| You can also select which attachments to store based on MIME type,
| e.g. only image/* and application/pdf:
| extract_attachments_from_mime_message.py --content-type image --content-type application/pdf --recursive /path/to/mail/folder /path/to/target/folder
| Maybe it helps. Beware that these are not very well tested (because I
| use the script differently) - no guarantees.
| You can also check out --help.
Well, thank you so much, this is _exactly_ what i was looking for !
Right now, i'm more looking into "--all-content-types" as i want to extract (and backup) every possible attachment from my MH Folder.
I tried your script in few directories and it works 99.99% of the time, which means that i was able to find, for now, a few emails that would make the script exit with with an error:
./extract_attachments_from_mime_message.py --all-content-types ~/SylpheedMail/inbox/32831 /tmp/claws-mime3
Traceback (most recent call last):
File "./extract_attachments_from_mime_message.py", line 170, in <module>
File "./extract_attachments_from_mime_message.py", line 166, in main
extract_attachments(args.mime_filename, args.target_directory, args.content_type, args.subfolder_by_sender, args.recursive)
File "./extract_attachments_from_mime_message.py", line 133, in extract_attachments
File "./extract_attachments_from_mime_message.py", line 102, in extract
TypeError: must be string or buffer, not None
If you're interested to reproduce and fix , i can provide you the offending emails offlist. These are mainly mails with dozens of attachments.
Thanks for your help :)
More information about the Users