google app engine - Accessing Gmail inbox in GAE with Java -
i'm trying access gmail inbox in gae java. i've tried via imap , via pop3. code imap next one:
public class inboxservlet extends httpservlet { private static final logger log = logger.getlogger(inboxservlet.class.getname()); public void doget(httpservletrequest req, httpservletresponse resp) throws ioexception { properties props = system.getproperties(); props.setproperty("mail.store.protocol", "imaps"); props.put("mail.imap.host" , "imap.gmail.com"); props.put("mail.imap.user" , "email"); props.put("mail.imap.socketfactory" , 993 ); props.put("mail.imap.socketfactory.class" , "javax.net.ssl.sslsocketfactory" ); props.put("mail.imap.port" , 993); session session = session.getdefaultinstance(props , new authenticator() { @override protected passwordauthentication getpasswordauthentication() { return new passwordauthentication( "email" , "password"); } }); try { store store = session.getstore("imap"); store.connect("imap.gmail.com" ,993, "email" , "password"); folder fldr = store.getfolder("inbox"); fldr.open(folder.read_write) message[] ar = fldr.getmessages(); int count = fldr.getmessagecount(); resp.getwriter().println(count); resp.getwriter().println("<br>"); resp.getwriter().println(ar[0].getallrecipients()[0].tostring()); resp.getwriter().println("<br>"); resp.getwriter().println(ar[0].getfrom()[0].tostring()); resp.getwriter().println("<br>"); resp.getwriter().println(ar[0].getsentdate().tostring()); resp.getwriter().println("<br>"); resp.getwriter().println(ar[0].getsubject()); resp.getwriter().println("<br>"); ar[0].getcontent(); } catch(exception exc) { resp.getwriter().println(exc + "error"); } } }
with code can content of message.
this code pop3:
public class inboxservlet extends httpservlet { private store store = null; private static final logger log = logger.getlogger(inboxservlet.class.getname()); public void doget(httpservletrequest req, httpservletresponse resp) throws ioexception { string ssl_factory = "javax.net.ssl.sslsocketfactory"; properties pop3props = new properties(); pop3props.setproperty("mail.pop3.socketfactory.class", ssl_factory); pop3props.setproperty("mail.pop3.socketfactory.fallback", "false"); pop3props.setproperty("mail.pop3.port", "995"); pop3props.setproperty("mail.pop3.socketfactory.port", "995"); urlname url = new urlname("pop3", "pop.gmail.com", 995, "", "email", "password"); session session = session.getdefaultinstance(pop3props , new authenticator() { @override protected passwordauthentication getpasswordauthentication() { return new passwordauthentication( "email" , "password"); } }); try { store = new pop3sslstore(session, url); store.connect(); folder fldr = store.getfolder("inbox"); fldr.open(folder.read_write); message[] ar = fldr.getmessages(); int count = fldr.getmessagecount(); resp.getwriter().println(count); resp.getwriter().println("<br> "); try{ object content = ar[1].getcontent(); resp.getwriter().println("from: "); resp.getwriter().println(ar[1].getfrom().tostring()); resp.getwriter().println(ar[1].getsubject()); resp.getwriter().println("<br>"); resp.getwriter().println("<br>date: "); resp.getwriter().println(prueba.getdescription().tostring()); content = ar[1].getcontent(); resp.getwriter().println("<br> content: "); resp.getwriter().println(content.tostring()); }catch (error e){ resp.getwriter().println("error " + e); } } catch(exception exc) { resp.getwriter().println(exc + "error"); } } }
with content of message, can't subject, recipient, date, etc.
does know how can single system?
thanks!
Comments
Post a Comment