SMTP异常处理

时间:2015-02-12 12:56:54

标签: java exception-handling smtp javamail liferay-6

我正在开发一个代码来在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);
}

非常感谢。

1 个答案:

答案 0 :(得分:0)

此JavaMail FAQ条目可能会有所帮助:

我无法从您的问题中告诉您,您期待的错误是什么,以及您没有捕捉到的错误。而且我无法说明你为什么只在MessagingException中寻找嵌入式SocketExceptions。