2016-05-31 10 views
2

Ich möchte eine Änderung der E-Mail-Adressen von "To" und "From" mit Python haben. Bis jetzt habe ich folgendes gemacht, das für das Lesen des Pflichtfeldes arbeitet. Irgendwelche bitte vorschlagen, wie man Änderung in ihnen macht.Python: Werte in der eml-Datei (E-Mail-Header) ändern

from email.parser import Parser 

fp = open('2.eml', 'r+') 
headers = Parser().parse(fp) 

# Make changes only within a code, Not in to the file. I would like to save given changes for from in to my 2.eml file 
headers.replace_header('from', '[email protected]') 

print ('To: %s' % headers['to']) 
print ('From: %s' % headers['from']) 
print ('Subject: %s' % headers['subject']) 

Antwort

1

Sie sollten die geänderte Nachricht zurück in die Datei schreiben:

with open('2.eml', 'w') as outfile: 
    outfile.write(headers.as_string()) 

Beachten Sie, dass Sie Ihren Namen headers nicht ganz genau, wie der Wert von email.parser.Parser.parse zurückgegeben wird email.message.Message ist.

+0

Danke! Es klappt – jaymin581