尝试使用Gmail IMAP API时出现此异常。这是我的代码的一部分。
session = Session.getDefaultInstance(props, null);
// Exception occurs on the line below
store = (GmailSSLStore) session.getStore("gimaps");
store.connect(userID,password);
参考文献:
https://java.net/projects/javamail/lists/users/archive/2012-08/message/0
https://javamail.java.net/nonav/docs/api/com/sun/mail/gimap/package-summary.html
答案 0 :(得分:1)
在手动将gmail IMAP提供程序添加到会话之前,我没有超过异常:
session = Session.getDefaultInstance(props, null);
// Adding Provider here corrected issue
session.addProvider(new Provider(Provider.Type.STORE, "gimaps", "com.sun.mail.gimap.GmailSSLStore","Oracle","1.5.4"));
store = (GmailSSLStore) session.getStore("gimaps");
store.connect(userID,password);
此信息来自gimap.jar的“META-INF / javamail.providers”文件。
问题的根本原因可能是Session的loadProviders()方法中“javamail.providers”文件的可用性。请参阅http://glassfish.sourcearchive.com/documentation/2plus-pb58g-4/classjavax_1_1mail_1_1Session_d90c688f88969065bb3db9716d1ab84a.html。