Proxy 在代理后使用IMAP协议阅读Gmail邮件,使用PAC防火墙

Proxy 在代理后使用IMAP协议阅读Gmail邮件,使用PAC防火墙,proxy,jakarta-mail,gmail-imap,pac,Proxy,Jakarta Mail,Gmail Imap,Pac,我随身携带PAC文件和代理端口,但无法登录和阅读Gmail邮件。有人能告诉我如何在JAVAMAIL API中使用PAC和代理端口吗 propsIMAP = new Properties(); propsSMTP = new Properties(); propsIMAP.setProperty("http.proxyHost", "http-proxy01.domain.com"); propsIMAP.setProperty("http.proxyPor

我随身携带PAC文件和代理端口,但无法登录和阅读Gmail邮件。有人能告诉我如何在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)

这里的问题是,您试图连接到根本不存在的主机。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>");
Properties-props=System.getProperties();
props.setProperty(“mail.store.protocol”、“imaps”);
//将所有其他属性放在这里
Session Session=Session.getDefaultInstance(props,null);
Store Store=session.getStore(“imaps”);
store.connect(imap.gmail.com、@gmail.com、“”);

看起来你只是在那些属性设置中编造东西。请参阅以下JavaMail常见问题解答条目:


一句话,你需要的不仅仅是一个web代理服务器,PAC文件永远不会工作。

@user3009301:如果代码有效,你能接受答案并标记问题的答案吗。如果仍然不起作用,请在线程“main”java.lang.SecurityException中留下注释.Exception:访问默认会话denied@user3009301:我想你需要一个验证者,看看这个问题