无法连接到SMTP主机-Spring MVC

时间:2019-05-20 12:46:37

标签: java spring email authentication

我正在尝试通过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测试工具中检查我的道具时,它可以工作。仅在代码中不起作用。

1 个答案:

答案 0 :(得分:0)

您的位置和mailtrap.io之间很可能有防火墙阻止了端口25。端口25通常被阻止以阻止垃圾邮件。

尝试使用另一个端口邮件陷阱支持,而不是25(例如2525)。