diff -r bb67b810aac1 Doc/includes/email-headers.py --- a/Doc/includes/email-headers.py Mon Feb 23 07:56:13 2015 -0800 +++ b/Doc/includes/email-headers.py Wed Feb 25 15:05:19 2015 +0100 @@ -1,8 +1,9 @@ # Import the email modules we'll need from email.parser import Parser -# If the e-mail headers are in a file, uncomment this line: -#headers = Parser().parse(open(messagefile, 'r')) +# If the e-mail headers are in a file, uncomment these two lines: +#with open(messagefile, 'r') as fp: +# headers = Parser().parse(fp) # Or for parsing headers in a string, use: headers = Parser().parsestr('From: \n' diff -r bb67b810aac1 Doc/includes/email-mime.py --- a/Doc/includes/email-mime.py Mon Feb 23 07:56:13 2015 -0800 +++ b/Doc/includes/email-mime.py Wed Feb 25 15:05:19 2015 +0100 @@ -20,9 +20,8 @@ for file in pngfiles: # Open the files in binary mode. Let the MIMEImage class automatically # guess the specific image type. - fp = open(file, 'rb') - img = MIMEImage(fp.read()) - fp.close() + with open(file, 'rb') as fp: + img = MIMEImage(fp.read()) msg.attach(img) # Send the email via our own SMTP server. diff -r bb67b810aac1 Doc/includes/email-read-alternative-new-api.py --- a/Doc/includes/email-read-alternative-new-api.py Mon Feb 23 07:56:13 2015 -0800 +++ b/Doc/includes/email-read-alternative-new-api.py Wed Feb 25 15:05:19 2015 +0100 @@ -12,7 +12,8 @@ from imaginary import magic_html_parser # In a real program you'd get the filename from the arguments. -msg = BytesParser(policy=policy.default).parse(open('outgoing.msg', 'rb')) +with open('outgoing.msg', 'rb') as fp: + msg = BytesParser(policy=policy.default).parse(fp) # Now the header items can be accessed as a dictionary, and any non-ASCII will # be converted to unicode: diff -r bb67b810aac1 Doc/includes/email-simple.py --- a/Doc/includes/email-simple.py Mon Feb 23 07:56:13 2015 -0800 +++ b/Doc/includes/email-simple.py Wed Feb 25 15:05:19 2015 +0100 @@ -6,10 +6,9 @@ # Open a plain text file for reading. For this example, assume that # the text file contains only ASCII characters. -fp = open(textfile, 'rb') -# Create a text/plain message -msg = MIMEText(fp.read()) -fp.close() +with open(textfile, 'r') as fp: + # Create a text/plain message + msg = MIMEText(fp.read()) # me == the sender's email address # you == the recipient's email address