【发布时间】:2011-11-21 10:16:24
【问题描述】:
我目前正在使用 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 以自动方式执行此操作?
附言
在我以前使用 Visual Basic 和 CDONTS 编程时,这是内置的,但我似乎找不到使用 Java 的简单方法。纯文本版本是否好看并不重要,它必须存在。我要避免的是为此必须维护一整套 Velocity 模板。
【问题讨论】:
-
去掉 HTML?如果不了解您的 HTML 邮件包含的内容,就很难具有超强的建设性。不过,没有什么是自动的。就个人而言,我转而对文本电子邮件使用类似 Markdown 的语法,并将其转换为 HTML。更简单,如果您不需要花哨的 HTML。否则你可能会被卡住。
-
嗯...HTML 没有什么花哨的,只有几个
<p>s 和<ul>。
标签: java spring jakarta-mail mime