出现场景
在业务中需要用代码发送邮件(本人使用的是163)
一开始使用的时候并未报错,能正常发送,后经过测试阶段性的发送失败则开始排查
并且发现本地测试可以成功发送邮件但是服务器环境不可以,后来经过参数设置排查等等定
位到是由于:
Properties properties = System.getProperties();
properties.setProperty("mail.transport.protocol", "smtp");
properties.setProperty("mail.smtp.host", host);
properties.setProperty("mail.smtp.user", "123@163.com");
properties.setProperty("mail.smtp.from", "123@163.com");
properties.setProperty("mail.smtp.auth", "true");
properties.setProperty("mail.smtp.port", "25");
中的
Properties properties = System.getProperties();
解决方案
解决方法将上面代码改成:
Properties properties= new Properties();
就解决啦