[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