Ich dachte mir ich leite mir eine Klasse von threading.Thread ab und überschreibe die run Methode. In der run Methode läuft der Mailabruf in einer Endlosschleifen mit timer.
Code: Alles auswählen
import poplib, time, threading
class fetchmail(threading.Thread):
def __init__(self, host, user, pw):
self.host = host
self.user = user
self.pw = pw
self.lock = threading.Lock()
def run(self):
while 1:
try:
self.lock.acquire()
self.mailbox = poplib.POP3(host)
self.mailbox.user(user)
self.mailbox.pass_(pw)
self.msg = self.mailbox.list()[0]
print self.msg
self.lock.release()
time.sleep(1000)
except:
print 'pop3 error'
if __name__ == "__main__":
m = fetchmail("pop.gmx.net","mustermann@gmx.de","trustno1")
m.start()
Code: Alles auswählen
Traceback (most recent call last):
File "C:\PythonScripts\pop3.py", line 36, in ?
m = fetchmail("pop.gmx.net","muster@gmx.de","trustno1")
TypeError: __init__() takes exactly 5 arguments (4 given)
