extractAttachments.py
Robert Kosara; November 16, 2008
#! /usr/bin/python """ Extract attachments from emails and store them as files. Command-line argument: target directory Stdin: email text (e.g., through procmail) This script performs no error checking and assumes that anything with a filename will be base64-encoded. This is really only meant to collect data that is emailed automatically. Test well and use at your own risk. """ import sys import email.parser import base64 BASEDIR = sys.argv[1] + '/' parser = email.parser.Parser() mail = parser.parse(sys.stdin) if mail.is_multipart(): for m in mail.get_payload(): if (m.get_filename() != None): file = open(BASEDIR + m.get_filename(), 'w') file.write(base64.b64decode(m.get_payload())) file.close()
