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

李祥曦 lxx1234 at gmail.com
Tue May 6 01:41:44 EDT 2008


Hi,all
   I want to write a program that can send some e-mails automaticlly,i
use the code like this:

def sendmail(authenticationUsername, authenticationSecret,fromAddress,
toAddress,messageFile,smtpHost, smtpPort=25):
    resultDeferred = Deferred()
    senderFactory =
ESMTPSenderFactory(authenticationUsername,authenticationSecret,fromAddress,toAddress,messageFile,resultDeferred,requireTransportSecurity=False)
    reactor.connectTCP(smtpHost, smtpPort, senderFactory)
    return resultDeferred

def sendComplete(result):
    print "Message sent."
    reactor.stop()

class EmailUtil:
    def __init__(self,popserver,smptserver,username,password):
        self.popserver=popserver
        self.smtpserver=smptserver
        self.username=username
        self.password=password

    def goSend(self,fromaddr, toaddr, subject, body, filenames):
        message = buildMessage(fromaddr, toaddr, subject, body, filenames)
        messageData = message.as_string(unixfrom=False)
        tempfile=open('temp.mai','wb')
        tempfile.write(messageData)
        tempfile.close()
        print 'Sending.....'
        result =
sendmail(self.username,self.password,fromaddr,toaddr,file('temp.mai'),self.smtpserver)
        result.addCallbacks(sendComplete,handleError)
        reactor.run()

if __name__=='__main__':
    f=EmailUtil('','smtp.xxx.com','xxxx','1234')
    filenames=['test2.docx']
    f.goSend('xxxx at xxx.com','xxx at hotmail.com','testSend','aaaaaaaaaa',filenames)
    f.goSend('xxxx at xxx.com','xxx at hotmail.com','testSend','aaaaaaaaaa',filenames)
    f.goSend('xxxx at xxx.com','xxx at hotmail.com','testSend','aaaaaaaaaa',filenames)

I try to send the same mail,but after the first mail was sended,the
program deadlock,and i use some tool konws after the first mail
sended,no packets was send to the outside world.I guess maybe the
problem related with the reactor run and stop,but i am sure,any one
can tell me what's problem is?Thanks




More information about the Twisted-Python mailing list