CSJCurrent de:E Mail Benachrichtigungen

Aus Cryptshare Documentation
Version vom 8. Mai 2024, 13:37 Uhr von Frorathm (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu:Navigation, Suche



E-Mail-Benachrichtigungen auf Serverseite deaktivieren

Für gewöhnlich verarbeitet der Cryptshare Server alle E-Mail-Benachrichtigungen zwischen den Teilnehmern eines Cryptshare Transfers. Bei der Entwicklung einer eigenen Client-Anwendung für die Cryptshare-Kommunikation kann es jedoch erwünscht sein, die E-Mail-Benachrichtigung aus dem Client heraus durchzuführen. Aus diesem Grund kann in der API die Benachrichtigung an Absender und Empfänger deaktiviert werden.

Absender-Benachrichtigung für einen Transfer deaktivieren
Transfer transfer = new Transfer();
transfer.setNotifySender(false);
Empfänger-Benachrichtigung für einen Transfer deaktivieren
Transfer transfer = new Transfer();
transfer.setNotifyRecipients(false);

E-Mail-Templates vom Cryptshare Server abrufen

Bitte beachten Sie auch die Dokumentation zu HTML E-Mail Templates im Cryptshare Server Handbuch.

Entwickler einer Cryptshare Client-Anwendung möchten die Transferbenachrichtigungen möglicherweise selber verwalten, beispielsweise für eine Client-Anwendung wie Cryptshare for Outlook. Um dennoch dasselbe Layout und insbesondere die spezifischen Informationen pro Empfänger zu erhalten, gibt es in der API die Möglichkeit, den HTML-Code für die E-Mail-Benachrichtigung vom Server zu erhalten.

client.requestEmailTemplate("<template-name>", <replacements>, <language>, <mailFormat>);

<template-name> :  Der Name des gewünschten Templates
<replacements> : Mapping der Platzhalter im Template
<language> : Die Sprache des Templates
<mailFormat> :  Das E-Mail-Format, welches verwendet werden soll. Entweder 'EmailFormat.HTML' oder 'EmailFormat.PLAIN'.

E-Mail-Platzhalter

E-Mail-Platzhalter werden verwendet, um individuelle Informationen in Templates auszufüllen. Dadurch kann jeder E-Mail-Empfänger eine E-Mail mit spezifischem Inhalt, wie beispielsweise einem persönlichen Downloadlink, Name oder E-Mail-Adresse, erhalten.

Template-Schnipsel mit Platzhaltern für Name und E-Mail-Adresse

[...]
<p>Dear Sir or Madam,</p>
 <p>Confidential data has been sent to you by <a href="mailto:$email">$name</a>.
[...]

Mögliche Platzhalter in E-Mail-Benachrichtigungen

Die folgende Tabelle zeigt mögliche Platzhalter in E-Mail-Benachrichtigungen. Platzhalter, die mit ABSENDER markiert sind, werden für das Absender-Template benötigt. Platzhalter, die mit EMPFÄNGER markiert sind, werden für das Empfänger-Template benötigt.

Tag Platzhalter Beschreibung Anmerkungen

ABSENDEREMPFÄNGER

"baseurl"

Die Cryptshare Server URL

z.B. https://server.url.com

EMPFÄNGER

"subject"

Der Betreff der Nachricht

EMPFÄNGER

"message"

Der Nachrichtentext

ABSENDEREMPFÄNGER

"date_1"

Das Ablaufdatum des Transfers

ABSENDEREMPFÄNGER

"list_3"

Die Liste der Dateien in dem Transfer

EMPFÄNGER

"linkref"

Der Downloadlink für den Transfer

ABSENDEREMPFÄNGER

"passwordmode"

Das für den Transfer verwendete Passwortverfahren Mögliche Werte:
  • manual
  • generated
  • none

EMPFÄNGER

"name"

Der Name des Absenders

EMPFÄNGER

"phone"

Die Telefonnummer des Absenders

EMPFÄNGER

"email"

Die E-Mail-Adresse des Absenders

ABSENDEREMPFÄNGER

"list_1"

Liste der Empfänger, die unter 'An' aufgeführt sind

ABSENDEREMPFÄNGER

"list_2"

Liste der Empfänger, die unter 'Cc' aufgeführt sind
Bitte beachten Sie, dass die obenstehende Tabelle lediglich die Standardkonfiguration für Cryptshare E-Mails zeigt. Jeder Platzhalter kann ebenfalls in eigenen Templates für eigene Zwecke umfunktioniert werden. Lesen Sie hierzu bitte die HTML E-Mail Templates im Cryptshare Server Handbuch.

Wie E-Mail-Platzhalter verwendet werden können

#client.requestMailTemplate() verlangt ein sehr spezifisches Mapping, damit man das gewünschte Resultat erhält. Der Parameter ist ein Set, welches Instanzen des Typs TemplateReplacement hält. Ein TemplateReplacement-Objekt ist im Wesentlichen ein Key-Value Wrapper, bei dem der Schlüssel ein spezifischer Platzhalter ist und der Wert entweder eine Liste oder ein einzelner Wert ist. Auf diese Art können angepasste E-Mail-Templates pro Empfänger mit einem einzigen Request angefordert werden.

Platzhalter verwenden

// <replacements>
Map<Set<String>, Set<TemplateReplacement>> replacements = new HashMap<>();
// <replacementSet>
Set<TemplateReplacement> replacementSet = new HashSet<TemplateReplacement>();
replacementSet.add(new TemplateReplacement("name", "John Adams"));
replacementSet.add(new TemplateReplacement("email", "john.adams@server.com"));
 
List<String> fileList = new ArrayList<String>();
fileList.add("file_01.txt");
fileList.add("file_02.docx");
replacementSet.add(new TemplateReplacement("list_3", fileList));
 
List<String> recipientList = new ArrayList<String>();
recipientList.add("recipient1@otherdomain.org");
recipientList.add("recipienr2@otherdomain.com");
replacementSet.add(new TemplateReplacement("list_1", recipientList));
 
// <identifiers>
Set<String> identifiers = new HashSet<>();
identifiers.addAll(recipientList);
replacements.put(identifiers, replacementSet);
 
Map<List<String>, String> mailTemplates = client.requestEmailTemplate("recipient", replacements, new Locale("ja"), EmailFormat.HTML);

Das Ergebnisobjekt eines E-Mail-Template-Requests

Wird ein E-Mail-Template mittels client.requestMailTemplate() angefordert, enthält das zurückgegebene Mapping ein spezifisches Template pro Identifier-Set. Das bedeutet, dass ein ausgefülltes Template mit einem einzigen Request für mehrere Empfänger, einzelne Empfänger oder einer Kombination von beidem abgerufen werden kann.

Beispiel: Mehrere Kombinationen von <identifier> und <replacementSet>

// identifiers1: One single recipient, replacementSet1: Set of replacements
replacements.put(identifiers1, replacementSet1);
// identifiers2: Two recipients, replacementSet2: Set of replacements
replacements.put(identifiers2, replacementSet2);
Map<List<String>, String> mailTemplates = client.requestEmailTemplate("recipient", replacements, new Locale("ja"), EmailFormat.HTML);

Der obenstehende Request würde zwei Templates zurückgeben, eines pro Identifier-Set, das dem replacement-Parameter übergeben wurde. Beide Templates haben einen anderen Inhalt, der mittels replacementSet1, bzw. replacementSet2 ausgefüllt wurde.

65669271.png

<templateName> : Der Name des gewünschten Templates
<replacements> : Mapping zwischen <identifiers> und <replacementSet>
<identifiers> : Set aus E-Mail-Adressen, die ein spezifisches <replacementSet> haben
<replacementSet> : Ein Set von Platzhaltern, welche <identifiers> zugeordnet sind