首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Groovy Imap访问

Groovy Imap访问
EN

Stack Overflow用户
提问于 2014-05-27 07:54:40
回答 1查看 1.8K关注 0票数 1

我有以下代码

代码语言:javascript
复制
import javax.mail.*

def host = "imap.gmail.com"
def port = "993"
def username = "username@gmail.com"
def password = "password"

Properties props = new Properties()
props.setProperty("mail.store.protocol", "imap")
props.setProperty("mail.imap.host", host)
props.setProperty("mail.imap.port", port)
def session = Session.getDefaultInstance(props, null)
def store = session.getStore("imap")

store.connect(host, username, password)
def folder = store.getFolder("INBOX")
folder.open(Folder.READ_WRITE)
folder.messages.each { msg ->
    println msg.subject
}

但是当我运行这个脚本时,它只是在编译后挂起。我做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-27 08:14:30

对于gmail,我们必须强制使用SSL。为了做到这一点,我刚加了一个

代码语言:javascript
复制
props.setProperty("mail.imap.ssl.enable", "javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.imap.socketFactory.fallback", "false");

解决了这个问题

编辑:

更好的解决办法是:

代码语言:javascript
复制
props.setProperty("mail.imap.ssl.enable", "true");

谢谢比尔·香农指出这一点。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23883911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档