阿里云禁止25端口导致邮件发送失败

问题

在本地发邮件没问题,但是在ECS上发送邮件一直超时,报错:

Couldn't connect to host, port: smtp.163.com, 25;

原因

阿里云禁止25端口出口数据。
https://help.aliyun.com/knowledge_detail/56130.html

解决:

  1. 按上面网址说的申请解封

  2. 使用SSL 465 端口发送

    <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    <property name="host" value="${mail.host}"/>
    <property name="username" value="${mail.username}"></property>
        <property name="password" value="${mail.password}"></property>
    <property name="javaMailProperties">
       <props>
          <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>
    
    //SimpleMailMessages实现了MimeMessageHelper,为普通邮件模板,支持文本。
    SimpleMailMessage smm = new SimpleMailMessage();
    // 设定邮件参数
    smm.setFrom(mailSender.getUsername());
    smm.setTo("XXXXXX@qq.com");
    smm.setSubject("Hello world");
    smm.setText("nice !");
    // 发送邮件
    mailSender.send(smm)
    

参考:http://www.cnblogs.com/hehaiyang/p/4279201.html

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×