[Twisted-Python] Need working examples of imap4 client.
clemesha at gmail.com
Fri Jun 12 04:40:57 EDT 2009
I've wondered myself how to do this, so thanks Phil.
I extended Phil's solution to work with Gmail, which boils
down to using SSL and setting the correct servername and port, see here:
Pywinder, you should be able to just change the username/password
and it will work for you (you might have to have the python ssl module
installed - post again if that is the case and it's not working for you)
How to do useful stuff with the 'mailboxes' function in the script is
another question (which I dont know the answer to). Maybe post
your usage if you have a chance.
On Thu, Jun 11, 2009 at 5:45 PM, Pywinder
Singh<pywinder at monkeydriveengine.com> wrote:
> 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:
>> 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('','*')
>> 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)
>> reactor.callLater(0, main)
>> This example makes use of deferred chaining i.e. returning a deferred
>> from a callback handler, so you'll want to understand that.
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
More information about the Twisted-Python