java gmail imap_使用IMAP将邮件从GMail传输到Java应用程序

我想使用JavaMail和IMAP从Java应用程序访问GMail中的消息。为什么会收到SocketTimeoutException?

这是我的代码:

Properties props = System.getProperties();

props.setProperty("mail.imap.host", "imap.gmail.com");

props.setProperty("mail.imap.port", "993");

props.setProperty("mail.imap.connectiontimeout", "5000");

props.setProperty("mail.imap.timeout", "5000");

try {

Session session = Session.getDefaultInstance(props, new MyAuthenticator());

URLName urlName = new URLName("imap://MYUSERNAME@gmail.com:MYPASSWORD@imap.gmail.com");

Store store = session.getStore(urlName);

if (!store.isConnected()) {

store.connect();

}

} catch (NoSuchProviderException e) {

e.printStackTrace();

System.exit(1);

} catch (MessagingException e) {

e.printStackTrace();

System.exit(2);

}

我设置了超时值,这样就不会“永远”超时。另外,MyAuthenticator也具有用户名和密码,这似乎与URL 无关。还有另一种指定协议的方法吗?(我没有在IMAP的JavaDoc中看到它。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值