javamail实现代理发送邮件,总是发送失败。麻烦各位帮忙看看,多谢!
代理设置代码:
/**
* 获得邮件会话属性
*/
public Properties getProperties() {
Properties p = null;
//普通方式发送邮件
if(!isProxy) {
p = new Properties();
p.put("mail.smtp.host", this.mailServerHost);
p.put("mail.smtp.port", this.mailServerPort);
}
//代理方式方式邮件
if(isProxy) {
p = System.getProperties();
p.setProperty("proxySet", "true");
p.setProperty("mail.smtp.host", this.mailServerHost);
p.setProperty("http.proxyhost", "192.168.1.250");
p.setProperty("http.proxyport", "808");
// p.setProperty("proxySet", "true");
// p.setProperty("mail.stmp.host", map.get("Email_Host").toString());
// p.setProperty("http.proxyhost",map.get("Email_Proxy_Host").toString());
// p.setProperty("http.proxyport",map.get("Email_Proxy_Port").toString());
}
p.put("mail.smtp.auth", validate ? "true" : "false");
return p;
}
通过代理可以上网,但是邮件总是发送失败。错误如下:
javax.mail.MessagingException: Unknown SMTP host: smtp.126.com;
nested exception is:
java.net.UnknownHostException: smtp.126.com
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1211)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:311)
at javax.mail.Service.connect(Service.java:255)
at javax.mail.Service.connect(Service.java:134)
at javax.mail.Service.connect(Service.java:86)
at com.sun.mail.smtp.SMTPTransport.connect(SMTPTransport.java:144)
at javax.mail.Transport.send0(Transport.java:150)
at javax.mail.Transport.send(Transport.java:80)
多谢!
分享到:
相关推荐
文档详细描述,linux不通外网的情况下,通过在另一台通外网的服务器搭建socks5代理服务,不通外网的服务器通过socks5代理,成功向外网发送邮件的功能。
JavaMail是一种开源的Java库,它允许开发人员在Java应用程序中发送和接收电子邮件。IMAP(Internet Message Access Protocol)是一种标准的邮件访问协议,用于从邮件服务器检索邮件。Exchange 2007是微软的企业级...
- **作用**:用于将邮件从发件人的服务器发送到收件人的服务器。 - **特点**:SMTP 服务器不需要支持授权转发,但正确的配置非常重要。 2. **POP (邮局协议)** - **版本**:目前最常见的是 POP3。 - **定义**:...
总之,关于“spring mail通过代理发送邮件”的主题,你需要了解Spring Mail的配置、JavaMail API的代理设置,以及可能用到的调试工具和网络环境。结合具体的源码和实践经验,才能确保在各种网络环境下成功发送邮件。
JavaMail 是一个强大的开源库,用于在Java应用程序中发送和接收电子邮件。它提供了一套全面的API,使得开发者能够方便地实现SMTP、POP3、IMAP等邮件协议。结合Redis,我们可以构建一个高效的邮件发送和邮箱认证系统...
1. **创建邮件**:使用 JavaMail API,开发人员可以通过简单的 API 调用来创建邮件对象,并设置邮件的主题、正文、发件人、收件人等信息。 2. **发送邮件**:通过配置 SMTP 服务器的参数,可以利用 JavaMail API ...
本程序是利用javaMail包编写的邮件代理程序,已经用exe4j打包成了二进制可执行文件,安装Java虚拟机后双击图标可直接运行,压缩包内附有源码,已经过测试,可放心使用。欢迎随时交流。 QQ:444080606 Email:运行...
JavaMail API是SUN为Java开发者提供对电子邮件处理的延伸,能用于读取、编写和发送电子消息的包(标准扩展)。为管理电子邮件提供了统一的应用编程接口,它可以处理各种e-mail格式(包括IMAP、POP、SMTP以及MIME)和...
- `javax.mail.Session`:管理整个邮件会话,包括设置邮件发送和接收所需的属性。 - `javax.mail.Message`:代表一封邮件,可以是发送的也可以是接收的。 - `javax.mail.Address`:表示邮件地址,包括发件人、收...
- **发送邮件**: JavaMail API提供了发送邮件的基础方法,包括设置邮件的发件人、收件人、主题、正文等内容。 - **接收邮件**: 支持接收来自服务器的新邮件,可以检查是否有未读邮件,并获取邮件的基本信息。 - **...
它允许开发者创建类似于 Eudora、Pine 或 Microsoft Outlook 的邮件用户代理 (Mail User Agent, MUA),而不是像 Sendmail 或其他邮件传输代理 (Mail Transfer Agent, MTA) 那样用于传输、发送和转发消息。...
JavaMail API是读取、撰写、发送电子信息的可选包。我们可用它来建立如Eudora、Foxmail、MS Outlook Express一般的邮件用户代理程序(Mail User Agent,简称MUA)。而不是像sendmail或者其它的邮件传输代理(Mail ...
JavaMail API 是一套用于处理电子邮件的Java库,它允许开发者编写能够读取、撰写和发送电子邮箱的应用程序,类似于Eudora、Foxmail或MS Outlook Express等邮件用户代理(MUA)。这个API的设计目标是独立于具体的邮件...
- **发送邮件**:通过设置 `Properties` 对象,配置 SMTP 服务器信息,然后使用 `Transport.send()` 方法发送邮件。 - **接收邮件**:连接到 POP3 或 IMAP 服务器,使用 `Store.connect()` 打开连接,然后获取 `...
Java Mail 提供了设置代理的能力,你可以在代码中指定代理服务器的地址和端口,以便顺利发送邮件。 下面是一个简化的Java Mail发送邮件的步骤,展示了一些关键API的使用: 1. 引入Java Mail依赖:首先确保项目中...
JavaMail API同样在发送邮件时起到关键作用,它允许设置邮件头信息(如发件人、收件人、主题等)、添加附件,以及选择适当的SMTP服务器进行发送。 4. 邮件管理:代理服务器还可能提供邮件过滤、分类、存档等高级...
JavaMail API是一种基于Java的可选扩展包,用于读取、编写和发送电子消息,主要用于创建类似于Eudora、Pine或Microsoft Outlook这样的邮件用户代理(MUA)程序。MUA是直接与用户交互的邮件客户端程序,而不同于邮件...
JavaMail程序通过SMTP服务器来发送邮件,该服务器负责将邮件转发给目标地址的SMTP服务器,最终用户可以通过POP或IMAP协议来获取这些邮件。 - **POP (Post Office Protocol)**:POP用于接收邮件,其最新版本是POP3。...
- JavaMail API应用:JavaMail API用于与邮件服务器通信,获取、发送和管理邮件。 - 全文检索:利用Lucene创建邮件索引,用户输入关键词后,系统通过索引进行快速匹配,返回相关邮件。 - MVC模式:通过分离模型、...