这是我通过zohomail发送电子邮件的bean配置
<bean class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.zoho.com" />
<property name="port" value="587" />
<property name="username" value="eamilId" />
<property name="password" value="password" />
<property name="javaMailProperties">
<props>
<prop key="mail.transport.protocol">smtp</prop>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
</props>
</property>
</bean>
当我运行我的程序时,我遇到错误
org.springframework.mail.MailSendException:消息失败后无法关闭服务器连接;嵌套异常是javax.mail.MessagingException:无法向SMTP主机发送命令;嵌套异常是:java.net.SocketException:由远程主机关闭的连接。失败的消息:com.sun.mail.smtp.SMTPSendFailedException:553中继不允许;消息异常详细信息(1)是:失败消息1:com.sun.mail.smtp.SMTPSendFailedException:553中继不允许为&lt; Zandig @ Zandig-PC&gt;
答案 0 :(得分:3)
在bean中提及bean id
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
而不是使用
<prop key="mail.smtp.starttls.enable">true</prop>
改为
<prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
<prop key="mail.smtp.socketFactory.fallback">false</prop>
<prop key="mail.smtp.socketFactory.port">465</prop>
<prop key="mail.smtp.startssl.enable">true</prop>`
确保您的发件人地址也列在发件人列表中。