之前做了个功能,用系统中的java代码发送邮件,一切正常,本地环境为mac

等把项目发布到测试环境linux之后,无任何报错,但是到了发送那行代码就没有任何反应了;

改之前环境配置:

mail:
  host: smtp.126.com
  username: **********
  password: **********
  properties:
    mail:
      smtp:
        auth: true
        starttls:
          enable: true
          required: true

以上配置在本地环境无任何问题,测试环境调不通;

改之后环境配置:

mail:
    host: smtp.126.com
    username: **********
    password: **********
    properties:
      mail:
        smtp:
          port: 465
          auth: true
          ssl:
            enable: true

          starttls:
            enable: true
            required: true

以前三行配置,懂的人秒懂;不懂得真的很辛苦……

略作记录:本地环境默认是可以访问25端口的,也确实是可以连接的通,发送邮件没问题;

服务器的之所以没任何反应是因为阿里云将25端口禁用了;这个再怎么连都连不上还玩个屁呀!

所以换方式,采用ssl的方式则可以发送了,顺便把端口换成465

参考链接:https://blog.csdn.net/weixin_39442420/article/details/81202176?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control

啥意思呢,这儿取的是域名信息,而内网没有域名啊,而连接邮箱服务器的时候它要带上系统域名信息,才能返回连接信息,邮箱服务器通了以后要跟主机互通,可是我的linux服务器的只通内网,内网也不需要域名啊,域名把打通信息带跑偏了,一直报错。看源码感觉日志里面这EHLo host-10-211-72-238.openstackloca7有问题,就是不知道问题在哪,这就取到主机名称,调到邮箱服务器以后,服务器根据主机名称找回到发送主机。其他情况文章很多,可以找到,我这种情况独特全网没有描述,所以记录一下,可以交流。 本地调试时,是正常可以发送邮件的,一旦部署到linux服务器上之后就无法发送邮件,并且提示:无法连接到主机、端口 1.导致的原因是因为Linux服务器无法直接访问邮件服务地址,在本机window上ping邮件地址,得到对应的真实IP 2.进入linux服务器,修改hosts文件,将邮件服务地址的ip和域名映射好,hosts修改命令:vi /etc/hosts 3.修改后按下esc,输入:wq... javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465, response: -1at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2182)at com.sun.mail.smtp.SMTPTra... 项目中使用了JavaMail发送邮件,在本地测试无任何问题,但是上传到阿里云服务器上就报错: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.qq.com, 25; timeout -1; 原因:阿里云出于安全考虑默认禁用25端口导致发邮件失败 解决办法: 配置文件中(根据自己的情况设置): #JavaMailSender spring.mail.host=smtp.qq.com spring.ma 问题:用java写了发邮件的程序,在本地使用可以正常发送,放到阿里云服务器无法发送邮件,提示 Could not connect to SMTP host: mail.163.com, port: 25很是郁闷,网上的解释铺天盖地,试了一个遍,最终找个一个靠谱的,看来网上的解释,水太深了,差点淹没了, 然后果断的在程序里改为用465端口来发送,结果仍然不行,便想到是不是防火墙的问题,于是又在防 1 问题描述生产服务器发送通知邮件,之前一直都是正常的。可突然有一天业务同事反馈收不到通知邮件了。经过查看生产运行日志,发现是由于出现无效邮件地址导致的,而核心异常日志信息如下:javax.mail.SendFailedException: Invalid Addressesat com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1... 本地ubuntu , vps是centOS到底是哪里出问题了呢?试了456端口和25端口都不行……服务器是tomcat另,服务器上用Python写脚本是可以发邮件的= =!package util;import javax.mail.*;import javax.mail.internet.*;import java.util.*;public class MailSender {public v...