- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我突然遇到一个问题场景是我在 selenium 中有 TestNG 项目,当我在执行测试用例后执行测试用例时,我使用 gmail smpt 和端口 465 调用在另一个类“SendMail.java”中编写的 SendMail 函数,它会自动附加输出中的“emailable-report”执行测试用例后的文件夹,最初多次成功,但突然我收到如下所示的异常
DEBUG: setDebug: JavaMail version 1.4.7
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 465, isSSL false
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465;
nested exception is:
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
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1961)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:654)
at javax.mail.Service.connect(Service.java:295)
at javax.mail.Service.connect(Service.java:176)
at automationframework.SendMail.sendMail(SendMail.java:134)
at automationframework.SendMail.execute(SendMail.java:22)
at automationframework.Iparkit_Login.sendReportMail(Iparkit_Login.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:564)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:308)
at org.testng.SuiteRunner.run(SuiteRunner.java:240)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
Caused by: 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
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1884)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:276)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:270)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1439)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:209)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:878)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:814)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1016)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)
at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:549)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:354)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:211)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1927)
... 24 more
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
at sun.security.validator.Validator.validate(Validator.java:260)
at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1421)
... 35 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:196)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:268)
这是我的 SendMail.java 类
package automationframework;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public class SendMail
{
//reportFileName = TestExecutionResultFileName
public static void execute(String reportFileName) throws Exception
{
String path="D:\\K - Selenium\\SeleniumWorkspace\\iParkit-copy\\test-output\\emailable-report.html";
String[] to={"receipient@gmail.com"};
String[] cc={};
String[] bcc={};//"<AutomationTester>"};
SendMail.sendMail("sender@gmail.com",
"*******",
"smtp.gmail.com",
"465",
"true",
"true",
true,
"javax.net.ssl.SSLSocketFactory",
"false",
to,
cc,
bcc,
"Test Execution Reports",
"Please find attached Test Suite Execution Report",
path,
reportFileName);
}
public static boolean sendMail(String userName,
String passWord,
String host,
String port,
String starttls,
String auth,
boolean debug,
String socketFactoryClass,
String fallback,
String[] to,
String[] cc,
String[] bcc,
String subject,
String text,
String attachmentPath,
String attachmentName){
//Object Instantiation of a properties file.
Properties props = new Properties();
props.put("mail.smtp.user", userName);
props.put("mail.smtp.host", host);
if(!"".equals(port)){
props.put("mail.smtp.port", port);
}
if(!"".equals(starttls)){
props.put("mail.smtp.starttls.enable",starttls);
props.put("mail.smtp.auth", auth);
}
if(debug){
props.put("mail.smtp.debug", "true");
}else{
props.put("mail.smtp.debug", "false");
}
if(!"".equals(port)){
props.put("mail.smtp.socketFactory.port", port);
}
if(!"".equals(socketFactoryClass)){
props.put("mail.smtp.socketFactory.class",socketFactoryClass);
}
if(!"".equals(fallback)){
props.put("mail.smtp.socketFactory.fallback", fallback);
}
try{
Session session = Session.getDefaultInstance(props, null);
session.setDebug(debug);
MimeMessage msg = new MimeMessage(session);
msg.setText(text);
msg.setSubject(subject);
Multipart multipart = new MimeMultipart();
MimeBodyPart messageBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(attachmentPath);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(attachmentName);
multipart.addBodyPart(messageBodyPart);
msg.setContent(multipart);
msg.setFrom(new InternetAddress(userName));
for(int i=0;i<to.length;i++){
msg.addRecipient(Message.RecipientType.TO, new
InternetAddress(to[i]));
}
for(int i=0;i<cc.length;i++){
msg.addRecipient(Message.RecipientType.CC, new
InternetAddress(cc[i]));
}
for(int i=0;i<bcc.length;i++){
msg.addRecipient(Message.RecipientType.BCC, new
InternetAddress(bcc[i]));
}
msg.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect(host, userName, passWord);
transport.sendMessage(msg, msg.getAllRecipients());
transport.close();
return true;
} catch (Exception mex){
mex.printStackTrace();
return false;
}
}
}
请帮助我,我已经为此苦苦挣扎了两天,但没有解决方案对我有用
最佳答案
最后我自己解决了我的问题,我运行了 Avast Anti Virus,我将其关闭,现在它像魅力一样工作......
关于java - TestNG 电子邮件报告 - PKIX 路径构建异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34459012/
我已将所有插件设置为与 Maven 一起使用,但是当我尝试编译我的 Maven 项目时 使用以下命令 mvn clean install -Dmaven.test.skip=true 我在 cmd
我正在构建一个必须调用两个网络服务的服务器。 Web 服务具有相同的 CA 证书 (PKCS12)。 第一个通过 GET 接收请求,另一个通过 SOAP 调用接收请求。 遵循为 GET 请求创建连接的
我正在尝试使用java通过gmail发送邮件但我遇到了一些异常(exception)代码如下: public static void send_java_mail() throws IOExcept
这个问题在这里已经有了答案: Resolving javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorExce
我今天注意到,我的服务拒绝 API 证书。它不是自签名证书,而是 let's encrypt 颁发的证书。我发现它在浏览器和一些在线证书检查工具中看起来不错。它上周一直运行良好 - 但不知何故在周末停
我正在尝试用 Java 下载 https url 的内容,但什么时候出现此错误。 PKIX path building failed: sun.security.provider.certpath.S
我们运行标准的 Linux、Apache、Tomcat、Java 堆栈。 一个多月前,我们遇到了一个问题,我们连接的其中一项服务在一夜之间更新了他们的数字证书,这打破了信任链。我们收到错误消息 sun
在此先感谢您的帮助。 我针对部署到非安全内部 QA 环境的 API 在 Java TestNG 中开发了一套 API 测试。最近,这个应用程序被重新部署到一个新的、安全的环境中。发生这种情况时,我开始
我刚刚为我们的域购买了一个新的通配符 ssl 证书,因为我们的旧证书即将到期。我已将它安装在我们的 cas 服务器和我们的应用程序服务器上,但是我在我们的应用程序服务器上得到以下堆栈跟踪: Messa
很抱歉打开另一个相同主题的问题,但我认为这个子问题会使 other one 膨胀被遗忘。 我遇到了提到的错误消息,它非常不具体(至少对我而言)。调试输出显示证书已加载,然后仅显示提到的错误。我用自己的
报错问题如图: 仔细看报错问题后发现,这个错误的主要原因是: ValidatorException:PKIX path building failed : sun.security.provi
我一直在寻找关于 的一些解决方案javax.net.ssl.SSLHandshakeException:PKIX 路径构建失败:sun.security.provider.certpath.SunCe
我正在运行 wso2 中的 Playground2 示例 post ,当我提交获取访问 token 的表单时出现以下错误 javax.net.ssl.SSLHandshakeException: su
我正在尝试使用 jhipster 生成基于角度的应用程序,但当我尝试运行 ./mvnw 时,PKIX 路径构建失败。下面我附上了我的应用程序生成步骤和错误日志。我使用的是 macOS Mojave,节
我正在尝试 flutter 和 react-native(我是初学者开发人员),我必须为我的公司构建一个小型原型(prototype),但我无法通过“运行我的第一个应用程序”这一步由于证书错误(详见下
我突然遇到一个问题场景是我在 selenium 中有 TestNG 项目,当我在执行测试用例后执行测试用例时,我使用 gmail smpt 和端口 465 调用在另一个类“SendMail.java”
我有一组用 Java 编写的“包装器”服务,运行在 AWS 上的 Tomcat 8 上,它们调用客户端的一组 MIME 服务。当我尝试调用他们的服务时,我得到一个 SSLHandshakeExcept
在将我的应用程序从 Windows 2000 迁移到 Windows 2008 R2 Server 后,我花了将近一周的时间才让我的应用程序正常运行。 过程: 已安装 Java JDK 1.7.0_2
我目前正在尝试将我的 spring boot 微服务连接到 keycloak,以验证来自前端的所有 token 并验证用户。为此,我将 keycloak 适配器用于 spring boot。这是我第一
我正在使用 Liferay 和 eclipse,并使用加密套接字 (SSL) 运行客户端/服务器模型。 目前,当我以批处理模式运行应用程序时,我的应用程序运行客户端/服务器连接正常,但是当我尝试在 E
我是一名优秀的程序员,十分优秀!