Java spring-config-spring电子邮件
我使用springmail从smtp服务器发送电子邮件,配置如下:Java spring-config-spring电子邮件,java,spring,email,jakarta-mail,Java,Spring,Email,Jakarta Mail,我使用springmail从smtp服务器发送电子邮件,配置如下: <bean id="springEmailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="defaultEncoding" value="UTF-8"/> <property name="host" value="mail.myserver.com"/>
<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>
mail.debug=true
mail.smtp.auth=true
mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
mail.smtp.socketFactory.fallback=false
但它抛出“javax.net.ssl.SSLException:无法识别的ssl消息,纯文本连接?”
我已经在465端口用gmail测试了这个配置,它成功了
请告诉我我做错了什么。谢谢也许你不应该使用SSL。邮件服务器是否配置为接受加密邮件?看起来它需要纯文本
我会回到,看看这是否有效。也许你不应该使用SSL。邮件服务器是否配置为接受加密邮件?看起来它需要纯文本
我将返回,看看这是否有效。看起来您的SMTP服务器需要SSL(安全)连接。请参阅下面的示例,了解如何为Gmail配置它,Gmail也需要SSL。注意smtps协议和额外属性
<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>
真的
真的
真的
您的SMTP服务器似乎需要SSL(安全)连接。请参阅下面的示例,了解如何为Gmail配置它,Gmail也需要SSL。注意smtps协议和额外属性
<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>
真的
真的
真的
我会尝试删除所有javaMailProperties,以及用户名和密码属性
<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>
正如duffymo指出的,您可能不应该使用SSL(端口25是非SSL SMTP端口)。大多数SMTP服务器也不需要身份验证(除非您明确配置了身份验证)。我会尝试删除所有javaMailProperties以及用户名和密码属性
<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>
正如duffymo指出的,您可能不应该使用SSL(端口25是非SSL SMTP端口)。大多数SMTP服务器也不需要身份验证(除非您明确配置了身份验证)。谢谢,我已经删除了这些属性mail.SMTP.socketFactory.class=javax.net.ssl.SSLSocketFactory-mail.SMTP.socketFactory.fallback=false,但它给了我另一个例外:MessaginException:[EOF]我删除了mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory-mail.smtp.socketFactory.fallback=false,它成功了谢谢,我删除了mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory-mail.smtp.socketFactory.fallback=false的这些属性,但它给了我另一个例外:MessaginException:[EOF]我删除了mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory-mail.smtp.socketFactory.fallback=false,并且成功了此问题有答案此问题有答案