error while writing program to send mail.

MRAB python at mrabarnett.plus.com
Mon Sep 1 19:59:49 EDT 2014


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()
>




More information about the Python-list mailing list