xsm4296
2022-06-16 23:04
采纳率: 100%
浏览 56
已结题

java中遇到的问题及解决方法

问题遇到的现象和发生背景

用户注册邮箱验证时,如果用户所给邮箱为无效邮箱,JavaMailSender不能捕获错误。

问题相关代码,请勿粘贴截图

@Service
public class MailService {
@Value("${spring.mail.username}")
String fromUser;
@Resource
JavaMailSender javaMailSender;
public boolean sendSimpleMail() {
try {
SimpleMailMessage message = new SimpleMailMessage();
-
message.setFrom(fromUser);
message.setTo({"abc@abc.abc"});
-
javaMailSender.send(message);
return true;
} catch (Exception e) {
System.out.println("邮件发送异常!");
return false;
}
}
}

运行结果及报错内容

这里只要给出的接收邮箱格式正确,即使这个邮箱abc@abc.abc实际不存在,也会返回true,不会出现“邮件发送异常”。

我的解答思路和尝试过的方法

我查看过JavaMailSenderImpl,其中send方法设定是抛异常的,但我尝试过好几个原本不存在的邮箱,都没有抛出异常。

我想要达到的结果

当用户给出的注册邮箱不存在时,在尝试发送验证码时能够捕获这种异常。

7条回答 默认 最新

相关推荐 更多相似问题