无聊的Java(二)

解决Gmail安全连接

上次说到了Gmail使用SSL安全连接,无法使用《java network programming》中的例子去连接到到Gmail的收件箱,我们Google到了一些文章,这其中有下面一篇文章:《利用JavaMail收/发Gmail邮件(SSL)》,这篇文章介绍了JMail接收和发送Gmail邮箱邮件的程序,不过很可惜,在我的机子上这个程序很长时间没有响应,于是我按照书上的例子样子,写了一个类似的程序,结果可以运行,代码如下:

Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
prop = System.getProperties();
prop.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
prop.setProperty("mail.pop3.socketFactory.fallback", "false");
prop.setProperty("mail.pop3.port", "995");
prop.setProperty("mail.pop3.socketFactory.port", "995");
session = Session.getDefaultInstance(prop,null);
try {
store = session.getStore(provider);
store.connect(host,usrname,ps);
inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);
msgs = inbox.getMessages();
System.out.println("收件箱的邮件数:" + msgs.length);
} catch (Exception e) {
// TODO 自动生成 catch 块
e.printStackTrace();

ok,现在可以获得我的各个邮箱的收件箱的信件的数量了,那么下面要实现来信提醒功能,我的想法是设置一个Timertask作为demothread在后台隔一定时间来查看收件箱的数量,通过比较在时间差内的数量,来决定是否有新的邮件来,那么这又涉及到Timermask与demothread的相关内容,假设我们还是很了解这方面的东西,那么我还使用Google来查询相关的内容,呵呵,今天就写到这了,明天接着写。

Tags: , , ,

Leave a Reply