Springを使用せずにHTMLテンプレートEメールを送信します
-
20-12-2019 - |
質問
私はJava-Servletを使用して作成されたWebアプリケーションを持っています。春が使われていません。フロントエンドはHTMLとJavaScriptを使用して開発されています。アプリケーションから電子メールを送信したいです。電子メールのHTMLファイルがあります。しかし、変数を使用してHTMLで変更する必要がある2つまたは3つのパラメータがあります。Spring
を使用せずにこれを達成するための最良の方法はありますかSpring
を使用している場合、このコードを見ました MimeMessagePreparator preparator = new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws Exception {
MimeMessageHelper message = new MimeMessageHelper(mimeMessage,true,"UTF-8");
message.setTo(to);
message.setFrom(from);
message.setSubject(subject);
String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, template, model);
message.setText(text, true);
}
};
mailSender.send(preparator);
.
org.springFramework.mail.javamail.MimeMessagePreparator
string org.springFramework.UI.Velocity.VelocityEngineUtils.MergetEmplateIntoString(VelocityEngine VelocityEngine、String TemplateLation、Map Model)スローベロシティエクセプト
解決
1つの解決策は、 thymeleaf 。
のようなテンプレートライブラリを使用することです。ThymeLeafを使用すると、ThymeLeak固有の属性とプレースホルダを提供するHTMLを作成できます。HTMLを処理すると、ThymeLeakはそれらのプレースホルダに値を与え、正しいHTMLを生成することによってHTMLをレンダリングします。
他のヒント
HTMLテンプレートは、春と関連しない速度の問題です。 Springは電子メールコーディングの送信を単純化するのに役立ちますが、電子メールのHTMLテンプレートを使用している場合は、ベロシティ、Freemark
などのテンプレートフレームワークになる必要があります。所属していません StackOverflow