Skip to end of metadata
Go to start of metadata


 

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 Cryptshare Sprachpaketen 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.requestMailTemplate("<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 'html' oder 'plain'.

E-Mail Platzhalter

E-Mail Platzhalter werden benutzt 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.


TagPlaceholder KeyDescriptionAdditional Notes

ABSENDEREMPFÄNGER

TemplatePlaceholder.BASEURL
Die Cryptshare Server URL
i.e. https://server.url.com

EMPFÄNGER

TemplatePlaceholder.SUBJECT
Der Betreff der Nachricht

EMPFÄNGER

TemplatePlaceholder.MESSAGE
Der Nachrichtentext

ABSENDEREMPFÄNGER

TemplatePlaceholder.DATE_1
Das Ablaufdatum des Transfers

ABSENDEREMPFÄNGER

TemplatePlaceholder.LIST_3
Die Liste der Dateien in dem Transfer

EMPFÄNGER

TemplatePlaceholder.LINKREF
Der Downloadlink für den Transfer

ABSENDEREMPFÄNGER

TemplatePlaceholder.PASSWORDMODE

Das für den Transfer verwendete Passwortverfahren

Mögliche Werte:
  • manual
  • generated
  • none

EMPFÄNGER

TemplatePlaceholder.NAME
Der Name des Absenders

EMPFÄNGER

TemplatePlaceholder.PHONE
Die Telefonnummer des Absenders

EMPFÄNGER

TemplatePlaceholder.EMAIL
Die E-Mail Adresse des Absenders

ABSENDEREMPFÄNGER

TemplatePlaceholder.LIST_1
Liste der Empfänger die unter 'An' aufgeführt sind

ABSENDEREMPFÄNGER

TemplatePlaceholder.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 entsprechende Dokumentation 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 spezifische Enum-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<Set<String>, Set<TemplateReplacement>>();
// <replacementSet>
Set<TemplateReplacement> replacementSet = new HashSet<TemplateReplacement>();
replacementSet.add(new TemplateReplacement(TemplatePlaceholder.NAME, "John Adams"));
replacementSet.add(new TemplateReplacement(TemplatePlaceholder.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(TemplatePlaceholder.LIST_3, fileList));
 
List<String> recipientList = new ArrayList<String>();
recipientList.add("recipient1@otherdomain.org");
recipientList.add("recipienr2@otherdomain.com");
replacementSet.add(new TemplateReplacement(TemplatePlaceholder.LIST_1, recipientList));
 
// <identifiers>
Set<String> identifiers = new HashSet<String>();
identifiers.addAll(recipientList);
replacements.put(identifiers, replacementSet);
 
Map<List<String>, String> mailTemplates = client.requestMailTemplate("recipient", replacements, new Locale("ja"), "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.requestMailTemplate("recipient", replacements, new Locale("ja"), "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.

<templateName> : Der Name des gewünschten Templates

<replacements> : Mapping zwischen <identifiers> und <replacementSet>

<identifiers> : Set aus E-Mail Adressen die ein spzifisches <replacementSet> haben

<replacementSet> : Ein Set von Platzhaltern Welche <identifiers> zugeordnet sind


 


  • No labels