[Twisted-Python] Need working examples of imap4 client.
Pywinder Singh
pywinder at monkeydriveengine.com
Thu Jun 11 20:45:04 EDT 2009
Phil,
Much obliged.
Was able to isolate and confirm that the real issue is that login is hanging
for some reason, and causing the timeout message. I suspect SSL/TLS issues,
which at least gives me a decided place to start investigating.
Thanks again for the code, it was sanity inducing to say the least. ;)
Phil Mayers wrote:
> Pywinder Singh wrote:
> >
> > Ideally, I'd love to see a snipped which is able to log into an imap
> > server and gets a list of mailboxes. If the example on the site works
>
> Here you go:
>
> #!/usr/bin/python
>
> from twisted.internet import reactor, protocol, defer
> from twisted.mail import imap4
>
> # change these...
> username = '?'
> password = '?'
> servername = '?'
>
> def mailboxes(list):
> for flags,sep,mbox in list:
> print mbox
>
> def loggedin(res, proto):
> d = proto.list('','*')
> d.addCallback(mailboxes)
> return d
>
> def connected(proto):
> print "connected", proto
> d = proto.login(username, password)
> d.addCallback(loggedin, proto)
> return d
>
> def failed(f):
> print "failed", f
> return f
>
> def done(_):
> reactor.callLater(0, reactor.stop)
>
> def main():
> c = protocol.ClientCreator(reactor, imap4.IMAP4Client)
> d = c.connectTCP(servername, 143)
> d.addCallbacks(connected, failed)
> d.addBoth(done)
>
> reactor.callLater(0, main)
> reactor.run()
>
>
> This example makes use of deferred chaining i.e. returning a deferred
> from a callback handler, so you'll want to understand that.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://twistedmatrix.com/pipermail/twisted-python/attachments/20090611/1a610efe/attachment.htm
More information about the Twisted-Python
mailing list