Seitenhistorie
...
Außerdem gibt es einen Job zum Versenden und Empfangen von E-Mails. Damit werden E-Mail etwas später versendet, können nach Fehlern aber zurück gerollt werden, so dass sie nicht mehrfach versehndet versendet werden.
Des weiteren gibt es auch die Möglichkeit, Vorlagen / Templates für E-Mails zu konfigurieren.
...
Thema | Beschreibung |
---|---|
E-Mail Template | Das BO E-Mail-Template bietet die Möglichkeit, Vorlagen für E-Mails zu erstellen, die dann aus Regeln heraus versendet werden können. Ein Administrator hat damit die Möglichkeit, die von Nuclos versendeten E-Mails selbst zu gestalten und kurzfristig zu ändern. Die Templates bieten hierzu viele Möglichkeiten:
Komplexere E-Mail-Bestandteile, wie z.B. eine Tabelle mit allen Auftragspositionen, müssen durch eine Regel unterstützt werden. |
E-Mail Baustein | Können Bausteine definiert werden, die dann in den E-Mail-Templates zur Verfügung stehen. Möglich sind Textbaustein
Regelbaustein
Empfänger
Anhang
Versandbedingung
Zur Sicherheit lassen sich Bausteine auf bestimmte BO's einschränken, wenn z.B. wenn der Baustein Bearbeiter für die BO's Rechnung und Auftrag existiert, aber nicht für das BO Artikel |
E-Mail Sprache | Definiert die zur Verfügung stehenden Sprachen |
Regelbausteine | Zur Erzeugung einer E-Mail aus einem E-Mail-Template muss eine Instanz einer Klasse mit übergeben werden, die das Interface Regelbausteine implementiert. Das Nuclet bringt eine Implementierung mit, die einige Beispiele enthält. Wenn Sie eigene Regelbausteine benötigen, sollten Sie sich eine eigene Implementierung in Ihrem Nuclet anlegen, damit diese nicht überschrieben wird, wenn das E-Mail-Nuclet mal aktualisiert wird. In der Methode EMailUtils.getRegelBausteine() dann einfach diese Implementierung erzeugen. |
Konfiguration von E-Mail-Templates von Version Konfiguration von E-Mail-Templates von Version 1.1.3
Bereich E-Mail-Template | ||||||
---|---|---|---|---|---|---|
Name | Pflicht | Eindeutiger Name des Templates | ||||
Basis-Nuclet | optional | Das Nuclet aus dem das Basis-BO kommen soll | ||||
Basis-BO | optional | Das BO, auf das sich die E-Mail bezieht (z.B. Auftrag) | ||||
Empfänger | optional | Ein Regelbaustein, der als Empfänger gekennzeichnet ist und für die die Methode getRecipient() in der Regelbaustein-Implementierung ein Ergebnis mit E-Mail-Adresse, Anrede und ggf. Sprache zurück liefert. | ||||
Footer Empfänger-BO | optional | Wenn der Emfpänger z.B. allgemein als Regelbaustein für das BO Mitarbeiter implementiert wurde, kann hier einfach Mitarbeiter angegeben werden | ||||
Empfänger-Rolle | optional | Wenn der Mitarbeiter in verschiedenen Rollen im Basis-BO vorkommt, kann diese hier spezifiziert werden, z.B. Ansprechpartner oder Kundenberater | ||||
Footer | optional | Ein als Footer gekennzeichneter Textbaustein | ||||
Signatur | optional | Ein | Ein als Footer gekennzeichneter Textbaustein | Signatur | optional | Ein als Signatur gekennzeichneter Textbaustein |
Bereich Weitere Eigenschaften | ||||||
Sprache (Baustein) | optional | Die Sprache, in der die E-Mail versendet werden soll, definiert durch einen als Sprache gekennzeichneten Textbaustein | ||||
Sprache (statisch) | optional | Die Sprache, in der die E-Mail versendet werden soll, direkt angegeben | ||||
Html? | optional | E-Mail wird im Html-Format versendet (empfohlen) | ||||
Nach Versand löschen? | optional | Sensible E-Mails (z.B. mit Passwort-Links o.ä.) können nach dem Versand automatisch aus dem E-Mail-Protokoll gelöscht werden | ||||
Aktiv? | optional | Aktiviert oder deaktiviert den Versand der E-Mails | ||||
Bereich Template-Test | ||||||
ID des Basis-BOVersandbedingung | optional | Hier kann Regelbaustein ausgewählt werden, der eine Versandbedingung ist, die entscheidet, ob die E-Mail versendet werden soll | ||||
Bereich Template-Test | ||||||
ID des Basis-BO | optional | Wenn ein Basis-BO angegeben ist, kann Wenn ein Basis-BO angegeben ist, kann hier eine intid angegeben werden, für die die Vorschau erstellt und die Test-E-Mail versendet werden soll | ||||
Sprache | optional | Hier kann die Sprache der Vorschau und der Test-E-Mail forciert werden | ||||
Empfänger der Test-E-Mail | optional | Wenn kein Empfänger angegeben ist, wird die E-Mail an die im Nucletparameter Email Umleitung auf hinterlegte Adresse versendet | ||||
Erzeuge Vorschau | Erzeugt eine Vorschau im Reiter Vorschau | |||||
Sendet Test-E-Mail | Für den finalen Test kann damit eine Test-E-Mail versendet werden | |||||
Reiter Konfiguration | ||||||
Betreff + Nachricht | optional | Hier können Betreff und Nachricht definiert werden. Dabei können verwendet werden
Für Betreff und Nachricht können alternative Texte in anderen Sprachen angegeben werden (siehe Reiter Betreffs(übersetzt) und Nachrichten (übersetzt)) | ||||
Reiter Adressen | optional | Wenn ein Empfänger angegeben ist, wird die E-Mail an die dort ermittelte E-Mail-Adresse versendet. Zusätzlich oder alternativ können weitere Adressen hinzugefügt werden aus
| ||||
Reiter Anhänge | optional | Hier können Anhänge für die E-Mail definiert werden, z.B.
Für jeden Anhang können alternative Anhänge in anderen sprachen definiert werden | Weitere||||
Reiter BeschreibungStatuswechsel | optional | Hier können weitere Informationen für das Template hinterlegt werdenkann konfiguriert werden, bei welchem Statuswechsel die E-Mail versendet werden soll. Eine entsprechende Regel muss dazu allerdings für jeden möglichen Statuswechsel des betroffenen Statusmodells zugeordnet werden. Hilfreich für diese Regel ist dann die Methode EMailUtils.sendAllAcceptedEMails(StateChangeContext context, RegelBausteine regelBausteine) | ||||
Weitere | ||||||
Reiter Beschreibung | optional | Hier können weitere Informationen für das Template hinterlegt werden | ||||
Reiter E-MailsReiter E-Mails | Zeigt die E-Mails an, die bereits aus diesem Template generiert wurden |
...
Initialisierung | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Nach dem Nucletimport muss einmal der Job Initialisiere Nuclet Emailversand ausgeführt werden | Der Job legt u.a. einige Standard-E-Mail-Bausteine an, so dass Sie gleich ein Template bauen können. | ||||||||||||||||||||||||
E | E-Mail-Template | ||||||||||||||||||||||||
Ein E-Mail-Template für eine Rechnung könnte z.B. so aussehen | |||||||||||||||||||||||||
Rechnungsformular als Anhang | |||||||||||||||||||||||||
Regelbaustein für einen Empfänger | |||||||||||||||||||||||||
Das Interface Regelbausteine | |||||||||||||||||||||||||
| :
| :
| :
| :
| Beispiel (Text) |
| |||||||||||||||||||
Beispiel (Text) | |||||||||||||||||||||||||
public String getValue(final String name, final public String getValue(final String name, final Modifiable<Long> bo, EMailTemplateSprache language, TemplateParameters parameters, RuleContext context) throws BusinessException { throw new BusinessException("Unbekannter Name für einen Regelbaustein: \"" + name + "\""); | |||||||||||||||||||||||||
Beispiel (Empfänger) | |||||||||||||||||||||||||
@Override if (ANSPRECHPARTNER.equals(name)) { throw new BusinessException("Unbekannter Name für einen Empfänger: \"" + name + "\""); | |||||||||||||||||||||||||
Beispiel (Verwendung in Regeln) | |||||||||||||||||||||||||
Einfachster Fall | EMailTemplate template = EMailUtils.getEMailTemplate(Konstanten.EMailTemplate.RECHNUNG); | new RegelBausteineImplEMailUtils.getRegelBausteine(), rechnung, context)); | |||||||||||||||||||||||
Erzeugung von Templates (Klasse EMailTemplateKonfiguration) | |||||||||||||||||||||||||
Die Klasse EMailTemplateKonfiguration stellt Datenstrukturen und Methoden bereit, um Sprachen, Bausteine und Templates durch Regeln zu erstellen. Dies kann besonders bei der Nucletentwicklung hilfreich sein, um solche Objekte auf anderen Instanzen neu zu erstellen. | |||||||||||||||||||||||||
Verfügbare Datenstrukturen |
| ||||||||||||||||||||||||
Verfügbare Methoden zur Erstellung |
| ||||||||||||||||||||||||
Beispiel (Konfiguration Baustein) | public static final EMailTemplateKonfiguration.Baustein FOOTER_INTERN = new EMailTemplateKonfiguration.Baustein() {{ | ||||||||||||||||||||||||
Beispiel (Konfiguration Template) | public static final EMailTemplateKonfiguration.Template TEMPLATE_PROJEKT = new EMailTemplateKonfiguration.Template() {{ | ||||||||||||||||||||||||
Beispiel Erzeugung | EMailTemplateKonfiguration.createBaustein(FOOTER_INTERN, jobContext); | In einigen Fällen muss man womöglich noch zu zusätzliche Informationen an das Template weiter geben. Diese geschieht durch parameter. | EMailTemplate template = EMailUtils.getEMailTemplate(Konstanten.EMailTemplate.SERIENNUMMER); |
Version 1.1.2
Beschreibung von Version 1.1.2
...