是否可以建立HTTPS连接并在其中嵌入JavaMail?

时间:2013-10-01 15:44:58

标签: java javamail httpurlconnection

我这里有远程用户通过Outlook连接到Exchange服务器。他们真正做的是通过HTTPS连接连接到代理服务器,使用SSL,然后访问Exchange。

作为一个网络人,我知道封装和透明度。是否可以打开一个HttpURLConnection(HttpsURLConnection)到代理,然后通过它运行我的正常,标准问题JavaMail?基本上,打开与代理服务器的连接,然后,当该连接打开时,就像我直接连接到Exchange一样。

我知道JavaMail本身没有能力通过代理,这就是我涉及HttpURLConnection的原因。

如果这不是这个特定设置的标准做法,那么有人可以对替代方案有所了解吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

应该可以,但您需要编写自己的SocketFactory并配置JavaMail才能使用它。 SocketFactory需要使用HTTP CONNECT协议命令通过HTTP代理服务器建立连接,然后将套接字转到JavaMail以供使用。您可能需要自己编写HTTP协议支持,而不是使用HttpURLConnection。

或者,有些程序充当SOCKS代理服务器并通过Web代理服务器转发消息。然后,您可以在JavaMail中使用SOCKS支持。

答案 1 :(得分:0)

作为替代方法,您还可以使用javamail4ews

直接连接到提供EWS的Exchange服务器并使用JavaMail。