回答
的JavaMail目前不支持通过Web代理服务器访问邮件服务器。使用代理服务器的主要原因之一是允许来自公司网络的HTTP请求通过企业防火墙。防火墙通常会阻止对Internet的大部分访问,但会允许来自代理服务器的请求通过。此外,公司网络内的邮件服务器将执行类似的电子邮件功能,通过SMTP接收邮件并将它们转发到Internet上的最终目的地,并接收传入邮件并将邮件发送到相应的内部邮件服务器。
如果您的代理服务器支持SOCKS V4或V5协议(http://www.socks.nec.com/aboutsocks.html,RFC1928),并允许匿名连接,可以告诉Java运行时指示所有TCP socket连接到SOCKS服务器。有关socksProxyHost和socksProxyPort属性的最新文档,请参阅Networking Properties指南。这些是系统级属性,而不是JavaMail会话属性。可以在调用应用程序时从命令行设置它们,例如:
java -DsocksProxyHost=myproxy ...
。该工具可用于将SMTP,IMAP和POP3通信从JavaMail指向SOCKS代理服务器。请注意,设置这些属性会将所有TCP套接字指向SOCKS代理,这可能会对应用程序的其他方面产生负面影响。没有这样的SOCKS服务器,如果你想用JavaMail直接访问防火墙外的邮件服务器,防火墙需要配置为允许这样的访问。 JavaMail不支持通过HTTP代理Web服务器进行访问。
请注意FAQ已更新:“如果您的代理服务器支持SOCKS V4或V5协议(http://www.socks.nec.com/aboutsocks.html,RFC1928)并允许匿名连接,并且您使用的是JDK 1.5或更高版本以及JavaMail 1.4.5或更新版本,您可以通过设置com.un的javadoc中所述的“mail.smtp.socks.host”属性,以每个会话,每个协议为基础配置SOCKS代理.mail.smtp包“。 – svaor 2012-09-21 05:05:30
- 1. 如何通过代理发送电子邮件与smtplib模块?
- 2. 使用CDO通过代理发送电子邮件
- 3. 通过网络代理使用C#发送电子邮件
- 4. 通过代理使用Gmail发送电子邮件smtp
- 5. 通过电子邮件发送文件
- 6. 通过带有java邮件API的struts发送电子邮件
- 7. 通过Java邮件发送电子邮件
- 8. 如何通过电子邮件发送电子邮件地址
- 9. 通过Javamail发送电子邮件
- 10. 回复通过电子邮件发送
- 11. 通过VB6发送电子邮件
- 12. 通过Gmail发送电子邮件
- 13. 通过电子邮件发送Spark DataFrame
- 14. 通过Python发送电子邮件
- 15. 通过Python发送Outlook电子邮件?
- 16. 通过gmail发送电子邮件,Laravel
- 17. 通过电子邮件发送的navigator.userAgent
- 18. 通过Gmail发送Sitecore电子邮件
- 19. 发送电子邮件通过WebService
- 20. 通过Magento发送电子邮件
- 21. 发送电子邮件通过GoDaddy
- 22. 通过asp.net发送电子邮件3.5
- 23. 通过HTML/C发送电子邮件#
- 24. 通过SMTP发送电子邮件
- 25. 通过php发送电子邮件
- 26. 通过Qt发送电子邮件
- 27. 通过电子邮件发送短信
- 28. 通过mysql bash发送电子邮件
- 29. 通过Microsoft Exchange发送电子邮件
- 30. 通过电子邮件发送表格
您需要更具体地说明您正在谈论的是哪种代理服务器。 – 2011-02-27 04:00:24