`

关于用javamail发送qq邮件时出现 PKIX path building failed异常解决办法

    博客分类:
  • JAVA
 
阅读更多

关于javamail 使用SSl方式发送邮件的问题。我在官网上面终于找到答案了。

一直连接不上stmp.**.com:465的服务器时因为需要证书,而网上提供的生成证书的一个..java根本就没有用。

最后在官网上面看到了这段话。

 

In earlier releases it was necessary to explicitly set a socket
factory property to enable use of SSL.  In almost all cases, this
is no longer necessary.  SSL support is built in.  However, there
is one case where a special socket factory may be needed.

JavaMail now includes a special SSL socket factory that can simplify
dealing with servers with self-signed certificates.  While the
recommended approach is to include the certificate in your keystore
as described above, the following approach may be simpler in some cases.

The class com.sun.mail.util.MailSSLSocketFactory can be used as a
simple socket factory that allows trusting all hosts or a specific set
of hosts.  For example:

    MailSSLSocketFactory sf = new MailSSLSocketFactory();
    sf.setTrustAllHosts(true);
    // or
    // sf.setTrustedHosts(new String[] { "my-server" });
    props.put("mail.smtp.ssl.enable", "true");
    // also use following for additional safety
    //props.put("mail.smtp.ssl.checkserveridentity", "true");
    props.put("mail.smtp.ssl.socketFactory", sf);

Use of MailSSLSocketFactory avoids the need to add the certificate to
your keystore as described above, or configure your own TrustManager
as described below.(使用MailSSLSocketFactory避免了需要添加证书,你的密钥库如上所述,或配置自己的TrustManager。如下所述。

 

 使用这个方法后马上使用SSL发送邮件的方式,发送成功了。真心不容易。

官网还提供了一个自己实现的加密管理类,可以使用。在这里我就不贴上来了。直接上官网的地址。

http://www.oracle.com/technetwork/java/javamail145sslnotes-1562622.html

 

分享到:
评论

相关推荐

    关于用javamail发送邮件时,由于邮件服务器要SSL,解决办法

    当邮件服务器需要自签名证书时,可能会出现“sun.security.validator.ValidatorException: PKIX path building failed”这样的错误。为了解决这个问题,我们可以使用`InstallCert.java`这个工具。这是一个简单的Java...

    使用JAVAMail代发邮件

    在发送邮件时,我们需要使用 Session 对象来配置邮件服务器的连接信息。Session 对象是 JavaMail 库中的一个核心对象,用于配置邮件服务器的连接信息。我们可以使用 Session 对象的 setProperty 方法来设置邮件...

    用javaMail发送邮件

    下面是一个简单的JavaMail发送邮件的步骤: 1. **导入必要的库**:首先,在项目中导入`mail.jar`和`activation.jar`,确保编译和运行时能够访问到这些库。 2. **配置邮件会话**:创建一个`Properties`对象,设置...

    javaMail发送邮件 发送成功 收不到邮件 或收到邮件无主题无收件人乱码

    ### JavaMail发送邮件时遇到的问题及解决方法 在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将...

    JavaMail发送邮件(文本、html、附件)

    这个标题"JavaMail发送邮件(文本、html、附件)"涵盖了使用JavaMail API发送不同格式邮件的核心功能。下面将详细介绍如何利用JavaMail发送文本、HTML和包含附件的邮件,以及在实际应用中需要注意的配置步骤。 1. *...

    Spring整合JavaMail发送qq邮件

    下面将详细讲解如何利用Spring整合JavaMail发送QQ邮件。 首先,我们需要在项目中引入JavaMail的相关依赖。在Maven项目中,可以在pom.xml文件中添加如下依赖: ```xml <groupId>com.sun.mail</groupId> ...

    如何用javamail定时发送邮件

    创建一个方法来使用 JavaMail 发送邮件。这通常包括配置 SMTP 服务器信息,创建 `Session` 对象,以及构建 `MimeMessage` 实例。 ```java import javax.mail.*; import javax.mail.internet.*; public void ...

    JavaMail发送邮件的例子

    下面我们将深入探讨JavaMail的基本概念、如何使用JavaMail发送邮件以及在Struts2框架中的实现方式。 JavaMail API主要包括以下组件: 1. `javax.mail.Session`:是JavaMail的核心,负责配置邮件服务器的信息,如...

    javaMail 发邮件

    这个例子展示了如何使用JavaMail发送带附件的邮件。需要注意的是,实际应用中应处理各种异常,确保邮件发送的健壮性。此外,如果你的邮件服务器需要身份验证,还需要提供一个Authenticator来处理登录信息。 总的来...

    JavaMail 具备垃圾邮件过滤功能的邮箱

    JavaMail 是一个强大的Java库,它允许开发人员在Java应用程序中实现邮件的发送、接收以及管理功能。这个项目不仅提供了SMTP、POP3和IMAP协议的支持,还包含了丰富的API,可以方便地处理邮件的MIME编码、附件、HTML...

    javaMail实现发送邮件的demo

    JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。它提供了一组 API,使得开发者可以方便地在 Java 应用程序中集成邮件功能。本示例将介绍如何使用 JavaMail 实现发送邮件的功能。 首先,我们需要...

    javamail 收发电子邮件

    JavaMail 是一个强大的开源库,专门用于在Java应用程序中实现电子邮件的发送和接收。它支持多种邮件协议,如SMTP(简单邮件传输协议)用于发送邮件,IMAP(因特网消息访问协议)和POP3(邮局协议)用于接收邮件。在...

    用JavaMail发送邮件

    本篇文章将深入探讨如何使用JavaMail发送邮件,以及如何结合提供的`mail.jar`库进行实际操作。 首先,发送邮件的基本步骤包括设置邮件服务器配置、创建邮件消息对象、设置邮件属性和头信息,以及最后通过Transport...

    javamail发送邮件.zip

    这个“javamail发送邮件.zip”压缩包显然包含了一个示例项目,演示如何使用JavaMail API发送包含正文文本、图片以及附件的邮件。以下是对这个主题的详细解释: 1. **JavaMail API**: JavaMail API 是一组接口和类...

    使用javaMail发邮件及收取邮箱未读邮件并标记为已读

    JavaMail 是一个强大的 Java 库,它允许开发者在应用程序中实现电子邮件的发送和接收功能。这个库支持多种邮件协议,如 SMTP(简单邮件传输协议)用于发送邮件,POP3(邮局协议)和 IMAP(因特网消息访问协议)用于...

    javamail发送html邮件

    JavaMail API 是一个用于发送、接收电子邮件的标准接口集合,它支持多种协议(如 SMTP、IMAP 和 POP3),使得 Java 应用程序能够轻松地发送和接收电子邮件。 #### 二、发送 HTML 格式的邮件 在实际应用中,经常需要...

    javamail代码发送QQ邮件

    在使用JavaMail发送QQ邮件时,我们需要遵循一些步骤和使用特定的API。以下是对这个主题的详细讲解: 1. **JavaMail API 简介** JavaMail API 是Java平台上的一个标准接口,它提供了发送和接收电子邮件的能力。它...

    javaMail学习(七)——使用javaMail发复杂邮件

    JavaMail 是一个开源库,用于在 Java 应用程序中发送和接收电子邮件。在这个主题“javaMail学习(七)——使用javaMail发复杂邮件”中,我们将深入探讨如何使用 JavaMail API 发送包含多种附件、HTML 内容和其他复杂...

    使用javaMail发送邮件

    JavaMail 是一个开源库,用于在Java应用程序中发送和接收电子邮件。这个库提供了一组API,使得开发者可以方便地处理SMTP、POP3、IMAP等邮件协议。在本篇文章中,我们将深入探讨如何使用JavaMail API来实现邮件的发送...

Global site tag (gtag.js) - Google Analytics