[Twisted-Python] Need working examples of imap4 client.
Phil Mayers
p.mayers at imperial.ac.uk
Thu Jun 11 05:56:10 EDT 2009
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.
More information about the Twisted-Python
mailing list