javax.net.ssl.SSLHandshakeException: sun.security.validatorException:PKIX path building failed:sun.security.provider.certpath.SunCertPathBuilderException: 无法找到请求目标的有效证书路径
在使用 TLS 或 SSL 时,Java 可能无法识别电子邮件服务器证书。
在这种情况下,您必须手动将电子邮件服务器、发行者和根证书导入 ADAudit Plus。
如果您没有电子邮件服务器证书,请使用 OpenSSL 工具通过以下步骤从电子邮件服务器检索证书:
Openssl s_client -connect <邮件服务器名称>:<ssl端口>
Openssl s_client -connect <邮件服务器名称>:<tls端口> -starttls smtp
要将证书导入 ADAudit Plus:
keytool -import -v -alias adap -file "certificateName" -keystore "<ADAudit Plus_安装目录>\jre\lib\security\cacerts" -keypass changeit
注意 : 要检查证书是否已导入,请打开命令提示符,导航到<ADAudit Plus_Installation directory>\jre\bin,并执行以下命令:
keytool -v -list -keystore ..\lib\security\cacerts>Certificate.txt
执行此命令后,您会在<ADAudit Plus_Installation directory>\jre\bin文件夹中找到一个名为Certificate的文本文件。打开该文件,验证所需的证书是否在文件中。
一旦下载的证书成功导入,您应该能够发送电子邮件。但是,如果问题仍然存在,请联系support@manageengine.cn。
javax.net.ssl.SSLHandshakeException无法转换为javax.mail.MessagingException
当ADAudit Plus服务器和邮件服务器无法通信时,会发生此异常。这可能是因为使用了错误的端口或错误的安全连接详细信息。
检查是否可以通过邮件服务器发送电子邮件,使用以下其中之一:
注意: 一旦连接到目标SMTP服务器,Telnet会话中无法使用退格键。如果在输入SMTP命令时出错,您应该按Enter并重新输入命令。
set localecho
set logfile <filename>
OPEN <mail server name> <port>
EHLO <mail server name>
命令提示符将返回支持命令的列表。
MAIL FROM:<your_name@yourdomain.com>
命令提示符应返回消息“250 2.1.0 Sender OK”。
RCPT TO:<recipient@recipientdomain.com> NOTIFY=success,failure
注意: NOTIFY命令是可选的。在此示例中,它用于请求送达状态通知,指示消息送达是否成功或失败。
openssl s_client -connect <邮件服务器名称>:<sslport>
openssl s_client -connect <邮件服务器名称>:<tlsport> -starttls smtp
EHLO <邮件服务器名称>
AUTH LOGIN
MAIL FROM:<your_name@yourdomain.com>
RCPT TO:<recipient@recipientdomain.com>
java -cp "<ADAudit Plus_安装目录>\lib\Mail-1.4.4.jar;." TestMail
服务器名称/IP | 输入您的邮件服务器名称。 |
---|---|
端口 | 输入您的邮件服务器使用的端口。 |
安全连接(SSL/TLS) | 指定您希望使用的连接。 |
发件邮箱 | 输入发件人的电子邮件地址。 |
密码 | 输入密码。 |
收件邮箱 | 输入收件人的电子邮件地址。 |
主题 | 输入主题。 |
消息 | 输入您的消息。 |
一旦您指定了上述详细信息,如果邮件成功发送,您将收到“250 2.0.0 OK”的确认。
如果您无法发送电子邮件,问题可能出在邮件服务器上。请检查您的邮件服务器设置是否配置正确。如果您能够成功发送电子邮件,但异常仍然存在,请联系 support@manageengine.cn 以解决此问题。