gpt4 book ai didi

spring - 如何将自定义 SSLSocketFactory 类与 org.springframework.mail.javamail.JavaMailSenderImpl 一起使用

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

我需要使用自定义 SSLFactory 类来避免邮件服务器上的自签名证书出现问题。我正在尝试使用下一个配置,它适用于 gmail。但是,如果我切换到我的邮件服务器,它就不再工作了,在 wireshark 中我发现错误 TLSv1 Record Layer: Alert (Level: Fatal, Description: Certificate Unknown)。我尝试设置自定义 sslfactory(替换 javax.net.ssl.SSLSocketFactory),但看起来此更改不会影响 JavaMailSenderImpl 的 行为。

邮件服务器支持smtps协议(protocol),需要认证。

<bean id="userAuthorizationManager" class="com.mypackage.manage.SimpleUserAuthorizationManagerImpl">
<property name="mailSender" ref="mailSender" />
<property name="velocityEngine" ref="velocityEngine" />
<property name="from" value="address" />
<property name="authorizationAddress" value="some text" />
<property name="subject" value="some text" />
</bean>

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.gmail.com" />
<property name="port" value="465" />
<property name="username" value="user" />
<property name="password" value="pass" />
<property name="protocol" value="smtps" />

<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.connectiontimeout">5000</prop>
<prop key="mail.smtp.sendpartial">true</prop>
<prop key="mail.smtp.userset">true</prop>
<prop key="mail.mime.charset">UTF-8</prop>
<prop key="mail.smtp.isSecure">true</prop>
<prop key="mail.smtp.requiresAuthentication">true</prop>
<prop key="mail.smtp.port">465</prop>
<prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
<prop key="mail.smtp.socketFactory.fallback">false</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.debug">true</prop>
</props>
</property>
</bean>

<bean id="velocityEngine"
class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
<property name="velocityProperties">
<value>
resource.loader=class
class.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
</value>
</property>
</bean>

如果您需要任何其他东西,我很乐意提供。

任何帮助将不胜感激。

问候,蒂霍

最佳答案

终于找到解决办法了。我犯了一个错误。

我在属性的键名中使用 smtp 而不是 stmps 而我使用 smtps 作为协议(protocol),如您在我的问题中所见。

问候,蒂霍

关于spring - 如何将自定义 SSLSocketFactory 类与 org.springframework.mail.javamail.JavaMailSenderImpl 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6386829/

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