Very appreciate your help,It can worked,but i want know if it not possible to run then stop then run reactor again? 2008/5/6 Alessandro <aleuser@inwind.it>:
李祥曦 wrote:
Hi,all
Hi
I want to write a program that can send some e-mails automaticlly,i use the code like this:
reactor.stop() and reactor.run() have to be called only one time!
Try the following:
def sendmail(authenticationUsername, authenticationSecret,fromAddress, ...
def sendComplete(result): print "Message sent." # reactor.stop() comment this line out!
class EmailUtil: def __init__(self,popserver,smptserver,username,password): ...
def goSend(self,fromaddr, toaddr, subject, body, filenames): ... return result.addCallbacks(sendComplete,handleError) # get back the result # reactor.run() comment this line out
if __name__=='__main__': twisted.internet.defer import DeferredList
f=EmailUtil('','smtp.xxx.com','xxxx','1234') filenames=['test2.docx'] dd1 = f.goSend('xxxx@xxx.com','xxx@hotmail.com','testSend','aaaaaaaaaa',filenames) dd2 = f.goSend('xxxx@xxx.com','xxx@hotmail.com','testSend','aaaaaaaaaa',filenames) dd3 = f.goSend('xxxx@xxx.com','xxx@hotmail.com','testSend','aaaaaaaaaa',filenames) d4ll =DeferredList([dd1,dd2,dd3]) #errback ?
def stop(*arg): reactor.stop()
d4ll.addCallback(stop) reactor.run()
Note: not tested
You can test EmailUtil alone without twisted, removing his internal addCallbacks (you can attach the callback in the main)
Alessandro
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python