我正在通过Gmail发送电子邮件。它发送电子邮件,但是当我输入错误的电子邮件地址时,它不会抛出异常;但是,电子邮件将发送给我。
我更改了我的电子邮件配置并且它抛出了身份验证例外,但它没有为错误的电子邮件地址抛出SendMail异常。
try {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(receiverEmail); //the value is xc@cvcbdfgxcvwesdc.org
message.setCc(myEmailAddress);
message.setSubject(subject);
message.setText(msg);
mailSender.send(message);
} catch (MailSendException send) { //I used MailException as well
send.printStackTrace();
}
我添加了以下代码,但它没有显示任何内容
} catch (MailSendException send) { // failed to send /there is one other
// type of exception
System.err.println("failed messages size:" + send.getFailedMessages().size());
答案 0 :(得分:2)
MailSender无法确定电子邮件是否在您想象的意义上反弹,至少在发送过程中没有。那里的代码只会告诉你代码中是否有异常阻止它发送电子邮件。
退回的电子邮件回复将会到达邮件服务器,在这种情况下,您需要实施一种机制,例如邮件接收渠道适配器 http://docs.spring.io/spring-integration/reference/html/mail.html
只有当您从邮件服务器中读取退回的电子邮件时,才能确定失败的原因,从而确定适当的响应。
希望这有点帮助。