2017-07-10 6 views
1

Nous aimons ajouter une mise en page HTML aux messages électroniques envoyés par DSpace.
L'ajout simple de balises HTML à l'un des modèles eMail en tant qu'abonnement ne fonctionne pas.
Je suppose que nous devons faire de la programmation Java, mais je n'ai aucune idée par où commencer.
Est-ce que quelqu'un d'entre vous a de l'expérience avec HTML dans DSpace eMails?HTML dans les messages DSpace

Répondre

2

L'ajout de balises HTML dans l'e-mail peut être effectué, mais cela nécessite certaines modifications de la classe EMail par défaut.

Il se compose des modifications suivantes:

  • Lors du réglage du texte sur le message réel envoyé, peut être ajouté un subType supplémentaire (Vérifier: https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/core/Email.java#L293). Par défaut, cela prend un texte et le jeu de caractères, mais a un "sous-type" supplémentaire. Le réglage de "html" permet au message de vérifier correctement les balises.
  • Dans la classe "EMail", vous pouvez ajouter une variable "subType" supplémentaire qui par défaut est "plain" par exemple, et qui peut être écrasée par un setter. (Je m'abstenir de simplement le mettre en HTML pour chaque modèle d'e-mail car la vérification des tags existants pourrait casser d'autres modèles et prendre un peu plus de temps).
  • Le code qui appelle le modèle "abonnement" peut ensuite créer le courrier et définir le sous-type correctement.
  • Voir les exemples d'images pour la différence entre les sous-types "plain" et "html".

    "plain" subtype vs "html" subtype

+0

Merci Jonas pour expliquer ce qui script que je dois modifier.
La –

+0

La question suivante que je ai est: quelle partie des scripts va convertir le modèle avec des balises html en un message formaté approprié? Ou devrait-il encore être écrit? –

+0

L'analyse des balises html est déjà présente dans le code actuellement utilisé. La classe EMail utilise les éléments suivants pour créer le message à envoyer. MimeMessage contient le contenu réel, les destinataires, les messages sentDate, etc. à utiliser lors de l'envoi du courrier. Cette classe s'occupera de l'analyse des balises html dans un courrier correctement formaté. Consultez la documentation de "MimeMessage" pour plus d'informations. (Cela a 3 méthodes "setText" qui vous permettent d'appeler la méthode avec des paramètres plus spécifiques: http://docs.oracle.com/javaee/7/api/javax/mail/internet/MimeMessage.html#setText-java. lang.String- –