【发布时间】:2012-07-12 19:07:36
【问题描述】:
我使用javamail发送邮件(SMTP协议)如下
String host = "smtp.gmail.com";
:
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.socks.host","sock_proxy_host");
props.put("mail.smtp.socks.port","sock_proxy_port");
Session session = Session.getInstance(props,new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("..", "..");
}
});
但我使用的 socks 代理需要基本身份验证。我正在尝试将凭据设置为
System.setProperty("java.net.socks.username", "socks_username");
System.setProperty("java.net.socks.password", "socks_passwd");
还有其他方法可以设置 socks 代理用户名/密码(使用 javamail API)吗?
【问题讨论】:
-
JavaMail 使用 java.net.Proxy 类来提供 SOCKS 支持,遗憾的是它不允许指定代理的用户名和密码。希望按照以下建议设置身份验证器。
标签: proxy jakarta-mail socks