def run(self):
while 1:
p = None
first = True
pre_number = -1
while service == True:
try:
if first == True:
self.trigger1.emit()
#?????????????POP???110
if popport == '110':
p = poplib.POP3(popserver, popport)
else:
p = poplib.POP3_SSL(popserver, popport)
except:
self.trigger2.emit()
else:
try:
p.user(user)
p.pass_(passwd)
except:
self.trigger3.emit()
else:
try:
resp, mails, octets = p.list()
number = len(mails)
if number != pre_number:
if pre_number != -1:
resp, lines, octets = p.retr(number)
msg_content = b'\r\n'.join(lines)
msg = Parser().parsestr(msg_content)
info = get_info(msg)
subject = info[0].strip()
addr = info[1].strip()
content = info[2].strip()
if addr in whitelist:
thread.start_new_thread(self.processing, (p, subject, content, addr))
except:
self.trigger4.emit()
else:
if pre_number == -1:
self.trigger5.emit()
pre_number = number
finally:
try:
p.quit()
except:
self.trigger4.emit()
first = False
exception_id = -1
time.sleep(2)
time.sleep(float(sleep))
评论列表
文章目录