如何通过 SSL 连接配置 TeamCity 电子邮件通知?

How to configure TeamCity e-mail notification via SSL connection?

我已将 TeamCity 电子邮件通知配置为使用安全连接 SSL。所有参数 - 指定主机、端口、login/pwd。相同的参数适用于 SVN 电子邮件通知,因此这不是问题。 在连接测试期间,TeamCity 说:

javax.mail.MessagingException: Could not connect to SMTP host: XXX, port: YYY;
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

我应该怎么做才能解决这个错误?

问题是由缺少证书引起的。以下是修复它的步骤:

1) 从您的邮件服务器获取客户端证书。 Here 是如何操作的说明。复制 -----BEGIN CERTIFICATE----------END CERTIFICATE----- 之间的所有内容并将其保存到 email.cer 文件中。页脚和页眉也应复制。

2) 下载 Portecle 工具。

3) 转到您的 TeamCity 文件夹\jre\bin 并从那里 运行:

 java -jar D:\portecle\portecle.jar

4) 在 Portecle 工具中打开位于 TeamCity 文件夹\jre\lib\security\cacerts 的密钥库。它会询问密码,默认是 changeit

5) 导入您的 email.cer 并保存更改。

6) 重新启动您的 Team City 服务器。