我正在开发一个在Liferay中发送邮件的代码。。。这里的问题是我想发送一条错误消息
portletRequest.setAttribute("mailError", new String("smobile.error.mail"))
当邮件服务器(SMTP)关闭时。。
这是源代码。
try {
MailMessage mailMessage = new MailMessage();
mailMessage.setFrom(new InternetAddress(fromEmail));
mailMessage.setSubject(subjectTemplate);
mailMessage.setBody(bodyTemplate);
mailMessage.setHTMLFormat(true);
mailMessage.setTo(new InternetAddress(toEmail));
// Send Mail
MailServiceUtil.sendEmail(mailMessage);
_log.info("Confirmation email sent with success!");
} catch(MessagingException me) {
if (me.getNextException() instanceof SocketException) {
_log.warn("EMAIL ENGINE ERROR");
portletRequest.setAttribute("mailError", new String("smobile.error.mail"));
}
throw new MailEngineException(me);
}
非常感谢。
这个JavaMail常见问题条目可能会有所帮助:
- 如果我把信息发到了一个不好的地址,为什么不给我一个SendFailedException或TransportEvent,指示地址为糟糕
我无法从你的问题中判断出你预计会犯什么样的错误。我不知道为什么你只在MessagingException中寻找嵌入的SocketException。