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
....
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
....