我正在尝试通过Spring MVC发送电子邮件。 但是每次我运行代码时,都会引发错误:
嵌套异常为: java.net.ConnectException:连接被拒绝:connect。失败消息:javax.mail.MessagingException:无法连接到SMTP主机:smtp.mailtrap.io,端口:25; 嵌套的异常是: java.net.ConnectException:连接被拒绝:connect;消息异常(1)是: 失败的消息1:javax.mail.MessagingException:无法连接到SMTP主机:smtp.mailtrap.io,端口:25;
我的代码中的示例:
dispatcher-servlet.xml
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.mailtrap.io"/>
<property name="port" value="25"/>
<property name="username" value="30f4d***44754"/>
<property name="password" value="16a83***17add6"/>
<property name="javaMailProperties">
<props>
<prop key="mail.transport.protocol">smtp</prop>
<prop key="mail.smtp.auth">true</prop>
</props>
</property>
</bean>
控制器类:
@Autowired
private JavaMailSender mailSender;
@RequestMapping(value = "/emailForm",method = RequestMethod.GET)
public String doSendEmail() {
SimpleMailMessage email = new SimpleMailMessage();
email.setTo("key@wp.pl");
email.setSubject("LOL");
email.setText("heh");
// sends the e-mail
mailSender.send(email);
// forwards to the view named "Result"
return "Result";
}
我知道该方法应该是POST,但我只想对其进行测试,所以我只做了GET。 当我在SMTP测试工具中检查我的道具时,它可以工作。仅在代码中不起作用。
答案 0 :(得分:0)
您的位置和mailtrap.io之间很可能有防火墙阻止了端口25。端口25通常被阻止以阻止垃圾邮件。
尝试使用另一个端口邮件陷阱支持,而不是25(例如2525)。