Java Groovy Imap访问
我有以下代码Java Groovy Imap访问,java,groovy,jakarta-mail,Java,Groovy,Jakarta Mail,我有以下代码 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.
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
}
但当我运行这个脚本时,它只是在编译后挂起。我做错了什么?对于gmail,我们必须强制实施SSL。要做到这一点,我只是补充说
props.setProperty("mail.imap.ssl.enable", "javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.imap.socketFactory.fallback", "false");
这就解决了问题
编辑:
更好的解决方案是:
props.setProperty("mail.imap.ssl.enable", "true");
感谢@Bill Shannon指出这一点。将属性“mail.imap.ssl.enable”设置为“true”。