在本机上使用JavaMailSenderImpl发送邮件默认使用25端口。
但是阿里云服务器把25端口禁了,这时候我们就需要更改其他端口(465端口)发送邮件。
配置如下
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="${mail.host}" />
<property name="username" value="${mail.username}" />
<property name="password" value="${mail.password}" />
<!-- <property name="port" value="456" /> -->
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
<prop key="mail.smtp.socketFactory.port">465</prop>
<prop key="mail.smtp.port">465</prop>
</props>
</property>
</bean>
Spring文件中端口配置要写在javaMailProperties中,写在property中(我注释掉的地方)的话会报错。
然后把阿里云服务器的465端口打开。
如果没有收到邮件的话,在发件人的收件箱查看一下是不是被退回了。 貌似同一封邮件重复发送多次,就会被认为是垃圾邮件拒收 - -#
发送一封邮件试试吧 !