[Tutor] Simple Question (I Hope)

Chris Kavanagh ckava1 at msn.com
Sun Jan 15 03:55:06 CET 2012

I was looking at this code from the Python Docs 
(http://docs.python.org/library/email-examples.html), trying to learn 
how to send email from a Pyhton script. Anyways, part of this code 
confused me. Here's the script:

1 # Import smtplib for the actual sending function
2 import smtplib
4 # Import the email modules we'll need
5 from email.mime.text import MIMEText
7 # Open a plain text file for reading.  For this example, assume that
8 # the text file contains only ASCII characters.
9 fp = open(textfile, 'rb')
10 # Create a text/plain message
11 msg = MIMEText(fp.read())
12 fp.close()
14 # me == the sender's email address
15 # you == the recipient's email address
16 msg['Subject'] = 'The contents of %s' % textfile
17 msg['From'] = me
18 msg['To'] = you
20 # Send the message via our own SMTP server, but don't include the
21 # envelope header.
22 s = smtplib.SMTP('localhost')
23 s.sendmail(me, [you], msg.as_string())
24 s.quit()

What I don't understand is lines 16-18, more specifically the 
msg['Subject'] format. I thought this was only done with dics?? 
Obviously the variable msg isn't a dic, so how can this be done??

I actually put lines 11, 16,17,18, in the interpreter, then printed out 
msg, so I get what it's doing, but my question still stands. How can one 
do this, when I thought it could only be done with dictionaries???

Thanks for any help! BTW, using Python27, WinXP.

More information about the Tutor mailing list