error while writing program to send mail.

Om Prakash torque.india at gmail.com
Tue Sep 2 02:56:57 CEST 2014


On 09/02/2014 05:29 AM, MRAB wrote:
> On 2014-09-02 00:35, Om Prakash wrote:
>> Hi,
>>
>> I am writing this program from
>> https://docs.python.org/2/library/email-examples.html
>>
>> but getting the error as
>>
>> singhom at debian:~/pythons$ python send_email.py
>> Traceback (most recent call last):
>>     File "send_email.py", line 18, in <module>
>>       msg['Subject']  = 'The contents of $s' % message
>> NameError: name 'message' is not defined
>>
>>
>> i know the error would be something simple and i am overlooking it, any
>> help would be highly appreciated, I am sorry, but I am very new to
>> python programming.
>>
>> code starts here.
>> #/usr/bin/python2.7 -tt
>>
>> ## sending a simple text message using python.
>> import smtplib
>>
>> from email.mime.text import MIMEText
>>
>> # Open file for reading.
>> fp = open("message", 'rb')
>> # Create a plain text message.
>> msg = MIMEText(fp.read())
>>
>> fp.close
>
> That should be:
>
> fp.close()
>
>>
>> me = "torque.india at gmail.com"
>> you = "oomprakash at gmail.com"
>>
>> msg['Subject']  = 'The contents of $s' % message
>
> You're trying to use the format operator, but:
>
> 1. You never bound the name 'message' to a value, hence:
>
>     NameError: name 'message' is not defined
>
> 2. The format string contains '$s' instead of '%s'.
>
>> msg['From'] = me
>> msg['To'] = you
>>
>> # Send message thorugh localhost but don't include the envelope headers.
>>
>> s = smtplib.SMTP('localhost')
>> s.sendmail(me, [you], msg.as_string())
>> s.quit()
>>
>
Thanks a lot. will fix this and my overlooking of things too. :)



More information about the Python-list mailing list