广东话接收邮件与流行音乐在Android的
问题描述:
我能收到我的邮件使用IMAP与此代码示例:广东话接收邮件与流行音乐在Android的
URLName server = new URLName("imaps://" + username + ":"+ password + "@imap.gmail.com/INBOX");
Session session = Session.getDefaultInstance(new Properties(), null);
Folder folder = session.getFolder(server);
if (folder == null)
{
System.exit(0);
}
folder.open(Folder.READ_ONLY);
Message[] messages = folder.getMessages();
但有时的imap犯规给任何服务,并在这些时间我想用流行音乐,但我不能用它用我的代码。与使用接收邮件的其他代码不同。但在Android中,只有这个代码正在工作。
我应该在这段代码中改变什么来使用Pop?
任何帮助,将不胜感激。
答
首先,有一个很好的URLName构造函数,它将所有的组件作为单独的参数,所以你不必做字符串连接。
从IMAP切换到POP3需要更改协议名称以及主机名。示例请参阅JavaMail FAQ。协议名称是“pop3s”,主机名称是“pop.gmail.com”。
最后,您应该使用Session.getInstance而不是Session.getDefaultInstance。比较两种方法的javadoc以理解原因。
答
这个怎么样one.Really工作对我来说!!(来源:here)
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 protected]",yourpassword);
Session session = Session.getInstance(pop3Props, null);
Store store = new POP3SSLStore(session, url);
try {
store.connect();
} catch (MessagingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Folder folder = null;
try {
folder = store.getDefaultFolder();
folder = folder.getFolder("INBOX");
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (folder == null) {
System.exit(0);
}
try {
folder.open(Folder.READ_ONLY);
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
通过商店object.And尝试retreiving文件夹中还提到,希望中检索的文件夹是INBOX还要注意的是!在设置中,端口号是995形式弹出(你可以保留前六行,因为它们是)
感谢您的回复,但它不起作用。它给出了一个例外“连接失败” – Merve 2012-04-27 16:05:13
你做错了什么。查看JavaMail FAQ的调试技巧,并在这里发布调试结果,以便我们帮助您弄清楚您做错了什么。 – 2012-04-27 19:22:31