// code.calum.org public void sendEmail(String to, String from, String subject, String message, Throwable e) { try { StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); e.printStackTrace(pw); if ( message != null ) { sendEmail(to, from, subject, message + ":\n" + sw.toString()); } else { sendEmail(to, from, subject, sw.toString()); } } catch ( Exception ex) { logger.error("", ex); } } public void sendEmail(String to, String from, String subject, String message) { try { SimpleMailMessage simpleMailMessage = new SimpleMailMessage(); simpleMailMessage.setTo(to); simpleMailMessage.setFrom(from); simpleMailMessage.setSubject(subject); simpleMailMessage.setText(message); mailSender.send(simpleMailMessage); logger.info("Email sent to " + to + ", subject " + subject); } catch (Exception e) { logger.error("", e); } }