2017-07-10 4 views
1

Wir fügen HTML-Layouts zu E-Mail-Nachrichten hinzu, die von DSpace gesendet werden.
Einfaches Hinzufügen von HTML-Tags zu einer der eMail-Vorlagen, da 'Abonnement' nicht funktioniert.
Ich nehme an, wir müssen einige Java-Programmierung machen, aber ich habe keine Ahnung, wo ich anfangen soll.
Hat jemand von Ihnen Erfahrung mit HTML in DSpace eMails?HTML in DSpace-Nachrichten

Antwort

2

Das Hinzufügen von HTML-Tags in der E-Mail kann erfolgen, aber dies erfordert einige Änderungen an der Standard-E-Mail-Klasse.

Es besteht aus den folgenden Änderungen:

  • Wenn Sie den Text auf die eigentliche Nachricht gesendet Einstellung eine zusätzliche subType hinzugefügt werden können (Check: https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/core/Email.java#L293). Standardmäßig nimmt dies einen Text und den Zeichensatz, hat aber einen zusätzlichen "subType". Wenn Sie dies auf "html" setzen, kann die Nachricht ordnungsgemäß nach Tags suchen.
  • In der Klasse "EMail" können Sie eine zusätzliche Variable "subType" hinzufügen, die beispielsweise auf "plain" gesetzt ist und durch einen Setter überschrieben werden kann. (Ich würde davon absehen, es für jede E-Mail-Vorlage einfach auf html zu setzen, da die Überprüfung auf vorhandene Tags andere Vorlagen beschädigen und zusätzliche Zeit beanspruchen könnte).
  • Der tatsächliche Code, der die "Abonnement" Vorlage aufruft, kann dann die E-Mail erstellen und den Subtyp ordnungsgemäß festlegen.
  • Siehe Beispielbilder für den Unterschied zwischen dem Untertyp "plain" und "html".

    "plain" subtype vs "html" subtype

+0

Danke Jonas zu erklären, welches Skript ich zu bearbeiten haben.
Die –

+0

Die nächste Frage, die ich habe, ist: welcher Teil der Skripte wird die Vorlage mit HTML-Tags in eine richtig formatierte Nachricht konvertieren? Oder sollte es noch geschrieben werden? –

+0

Das Parsen von HTML-Tags ist im aktuell verwendeten Code bereits vorhanden. Die E-Mail-Klasse verwendet Folgendes, um die eigentliche zu sendende E-Mail zu erstellen. MimeMessage enthält den tatsächlichen Inhalt, die Empfänger, sendDate usw., die beim Senden der E-Mail verwendet werden. Diese Klasse kümmert sich um das Parsen von HTML-Tags zu einer korrekt formatierten Mail Überprüfen Sie die Dokumentation von "MimeMessage" für weitere Informationen. (Dies hat 3 "setText" -Methoden, mit denen Sie die Methode mit spezifischeren Parametern aufrufen können. http://docs.oracle.com/javaee/7/api/javax/mail/internet/MimeMessage.html#setText-java. lang.String- –