通过评估通过javax邮件发送的邮件来解决问题

时间:2019-07-15 10:04:21

标签: java email javamail

我在应用程序中使用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。

所以我的问题是,如何处理此异常,哪种是评估发送哪些邮件而哪些不发送邮件的最聪明的方法?我是这个框架/库的新手。

谢谢:)

0 个答案:

没有答案