我目前正在获取SendFailedException
因为我的sendmail实例有一些黑名单的电子邮件地址(在测试期间过滤掉所有发送给非开发人员的电子邮件)。但SendFailedException
也可能表示无法连接到SMTP服务器或其他内容。当由于电子邮件被列入黑名单而发生此异常时,我需要忽略该消息并继续,但应允许任何其他异常传播出我的方法。当我查看JavaMail API时,SendFailedException
似乎是我可以获得的最低级别的异常(javax.mail
包中的最后一个)。我真正需要的是底层SMTPSendFailedException,但是在com.sun.mail
包中,据我所知,这意味着它是特定于实现的,不应该使用。但是,该类实际上有一个getReturnCode()
方法,可用于区分SendFailedException
。有一个更好的方法吗?使用com.sun.mail
课程是否安全?有什么建议吗?
答案 0 :(得分:1)
您可以使用javadocs中描述的com.sun.mail类。与我们非常努力保持稳定和兼容的标准javax.mail类不同,com.sun.mail类很可能在将来的版本中不兼容地发展。我们知道很多人都使用这些类,因此我们不会轻易做出这些更改,但如果有必要改进JavaMail实现或支持新的标准API类,它们可能会发生变化。
请注意,javadocs中还有许多com.sun.mail类不。使用这些风险要高得多;即使是次要版本,它们也更容易发生变化。