回答
的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