关于用javamail发送邮件时,由于邮件服务器要SSL
发送邮件时得到异常如下:
exception reading response: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Google一下,需要保存安装证书
官方的QA http://java.sun.com/products/javamail/FAQ.html#installcert
Q: When connecting to my mail server over SSL I get an exception like
"unable to find valid certification path to requested target".
A: Your server is probably using a test certificate or self-signed
certificate instead of a certificate signed by a commercial Certificate
Authority. You'll need to install the server's certificate into your
trust store. The InstallCert program will help.
在这里 http://blogs.sun.com/andreas/entry/no_more_unable_to_find
有解决方案
用 http://blogs.sun.com/andreas/resource/InstallCert.java
的代码来安装证书
1.编译安装证书程序 javac InstallCert.java;
运行安装证书生成证书 java InstallCert smtp.mailtest.com:465
2.将得到jssecacerts文件后复制到jdk1.6.0_16\jre\lib\security或jre1.6.0_06\lib\security\目录
3.编译测试程序 javac -cp ./mail.jar;./ SendMail.java
4.运行java -cp ./mail.jar;./ SendMail
根据提示信息查看邮件发送情况
注。smtp.mailtest.com 为测试的域名。根据实际情况修改测试程序及相关域名。
分享到:
相关推荐
以上就是使用JavaMail发送邮件的基本过程。在实际开发中,可能还需要处理更多复杂情况,如SSL/TLS加密、HTML邮件、多部分消息等。JavaMail API提供了丰富的功能来应对这些需求,让开发者能够灵活地构建邮件系统。 ...
这个“javamail发送邮件.zip”压缩包显然包含了一个示例项目,演示如何使用JavaMail API发送包含正文文本、图片以及附件的邮件。以下是对这个主题的详细解释: 1. **JavaMail API**: JavaMail API 是一组接口和类...
以上就是使用JavaMail API发送邮件的基本步骤。需要注意的是,实际应用中可能需要处理各种异常,如网络问题、认证失败等。此外,对于SSL/TLS安全连接,还需要设置相应的属性,如`mail.smtp.starttls.enable`。 ...
在这个例子中,我们将详细探讨如何使用JavaMail发送邮件,包括SMTP认证、添加附件以及发送HTML内容的邮件。 首先,为了使用JavaMail API,我们需要引入相应的库。在这个例子中,`javamail`和`JAF`(JavaBeans ...
下面是一个使用JavaMail发送邮件的详细示例代码: ```java import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class EmailSender { public ...
JavaMail 是一个强大的开源库,用于在Java应用程序中发送...以上就是使用JavaMail发送邮件的详细过程,以及与文本编辑器KindEditor的集成方式。在开发过程中,记得根据具体需求调整和优化代码,以满足不同的业务场景。
以下是使用JavaMail发送邮件的基本代码示例(简化版): ```java import javax.mail.*; import javax.mail.internet.*; public class EmailSender { public static void main(String[] args) { String from = ...
4. **发送邮件**:最后,使用`Transport.send()`方法发送邮件。 #### 接收邮件 接收邮件则涉及到了解POP3或IMAP协议,主要步骤包括连接到邮件服务器、登录账户、检索邮件列表和下载邮件内容等。具体流程如下: 1....
4. **创建Session**:使用配置的属性创建一个`Session`对象,这将用于与邮件服务器通信。 ```java Session session = Session.getInstance(props, new Authenticator() { protected PasswordAuthentication ...
JavaMail 是一个强大的开源库,它为Java开发者提供了一套完整的API来处理电子邮件的发送...记住,为了确保邮件的稳定发送,需要根据实际的邮件服务器配置调整代码,比如是否使用TLS/SSL,以及相应的端口号和认证方式。
这个“完整的javamail发送邮件源码”提供了一种直接可用的解决方案,帮助开发者快速集成邮件发送功能到他们的项目中。以下是对JavaMail核心知识点的详细解析: 1. JavaMail API:JavaMail API 是一组用于处理邮件的...
在给定的文件中,`MailExample.java`很可能是展示如何使用JavaMail发送邮件的示例代码。它可能包含以下步骤: 1. 创建`Properties`对象,设置邮件服务器的相关属性,如SMTP主机名、端口、是否使用SSL等。 2. 创建`...
`Session`代表邮件会话,用于管理与邮件服务器的连接;`MimeMessage`用于创建和编辑邮件内容;`Multipart`用于组织多个部分的内容,如文本和附件;`Message`是邮件的抽象接口;`Transport`则负责实际的邮件发送工作...
在使用JavaMail发送邮件前,你需要在项目中引入相关的依赖包。在描述中提到的"javamail"可能是指JavaMail的jar包,这是进行邮件操作的基础。确保你的项目已包含以下两个关键的JavaMail库: 1. `javax.mail-api.jar`...
发送邮件是JavaMail的核心功能之一。在Java中,我们可以使用`javax.mail`和`javax.mail.internet`这两个包中的类来实现邮件的发送。首先,我们需要设置邮件会话属性,这包括SMTP服务器地址、端口号、用户名和密码。...
3. **编写邮件发送代码**:下面是一个简单的示例,展示了如何使用JavaMail发送一封纯文本邮件: ```java Properties props = new Properties(); props.put("mail.smtp.host", "smtp.example.com"); props.put(...
使用JavaMail发送邮件的基本步骤如下: 1. **导入依赖**: 首先,你需要将上述提到的JAR文件添加到项目的类路径中,确保Java程序可以访问这些库。 2. **配置属性**: 创建一个`Properties`对象,设置邮件服务器的...
`Transport`用于发送邮件,而`Store`则用于连接邮件服务器并接收邮件。 使用JavaMail API的内容会涵盖实际的代码示例,比如如何创建和发送简单的文本邮件、带有附件的邮件,以及如何接收和读取邮件。这部分还会涉及...
在Android应用开发中,有时需要实现自动发送邮件的功能,例如在程序出现异常时发送错误报告。在这种情况下,使用Intent方式(比如通过系统默认的邮件应用)并不适用,因为这会依赖用户是否有设置邮件客户端,或者...