使用Spring和JavaMail发送组合的纯文本/ HTML邮件

时间:2011-09-20 20:31:51

标签: java spring javamail mime

我目前正在使用JavaMail和Spring以HTML格式发送电子邮件。碰巧,HTML是由我的一些Velocity模板生成的,发送代码大致如下:

MimeMessagePreparator preparator = new MimeMessagePreparator() {

    @Override public void prepare(MimeMessage mimeMessage) throws Exception {
            MimeMessageHelper message = new MimeMessageHelper(mimeMessage, "UTF-8");

            message.setSubject(msgInfo.getSubject());
            message.setFrom(msgInfo.getFrom());
            message.setReplyTo(msgInfo.getFrom());
            message.setTo(address);
            message.setText(someText, true);
    }
}

mailSender.send(preparator);

这很好用,但它只发送一个邮件text/html。我需要的是以纯文本部分的多部分替代方式发送它。有没有办法,使用Spring和JavaMail,以自动方式执行此操作?

PS在以前的生活中,当我使用VB和CDONTS进行编程时,这是内置的,但我似乎无法找到一种简单的方法来使用Java。纯文本版本看起来不错,它必须存在并不是非常重要。我正在努力避免的是必须为此维护第二组Velocity模板。

1 个答案:

答案 0 :(得分:8)

要发送文字和HTML部分,您需要使用其他setText方法:void setText(String plainText, String htmlText)。如果要将纯文本设置为HTML内容,则可能需要解析HTML以删除HTML标记。