Java Reference
In-Depth Information
public void notifyCopyError(String srcDir, String destDir, String filename) {
MimeMessage message = mailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(copyErrorMailMessage.getFrom());
helper.setTo(copyErrorMailMessage.getTo());
helper.setSubject(copyErrorMailMessage.getSubject());
helper.setText(String.format(
copyErrorMailMessage.getText(), srcDir, destDir, filename));
ClassPathResource config = new ClassPathResource("beans.xml");
helper.addAttachment("beans.xml", config);
} catch (MessagingException e) {
throw new MailParseException(e);
}
mailSender.send(message);
}
}
Unlike SimpleMailMessage , the MimeMessage class is defined by JavaMail, so you can only instantiate
it by calling mailSender.createMimeMessage() . Spring provides the helper class MimeMessageHelper to
simplify the operations of MimeMessage . It allows you to add an attachment from a Spring Resource
object. However, the operations of this helper class still throw JavaMail's MessagingException . You have
to convert this exception into Spring's mail runtime exception for consistency.
Spring offers another method for you to construct a MIME message, which is through implementing
the MimeMessagePreparator interface.
package com.apress.springenterpriserecipes.replicator;
...
import javax.mail.internet.MimeMessage;
import org.springframework.mail.javamail.MimeMessagePreparator;
public class EmailErrorNotifier implements ErrorNotifier {
...
public void notifyCopyError(
final String srcDir, final String destDir, final String filename) {
MimeMessagePreparator preparator = new MimeMessagePreparator() {
public void prepare (MimeMessage mimeMessage) throws Exception {
MimeMessageHelper helper =
new MimeMessageHelper(mimeMessage, true);
helper.setFrom(copyErrorMailMessage.getFrom());
helper.setTo(copyErrorMailMessage.getTo());
helper.setSubject(copyErrorMailMessage.getSubject());
helper.setText(String.format(
copyErrorMailMessage.getText(), srcDir, destDir, filename));
ClassPathResource config = new ClassPathResource("beans.xml");
helper.addAttachment("beans.xml", config);
}
};
Search WWH ::




Custom Search