217.6. SSL 支持

底层邮件框架负责提供 SSL 支持。 您可以通过完全指定所需的 Java 邮件 API 配置选项来配置 SSL/TLS 支持,或者您可以通过组件或端点配置来提供配置的 SSLContextParameters。

217.6.1. 使用 JSSE 配置实用程序

Camel 2.10 开始,邮件组件通过 Camel JSSE 配置实用程序 支持 SSL/TLS 配置。  这个实用程序可大大减少您需要编写的组件特定代码的数量,并在端点和组件级别进行配置。  以下示例演示了如何将 实用程序用于邮件组件。

端点的程序配置

KeyStoreParameters ksp = new KeyStoreParameters();
ksp.setResource("/users/home/server/truststore.jks");
ksp.setPassword("keystorePassword");
TrustManagersParameters tmp = new TrustManagersParameters();
tmp.setKeyStore(ksp);
SSLContextParameters scp = new SSLContextParameters();
scp.setTrustManagers(tmp);
Registry registry = ...
registry.bind("sslContextParameters", scp);
...
from(...)
    .to("smtps://smtp.google.com?username=user@gmail.com&password=password&sslContextParameters=#sslContextParameters");

基于 Spring DSL 端点配置

...
<camel:sslContextParameters id="sslContextParameters">
  <camel:trustManagers>
    <camel:keyStore resource="/users/home/server/truststore.jks" password="keystorePassword"/>
  </camel:trustManagers>
</camel:sslContextParameters>...
...
<to uri="smtps://smtp.google.com?username=user@gmail.com&password=password&sslContextParameters=#sslContextParameters"/>...