smtplib在夜间崩溃的问题

时间:2014-04-24 10:38:48

标签: python text smtplib

我写了一个简单的python脚本,每小时发短信一次。它全天工作正常,但它一直在崩溃,连接拒绝错误整夜。它只有10-20个人,所以我不认为我因过度使用而受阻。这是我的代码:

import smtplib
import time
import urllib


server = smtplib.SMTP('smtp.gmail.com:587')
print 'Connection Good'
server.starttls()
print 'ttls Started'
server.login('catfacts452@gmail.com','xxxxxxxxxx')
print 'OAuth Good'
while True:
    try:
        z = urllib.urlopen('http://catfacts-api.appspot.com/api/facts?number=1')
    except:
        continue
html = z.read()
print '\nOpened'
j = html.replace('{"facts": ["', '')
word = j.replace('"], "success": "true"}','')
print 'Formatted'
try:
    server.sendmail('catfacts452@gmail.com','xxxxxxxxxx@vtext.com','Cat Facts!\n' + word)
    server.sendmail('catfacts452@gmail.com','xxxxxxxxxx@txt.att.net','Cat Facts!\n' + word)
    server.sendmail('catfacts452@gmail.com','xxxxxxxxxx@tmomail.net','Cat Facts!\n' + word)
    server.sendmail('catfacts452@gmail.com','xxxxxxxxxx@tmomail.net','Cat Facts!\n' + word)
    #server.sendmail('catfacts452@gmail.com','xxxxxxxxxx@txt.att.net','Cat Facts!\n' + word)
    server.sendmail('catfacts452@gmail.com','xxxxxxxxxx@vtext.com','Cat Facts!\n' + word)
    server.sendmail('catfacts452@gmail.com','xxxxxxxxxx@vtext.com','Cat Facts!\n' + word)
    server.sendmail('catfacts452@gmail.com','xxxxxxxxxx@messaging.sprintpcs.com','Cat Facts!\n' + word)
    server.sendmail('catfacts452@gmail.com','xxxxxxxxxx@messaging.sprintpcs.com','Cat Facts!\n' + word)
    server.sendmail('catfacts452@gmail.com','xxxxxxxxxx@txt.att.net','Cat Facts!\n' + word)
    server.sendmail('catfacts452@gmail.com','xxxxxxxxxx@vtext.com','Cat Facts!\n' + word)
    server.sendmail('catfacts452@gmail.com','xxxxxxxxxx@vtext.com','Cat Facts!\n' + word)
    server.sendmail('catfacts452@gmail.com','xxxxxxxxxx@messaging.sprintpcs.com','Cat Facts!\n' + word)
    server.sendmail('catfacts452@gmail.com','xxxxxxxxxx@txt.att.net','Cat Facts!\n' + word)
    print 'Message Outbound @' + time.strftime("%H:%M:%S")
    timeint = time.strftime("%H:%M:%S")
    timetry = timeint[:2]
    if int(timetry) > 06 and int(timetry) < 22:
        server.sendmail('catfacts452@gmail.com','xxxxxxxxxx','success @ ' + time.strftime("%H:%M:%S") )
except:
    break




time.sleep(3600)

0 个答案:

没有答案