From: adam Date: Mon, 16 Aug 2004 02:00:18 +0000 (+0000) Subject: added GMail X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=763d7aea65b5811d8113d04878f9451c67733dcd;p=org.ibex.mail.git added GMail darcs-hash:20040816020018-5007d-d7e244e1cee20d1287eef34f572e3f50198b17ce.gz --- diff --git a/src/org/ibex/mail/protocol/GMail.java b/src/org/ibex/mail/protocol/GMail.java new file mode 100644 index 0000000..058f821 --- /dev/null +++ b/src/org/ibex/mail/protocol/GMail.java @@ -0,0 +1,44 @@ +package org.ibex.mail.protocol; +import org.ibex.io.*; +import org.ibex.crypto.*; +import org.ibex.jinetd.Listener; +import org.ibex.jinetd.Worker; +import org.ibex.mail.*; +import org.ibex.util.*; +import org.ibex.mail.target.*; +import java.util.*; +import java.net.*; +import java.text.*; +import java.io.*; + +public class GMail extends Account { + public Mailbox getMailbox(Class protocol) { return this.root; } + public GMail(String user, String pass) { + super(user, Address.parse(user + "@gmail.com")); + Log.warn(GMail.class, "logging in " + user + "@gmail.com..."); + try { + Process p = + Runtime.getRuntime().exec(new String[] { + "/usr/bin/python", + "/usr/local/libgmail/demos/archive.py", + user, + pass + }); + final Mailbox inbox = new MessageArrayMailbox(Mbox.parse(new Stream(p.getInputStream()))); + this.root = + new Mailbox.Default() { + public void add(Message m) { throw new RuntimeException("not supported"); } + public void add(Message m, int i) { throw new RuntimeException("not supported"); } + public int uidValidity() { return 1; } + public Mailbox.Iterator iterator() { return new Mailbox.Iterator.NullIterator(); } + public int uidNext() { return 500; } + public String[] children() { return new String[] { "gmail" }; } + public Mailbox slash(String name, boolean create) { return inbox; } + }; + p.waitFor(); + Log.warn(GMail.class, " succeeded for " + user + "@gmail.com!"); + } catch (Exception e) { + Log.error(GMail.class, e); + } + } +}