我有PAC文件和代理端口,但无法登录和阅读邮件。任何人都可以告诉我如何在JAVAMAIL API中使用PAC和代理端口。我已经完成了像
这样的设置 propsIMAP = new Properties();
propsSMTP = new Properties();
propsIMAP.setProperty("http.proxyHost", "http-proxy01.domain.com");
propsIMAP.setProperty("http.proxyPort", "88");
propsIMAP.put("mail.imap.starttls.enable","true");
propsIMAP.put("mail.imap.host", ImapServerName);
propsIMAP.put("mail.imap.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
propsIMAP.put("mail.imap.socketFactory.fallback", "false");
propsIMAP.put("mail.transport.protocol", "imaps");
propsIMAP.put("mail.imap.auth", "true");
propsIMAP.put("mail.imaps.port", "993");
并收到错误:
DEBUG IMAP: mail.imap.fetchsize: 16384
DEBUG IMAP: mail.imap.ignorebodystructuresize: false
DEBUG IMAP: mail.imap.statuscachetimeout: 1000
DEBUG IMAP: mail.imap.appendbuffersize: -1
DEBUG IMAP: mail.imap.minidletime: 10
DEBUG IMAP: enable STARTTLS
DEBUG IMAP: trying to connect to host "webmail.gmail.com", port 993, isSSL false
javax.mail.MessagingException: webmail.gmail.com;
nested exception is:
java.net.UnknownHostException: webmail.gmail.com
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:670)
答案 0 :(得分:1)
这里的问题是您正在尝试连接到一个根本不存在的主机。 gmail的正确设置是: -
props.setProperty("mail.imap.host", "imap.gmail.com");
props.setProperty("mail.imap.port", "993");
您可以使用以下内容: -
Properties props = System.getProperties();
props.setProperty("mail.store.protocol", "imaps");
// Put all other Properties here
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("imaps");
store.connect("imap.gmail.com", "<username>@gmail.com", "<password>");
答案 1 :(得分:0)
看起来你只是在那些属性设置中制作东西。请参阅这些JavaMail FAQ条目:
总而言之,您需要的不仅仅是Web代理服务器,PAC文件永远不会起作用。