Remove some images from a mail message

J

Jason Friedman

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: <[email protected]>
key: X-Original-To
value: myuser@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: <[email protected]>
Content-Transfer-Encoding: base64

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

....
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,968
Messages
2,570,149
Members
46,695
Latest member
StanleyDri

Latest Threads

Top