Problem occured while sending mail

Peter Pearson ppearson at nowhere.invalid
Wed Sep 17 11:04:17 EDT 2008


On Wed, 17 Sep 2008 05:28:05 -0700 (PDT), sui <gogtesuyash at gmail.com> wrote:
> On Sep 17, 5:04 pm, sui <gogtesuy... at gmail.com> wrote:
>> this is my code
>>
>> import sys, os, glob, datetime, time
>> import smtplib
>> ## Parameters for SMTP session
>> port=587
>> SMTPserver=  'smtp.gmail.com'
>> SMTPuser= '... at gmail.com'
>> pw= 'fill in here'
>> SENDER= SMTPuser
>>
>> ## Message details
>> FROM=  SENDER
>> TO= 'notgm... at a.com'
>> CC=FROM
>> ##RECEIVERS= (TO, CC)  ##proper way to send to both TO and CC
>> RECEIVERS= (TO,)  ## ignore the CC address
>>
>> subject= 'Test 1a'
>> message='*** Email test  *** '
>>
>> print 'Starting SMTP mail session on %s as  %s ' %
>> (SMTPserver,SMTPuser)
>> session = smtplib.SMTP(SMTPserver,port)
>> session.set_debuglevel(0)  # set debug level to 1 to see details
>> session.ehlo(SMTPuser)  # say hello
>> session.starttls()  # TLS needed
>> session.ehlo(SMTPuser)  # say hello again, not sure why
>> session.login(SMTPuser, pw)
>>
>> ##Create HEADER + MESSAGE
>> HEADER= 'From: %s\r\n' % FROM
>> HEADER= HEADER + 'To: %s\r\n' % TO
>> HEADER= HEADER + 'Cc: %s\r\n' % CC
>> HEADER= HEADER + 'Subject: %s\r\n' % subject
>> BODY= HEADER + '\r\n' + message
>> print BODY
>>
>> SMTPresult = session.sendmail(SENDER, RECEIVERS, BODY)  ## send email
>>
>> session.close()
>>
>> Now when i run this .py file...as python mail.py
>> i can see only statement
>> starting smtp mail......n details
>> then nothing on screen after few minutes or after pressing ctrl +c
>> Traceback (most recent call last):
>>   File "mail4.py", line 21, in <module>
>>     session = smtplib.SMTP(SMTPserver,port)
>>   File "/usr/local/lib/python2.5/smtplib.py", line 244, in __init__
>>     (code, msg) = self.connect(host, port)
>>   File "/usr/local/lib/python2.5/smtplib.py", line 301, in connect
>>     self.sock.connect(sa)
>>   File "<string>", line 1, in connect
>> or may be conncetion time out
>>
>> wats the solution for this
>
> if i dont press cntrl + c then it shows
> Starting SMTP mail session on smtp.gmail.com as  gogtesuyash at gmail.com
> Traceback (most recent call last):
>   File "mail4.py", line 21, in <module>
>     session = smtplib.SMTP(SMTPserver,port)
>   File "/usr/local/lib/python2.5/smtplib.py", line 244, in __init__
>     (code, msg) = self.connect(host, port)
>   File "/usr/local/lib/python2.5/smtplib.py", line 310, in connect
>     raise socket.error, msg
> socket.error: (110, 'Connection timed out')
>
> plz help me its urgent.....i want to complete it as early as possible

I pasted your code into a file named temp.py, 
and (perhaps superstitiously) added a backslash to this line:
>> print 'Starting SMTP mail session on %s as  %s ' %

Here's what it does (long line wrapped manually):

    peter at eleodes:~$ python temp.py
    Starting SMTP mail session on smtp.gmail.com as  ... at gmail.com
    Traceback (most recent call last):
      File "temp.py", line 27, in ?
        session.login(SMTPuser, pw)
      File "/usr/lib/python2.4/smtplib.py", line 591, in login
        raise SMTPAuthenticationError(code, resp)
    smtplib.SMTPAuthenticationError: (535,                          \
       '5.7.1 Username and Password not accepted. Learn more at\n'  \
       '5.7.1 http://mail.google.com/support/bin/answer.py?answer=' \
       '14257 a8sm34686663poa.12')
    peter at eleodes:~$

This indicates that it got much farther than when you ran it, since
your timeout message comes from the smtplib.SMTP call several lines
before the session.login call.

As a simple connectivity test, you might see whether you can connect
using telnet:

    peter at eleodes:~$ telnet smtp.gmail.com 587
    Trying 72.14.253.109...
    Connected to gmail-smtp.l.google.com.
    Escape character is '^]'.
    220 mx.google.com ESMTP m27sm34789033pof.6
    ^]c

    telnet> c
    Connection closed.
    peter at eleodes:~$

-- 
To email me, substitute nowhere->spamcop, invalid->net.



More information about the Python-list mailing list