繁体   English   中英

通过代理发送来自java的电子邮件

[英]Send an email from java through proxy

我使用Java Mail API发送电子邮件并接收它们。 现在我正在做这个项目的地方有一个代理服务器。

我可以知道如何通过代理服务器从java发送电子邮件吗?

请参阅常见问题解答。

JavaMail目前不支持通过Web代理服务器访问邮件服务器。 使用代理服务器的一个主要原因是允许来自公司网络内的HTTP请求通过公司防火墙。 防火墙通常会阻止对Internet的大多数访问,但允许来自代理服务器的请求通过。 此外,公司网络内的邮件服务器将执行类似的电子邮件功能,通过SMTP接收邮件并将其转发到Internet上的最终目的地,并接受传入邮件并将其发送到相应的内部邮件服务器。

如果您的代理服务器支持SOCKS V4或V5协议( http://www.socks.nec.com/aboutsocks.htmlRFC1928 ),并允许匿名连接,可以告诉Java运行时指示所有TCP socket连接到SOCKS服务器。 有关socksProxyHost和socksProxyPort属性的最新文档,请参阅网络属性指南。 这些是系统级属性,而不是JavaMail会话属性。 可以在调用应用程序时从命令行设置它们,例如: java -DsocksProxyHost=myproxy ... 此工具可用于将SMTP,IMAP和POP3通信从JavaMail定向到SOCKS代理服务器。 请注意,设置这些属性会将所有TCP套接字定向到SOCKS代理,这可能会对应用程序的其他方面产生负面影响。

如果没有这样的SOCKS服务器,如果要使用JavaMail直接访问防火墙外的邮件服务器,则需要配置防火墙以允许此类访问。 JavaMail不支持通过HTTP代理Web服务器进行访问。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM