我使用 springmail 从我的 smtp 服务器发送电子邮件,配置如下:
<bean id="springEmailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="defaultEncoding" value="UTF-8"/>
<property name="host" value="mail.myserver.com"/>
<property name="port" value="25"/>
<property name="username" value="username"/>
<property name="password" value="password"/>
<property name="javaMailProperties">
<value>
mail.debug=true
mail.smtp.auth=true
mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
mail.smtp.socketFactory.fallback=false
</value>
</property></bean>
但它抛出“javax.net.ssl.SSLException:无法识别的 SSL 消息,纯文本连接?” 我已经在端口 465 上用 gmail 测试了这个配置并且它有效。
请告诉我我做错了什么。谢谢
最佳答案
看起来您的 SMTP 服务器需要 SSL(安全)连接。请参阅下面的示例,了解如何为 Gmail 配置它,这也需要 SSL。注意 smtps 协议(protocol)和额外的属性。
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.gmail.com" />
<property name="port" value="465" />
<property name="protocol" value="smtps" />
<property name="username" value="user"/>
<property name="password" value="password"/>
<property name="javaMailProperties">
<props>
<prop key="mail.smtps.auth">true</prop>
<prop key="mail.smtps.starttls.enable">true</prop>
<prop key="mail.smtps.debug">true</prop>
</props>
</property>
</bean>
关于java - spring - 配置 spring 邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1956506/