CSDNCurrent de:E Mail Benachrichtigungen

Aus Cryptshare Documentation
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.notifySender = false;
Empfänger-Benachrichtigung für einen Transfer deaktivieren

Transfer transfer = new Transfer();
transfer.notifyRecipients = 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

[...]

Dear Sir or Madam,

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 Placeholder Key Description Additional 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>
Dictionary<ISet<string>, ISet<TemplateReplacement>> replacements = new Dictionary<ISet<string>, ISet<TemplateReplacement>>();
// <replacementSet>
ISet<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 List<string>();
fileList.Add("file_01.txt");
fileList.Add("file_02.docx");
replacementSet.Add(new TemplateReplacement(TemplatePlaceholder.LIST_3, fileList));
 
List<string> recipientList = new List<string>();
recipientList.Add("recipient1@otherdomain.org");
recipientList.Add("recipient2@otherdomain.com");
replacementSet.Add(new TemplateReplacement(TemplatePlaceholder.LIST_1, recipientList));
 
// <identifiers>
ISet<string> identifiers = new HashSet<string>();
identifiers.UnionWith(recipientList);
replacements[identifiers] = replacementSet;
 
MailTemplateResult mailTemplates = client.RequestMailTemplate("recipient", replacements, System.Globalization.CultureInfo.CreateSpecificCulture("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[identifiers1] = replacementSet1;
// identifiers2: Two recipients, replacementSet2: Set of replacements
replacements[identifiers2] = replacementSet2;
MailTemplateResult mailTemplates = client.RequestMailTemplate("recipient", replacements, System.Globalization.CultureInfo.CreateSpecificCulture("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