[Twisted-Python]The problem afer reactor stoped....

李祥曦 lxx1234 at gmail.com
Tue May 6 04:05:24 EDT 2008


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 at 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 at xxx.com','xxx at hotmail.com','testSend','aaaaaaaaaa',filenames)
> dd2 =
> f.goSend('xxxx at xxx.com','xxx at hotmail.com','testSend','aaaaaaaaaa',filenames)
> dd3 =
> f.goSend('xxxx at xxx.com','xxx at 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 at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>


More information about the Twisted-Python mailing list