我目前正在使用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模板。
答案 0 :(得分:8)
要发送文字和HTML部分,您需要使用其他setText
方法:void setText(String plainText, String htmlText)
。如果要将纯文本设置为HTML内容,则可能需要解析HTML以删除HTML标记。