Remove some images from a mail message

Jason Friedman jsf80238 at gmail.com
Sun Apr 21 13:31:24 EDT 2013


I will be receiving email that contains, say, 10 images, and I want to
forward that message on after removing, say, 5 of those images.  I will
remove based on size, for example 1679 bytes.  I am aware that other images
besides the unwanted ones could be 1679 bytes but this is unlikely and the
impact of mistakes is small.

I have figured out how to compose and send an email message from parts:
 from, to, subject, and some images.  I was planning to read the incoming
message, write the images I want to keep to files, then use those files to
construct the outgoing message.

I cannot figure out how to read the incoming message and extract the images.

message_in = email.message_from_binary_file(open(file_name, "rb"))
for part in message_in.walk():
    print("-" * 80)
    print("type: " + part.get_content_maintype())
    for key, value in part.items():
        print("key: " + key)
        print("value: " + value)

-------------------------

type: multipart
key: Return-Path
value: <jfriedman at mycompany.com>
key: X-Original-To
value: myuser at myhost

...

key: Content-Type
value: multipart/alternative;
        boundary="_000_A9E5330AAB8D0D4E8F9372F872EE8504010458F671hostden_"

--_000_A9E5330AAB8D0D4E8F9372F872EE85040104591ECChostden_--

--_010_A9E5330AAB8D0D4E8F9372F872EE85040104591ECChostden_
Content-Type: image/png; name="image001.png"
Content-Description: image001.png
Content-Disposition: inline; filename="image001.png"; size=9257;
        creation-date="Mon, 15 Apr 2013 17:48:29 GMT";
        modification-date="Mon, 15 Apr 2013 17:48:29 GMT"
Content-ID: <image001.png at 01CE39DF.E9801A60>
Content-Transfer-Encoding: base64

iVBORw0KGgoAAAANSUhEUgAAANcAAAAwCAYAAACCPO+PAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
bWFnZVJlYWR5ccllPAAAI8tJREFUeNrsXQlYVdUW/u+Fey+TCqgJTqA4i4rzjDM4pGaZU449yxAM
Xy+bfY1WZpmZkpapZVpZmpmiKCqoOOGEGjmLI6AioMxcuO/f5+wLl0HFqVd59/ftz3sO+5yzzz7r

...

----------------------

I'm guessing my image is in there, how do I get it out?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20130421/998d78c0/attachment.html>


More information about the Python-list mailing list