出现场景
在业务中需要用代码发送邮件(本人使用的是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();
就解决啦
本文讲述了在使用Java通过SMTP协议发送163邮箱邮件时,遇到服务器环境发送失败的问题。问题在于使用`System.getProperties()`获取Properties对象,而解决方案是改用`newProperties()`创建新的Properties对象。
1203

被折叠的 条评论
为什么被折叠?



