我想获得不同的电子邮件服务,如Gmail,Hotmail服务,rediffmail等所有收件箱中的邮件到我的应用程序。起初我试图使用IMAP访问Gmail邮件。但我得到一个插座例外。这里是code我试过了。请帮我。
公共无效getMails(查看V){
属性道具= System.getProperties();
props.setProperty(mail.store.protocol,IMAPS);
props.setProperty(mail.imap.port,993);
props.setProperty(mail.imap.socketFactory.class,.ssl.SSLSocketFactory);
props.setProperty(mail.imap.socketFactory.fallback,假);
尝试 {
会话会话=作为Session.getDefaultInstance(道具,NULL);
店中店= session.getStore(IMAPS);
store.connect(imap.gmail.com,aravelliramesh35@gmail.com,PSWD);
}
//}赶上(NoSuchProviderException E){
// e.printStackTrace();
// System.exit(1);
//}
赶上(MessagingException E){
e.printStackTrace();
System.exit(2);
}
}
解决方案
试试这个...
属性道具=新特性();
// IMAPS协议
props.setProperty(mail.store.protocol,IMAPS);
//设置主机地址
props.setProperty(mail.imaps.host,imaps.gmail.com);
//指定设置的端口
props.setProperty(mail.imaps.port,993);
//使用SSL
props.setProperty(mail.imaps.socketFactory.class,javax.net.ssl.SSLSocketFactory);
props.setProperty(mail.imaps.socketFactory.fallback,假);
//设置IMAP会话
会议imapSession = Session.getInstance(道具);
店中店= imapSession.getStore(IMAPS);
//通过发送用户名和密码连接到服务器。
//例邮件服务器= imap.gmail.com,用户名= ABC,密码= ABC
store.connect(邮件服务器,account.username,account.password);
//获取收件箱中Forlder所有邮件
收件箱= store.getFolder(收件箱);
inbox.open(Folder.READ_ONLY);
//返回结果消息的数组
消息[]结果= inbox.getMessages();
I want to get all inbox mails of different mail services like gmail, hotmail, rediffmail etc. into my application. Initially I tried to get gmail mails using Imap. But I am getting a socket exception. Here is the code I tried. Please help me.
public void getMails(View V){
Properties props = System.getProperties();
props.setProperty("mail.store.protocol", "imaps");
props.setProperty("mail.imap.port", "993");
props.setProperty("mail.imap.socketFactory.class", .ssl.SSLSocketFactory");
props.setProperty("mail.imap.socketFactory.fallback", "false");
try {
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("imaps");
store.connect("imap.gmail.com", "aravelliramesh35@gmail.com", "pswd");
}
//}catch (NoSuchProviderException e) {
// e.printStackTrace();
// System.exit(1);
//}
catch (MessagingException e) {
e.printStackTrace();
System.exit(2);
}
}
解决方案
Try this...
Properties props = new Properties();
//IMAPS protocol
props.setProperty("mail.store.protocol", "imaps");
//Set host address
props.setProperty("mail.imaps.host", imaps.gmail.com);
//Set specified port
props.setProperty("mail.imaps.port", "993″);
//Using SSL
props.setProperty("mail.imaps.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.imaps.socketFactory.fallback", "false");
//Setting IMAP session
Session imapSession = Session.getInstance(props);
Store store = imapSession.getStore("imaps");
//Connect to server by sending username and password.
//Example mailServer = imap.gmail.com, username = abc, password = abc
store.connect(mailServer, account.username, account.password);
//Get all mails in Inbox Forlder
inbox = store.getFolder("Inbox");
inbox.open(Folder.READ_ONLY);
//Return result to array of message
Message[] result = inbox.getMessages();