gpt4 book ai didi

java - Spring Boot 和 Camel Mail SSL 配置

转载 作者:太空宇宙 更新时间:2023-11-03 13:50:33 25 4
gpt4 key购买 nike

我正在尝试使用 Camel 配置 Spring Boot,以便能够使用 smtps 发送邮件。我有简单的路线

@Component
public class EmailRoute extends RouteBuilder {

public static final String IN = "seda://email";

public static final String OUT = "smtps://myhost:465?myuser&password=mypass&debugMode=true";

@Override
public void configure() throws Exception {
from(IN).to(OUT);
}

当我使用此路由发送内容时出现错误:

javax.mail.MessagingException: Could not connect to SMTP host : myhost    
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

我有 pem 文件证书(没有 key ,只有证书),我已经将它导入到 jks 钥匙串(keychain)文件中

向 EmailRoute 类添加了一个方法来创建 SSLContextParameters 参数

private SSLContextParameters sslContextParameters(){
KeyStoreParameters store = new KeyStoreParameters();
store.setResource("pathToJskFile/cert.jks");
store.setPassword("123456");

TrustManagersParameters trust = new TrustManagersParameters();
trust.setKeyStore(store);

SSLContextParameters parameters = new SSLContextParameters();
parameters.setTrustManagers(trust);

return parameters;
}

现在不确定如何使用 camel 和 spring boot 连接两个,因为带有注册表的 http://camel.apache.org/mail.html 示例不是 100% 清楚

最佳答案

您可能会使用 Spring Boot 在其注册表中使用 @Bean 注册 SSLContextParameters

公开该方法并添加@Bean注解:

@Bean
public SSLContextParameters myMailSslContextParameters() {

然后使用 # 查找语法告诉 Camel smtp 端点使用它:

smtps://myhost:465?myuser&password=mypass&debugMode=true&sslContextParameters=#myMailSslContextParameters

注意方法的名称是您用于查找的名称。

关于java - Spring Boot 和 Camel Mail SSL 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48241506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com