2009-01-22 2 views
4

Nous avons une application web qui envoie périodiquement des e-mails aux utilisateurs. Nous générons actuellement la version html et la version texte dans le code. Cependant, c'est lourd à maintenir.Qu'est-ce qu'un bon système de template de courrier électronique html qui rend aussi, correctement, une alternative texte/plain?

Existe-t-il un bon système de modèle de courrier électronique capable de générer à la fois les versions html et texte d'un e-mail à partir du même modèle pour Java?

Quelques exigences:

  • toutes les images/icônes intégrées correctement comme mimeparts et correctement liés
  • la version texte doit ressembler un peu la version html - pour le bénéfice des utilisateurs qui voient la version texte et le spam détecteurs
  • liens doivent afficher l'URL dans la version texte
  • contrôle total (ou autant que possible) de la mise en page et le style

Dans le cas de votre réponse, nous utilisons Struts ... < toux> 1 </toux>.

Répondre

2

Vous pouvez utiliser un utilitaire qui transforme HTML en texte en Java (Google pour cela, par exemple this one) en supprimant les balises et en convertissant les caractères HTML spéciaux. Cependant, cela ne vous donnera pas tout ce dont vous avez besoin, surtout pas le formatage (comme les listes) et les liens.

Une autre option consiste à utiliser un XSLT pour transformer votre XHTML (écrire correctement ...) en texte et utiliser un processeur XSLT (comme Xalan-J ou Saxon) pour l'exécuter. Ceci est un exercice XSLT assez simple, à condition que vos exigences soient simples (par exemple, vous ne vous souciez pas des problèmes CSS).

0

J'ai utilisé avec succès les modèles Freemarker pour préparer du contenu txt et html pour des courriels. Si vous utilisez le printemps, il peut rendre les choses encore plus faciles car il a tous les plombages nécessaires. Même sans Spring, l'API JavaMail est conviviale et ne devrait donc pas poser de problème.

+0

Je n'ai trouvé aucun élément dans la documentation sur la génération de code HTML et de texte à partir du même modèle. Est-ce que je manque quelque chose? –

0

Prenez le Apache Velocity. Je ne connais pas de moteur de template plus puissant.

+0

Je n'ai rien trouvé dans la documentation sur la génération de HTML et de texte à partir du même modèle. Est-ce que je manque quelque chose? –

2

Je recommande également l'utilisation d'un moteur de gabarit. Créez deux modèles, un pour la partie texte et un pour la partie HTML. Utilisez la fonctionnalité d'inclusion du moteur de gabarit pour réutiliser les textes littéraux dans les deux modèles.

Questions connexes