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

Dan*_*Dan 5 java spring mime jakarta-mail

我目前正在使用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);
Run Code Online (Sandbox Code Playgroud)

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

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

atr*_*ain 8

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

  • 刚刚找到一篇从你的字符串中删除HTML的帖子:http://stackoverflow.com/questions/240546/removing-html-from-a-java-string (2认同)