Envoyer des courriels de modèle HTML sans utiliser le ressort
-
20-12-2019 - |
Question
J'ai une application Web qui a été construite uniquement à l'aide de Java-Servlets.Aucun ressort n'est utilisé.Le front-end est développé en utilisant HTML et JavaScript.Je veux envoyer des emails de l'application.J'ai les fichiers HTML pour les courriels.Mais il y a deux ou trois paramètres qui doivent être modifiés dans le HTML à l'aide de variables.Y a-t-il un meilleur moyen d'accomplir cela sans utiliser le printemps
J'ai vu cette pièce de code si vous utilisez le ressort
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.mimemessagePreeparator
chaîne org.springframework.ui.velocity.velocitycityeutils.morgetemplateIntostring (VelocityEngine VelocityEngine, Template de chaîne, Modèle de carte) Jette VelocityException
La solution
Une solution consiste à utiliser une bibliothèque de modèles comme thymeleaf .
Thymeleaf vous permet d'écrire HTML dans lequel vous fournissez des attributs et des espèces spécifiques à Thymeleleaf.Lorsqu'il traite le HTML, Thymeleaf rend le HTML en donnant une valeur à ces espaces réservés et en générant le bon HTML.
Autres conseils
Modèle HTML est le problème avec la vitesse, non liée au printemps. Spring aide à simplifier l'envoi de codage par courrier électronique, mais si vous utilisez un modèle HTML pour le courrier électronique, il devrait s'agir de la structure de modèle, comme Velocity, Freemark