SMTP异常处理
SMTP Exception handling
我正在开发一个在 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 FAQ 条目可能会有帮助:
我无法从你的问题中判断出你预期的是哪种错误,但你没有发现。而且我不知道为什么您只在 MessagingException 中寻找嵌入式 SocketExceptions。
我正在开发一个在 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 FAQ 条目可能会有帮助:
我无法从你的问题中判断出你预期的是哪种错误,但你没有发现。而且我不知道为什么您只在 MessagingException 中寻找嵌入式 SocketExceptions。