我在应用程序中使用javax.mail进行邮件发送。因此,如果要使用多个邮件地址,无论是对于TO,CC还是BCC,我都想评估哪个邮件发送成功,哪个失败。
我试图对此进行评估,以便它抛出异常:
private void setTnsMailReceiverStatus(MessagingException e, List<TnsMailReceiver> receivers) {
Exception nextException = e.getNextException();
while (nextException != null) {
if (nextException instanceof SendFailedException) {
SendFailedException sendFailedException = (SendFailedException) nextException;
this.setMailStatus(sendFailedException.getInvalidAddresses(), receivers, TnsMailStatus.ERROR);
this.setMailStatus(sendFailedException.getValidUnsentAddresses(), receivers, TnsMailStatus.UNSENT);
}
nextException = e.getNextException();
}
}
我试图遍历每个异常,我想如果那里没有更多的异常,getNextException将返回null,但它总是使我返回异常。函数getInvalidAddresses和getValidUnsentAddresses始终返回null。
所以我的问题是,如何处理此异常,哪种是评估发送哪些邮件而哪些不发送邮件的最聪明的方法?我是这个框架/库的新手。
谢谢:)