Ausgangssituation:
Für das Erweitern der Disclaimer- zur Footer-Funktion, sollen die persönlichen Daten des Absenders des SEPPmail Secure E-Mail Gateways zunächst bekannt gemacht werden. Hierfür sollen die benötigten Informationen, wie zum Beispiel Name, Telefonnummer und so weiter, zunächst von einem Drittsystem per LDAP in Erfahrung gebracht werden.
Frage:
Wie können über das Central Disclaimer Management (CDM) personalisierte Fußnoten für die internen Absender von E-Mails erstellt werden?
Lösung:
Folgend wird eine Beispielabfrage aus Microsoft Active Directory (AD) dargestellt. Dabei werden die Variablen weiterhin so aufbereitet, dass Sie entsprechend für HTML- und TXT-Footer verwertbar sind. Damit wird vermieden, dass bei leeren Variablen zum Beispiel Trennzeichen stehen bleiben.
Die benötigten Werte werden über einen entsprechenden Code in der aktiven Option Custom commands for outgoing e-mails BEFORE encryption aus Mail Processing Ruleset generator Custom Commands in Variablen umgesetzt:
Zeile |
Code |
|---|---|
001 |
# Begin: Custom commands for outgoing e-mails BEFORE encryption |
002 |
log(1,'Begin: Custom commands for outgoing e-mails BEFORE encryption'); |
|
|
003 |
# Begin: Getting footer information for disclaimer |
004 |
log(1,'Begin: Getting footer information for disclaimer'); |
|
|
005 |
# Begin: Setting sender domain based ldap-bind information |
006 |
log(1,'Begin: Setting sender domain based ldap-bind information'); |
|
|
007 |
if (compare('from','match','@sample-company1\.tld')) { |
008 |
log(1,'setting ldap-bind information for sample-company1.tld'); |
009 |
setvar('ldap_cust','192.168.1.5;CN=ldapquery,OU=ServiceAccounts,OU=Users,DC=sample-company1,DC=tld;ldapquery_password;OU=Users,DC=sample-company1,DC=tld;(mail=$header_from)'); |
010 |
} |
|
|
011 |
if (compare('from','match','@sample-company2\.tld')) { |
012 |
log(1,'setting ldap-bind information for sample-company2.tld'); |
013 |
setvar('ldap_cust','192.168.1.5;CN=ldapquery,OU=ServiceAccounts,OU=Users,DC=sample-company2,DC=tld;ldapquery_password; OU=Users,DC=sample-company2,DC=tld;(mail=$header_from)'); |
014 |
} |
|
|
015 |
# Begin: Set variables to empty |
|
|
016 |
setvar('displayName',''); |
017 |
setvar('title',''); |
018 |
setvar('company',''); |
019 |
setvar('locality',''); |
020 |
setvar('telefon',''); |
021 |
setvar('durchwahl',''); |
022 |
setvar('mobil',''); |
023 |
setvar('fax',''); |
024 |
setvar('e-mail',''); |
025 |
setvar('internet',''); |
026 |
setvar('telephoneNumber',''); |
027 |
setvar('physicalDeliveryOfficeName',''); |
028 |
setvar('mobile',''); |
029 |
setvar('facsimileTelephoneNumber',''); |
030 |
setvar('mail',''); |
031 |
setvar('wWWHomePage',''); |
032 |
setvar('HTMLdisplayName',''); |
033 |
setvar('HTMLtitle',''); |
034 |
setvar('HTMLcompany',''); |
035 |
setvar('HTMLlocality',''); |
036 |
setvar('HTMLtelefon',''); |
037 |
setvar('HTMLdurchwahl',''); |
038 |
setvar('HTMLmobil',''); |
039 |
setvar('HTMLfax',''); |
040 |
setvar('HTMLe-mail',''); |
041 |
setvar('HTMLinternet',''); |
042 |
setvar('HTMLtelephoneNumber',''); |
043 |
setvar('HTMLphysicalDeliveryOfficeName',''); |
044 |
setvar('HTMLmobile',''); |
045 |
setvar('HTMLfacsimileTelephoneNumber',''); |
046 |
setvar('HTMLmail',''); |
047 |
setvar('HTMLwWWHomePage',''); |
|
|
048 |
# End: Set variables to empty |
|
|
049 |
log(1,'End: Setting sender domain based ldap-bind information'); |
055 |
# End: Setting sender domain based ldap-bind information |
|
|
051 |
# Begin: Reading footer information from ldap |
052 |
log(1,'Begin: Reading footer information from ldap'); |
|
|
053 |
ldap_read('$ldap_cust','displayName','displayName'); |
054 |
if (!empty('$displayName')) { |
055 |
setvar('HTMLdisplayName','$displayName<br/>'); |
056 |
} |
|
|
057 |
ldap_read('$ldap_cust','title','title'); |
058 |
if (!empty('$title')) { |
059 |
setvar('HTMLtitle','$title<br/>'); |
060 |
} |
|
|
061 |
ldap_read('$ldap_cust','company','company'); |
062 |
if (!empty('$company')) { |
063 |
setvar('HTMLcompany','$company<br/><br/>'); |
064 |
} |
|
|
065 |
ldap_read('$ldap_cust','l','l'); |
066 |
if (!empty('$l')) { |
067 |
setvar('HTMLlocality','$l<br/><br/>'); |
068 |
} |
|
|
069 |
ldap_read('$ldap_cust','telephoneNumber','telephoneNumber'); |
070 |
if (!empty('$telephoneNumber')) { |
071 |
setvar('HTMLtelephoneNumber','$telephoneNumber<br/>'); |
072 |
setvar('HTMLtelefon','Telefon<br/>'); |
073 |
} |
|
|
074 |
ldap_read('$ldap_cust','physicalDeliveryOfficeName','physicalDeliveryOfficeName'); |
075 |
if (!empty('$physicalDeliveryOfficeName')) { |
076 |
setvar('HTMLphysicalDeliveryOfficeName','$physicalDeliveryOfficeName<br/>'); |
077 |
setvar('HTMLdurchwahl','Durchwahl<br/>'); |
078 |
} |
|
|
079 |
ldap_read('$ldap_cust','facsimileTelephoneNumber','facsimileTelephoneNumber'); |
080 |
if (!empty('$facsimileTelephoneNumber')) { |
081 |
setvar('HTMLfacsimileTelephoneNumber','$facsimileTelephoneNumber<br/>'); |
082 |
setvar('HTMLfax','FAX<br/>'); |
083 |
} |
|
|
084 |
ldap_read('$ldap_cust','mobile','mobile'); |
085 |
if (!empty('$mobile')) { |
086 |
setvar('HTMLmobile','$mobile<br/>'); |
087 |
setvar('HTMLmobil','Mobil<br/>'); |
088 |
} |
|
|
089 |
ldap_read('$ldap_cust','mail','mail'); |
090 |
if (!empty('$mail')) { |
091 |
setvar('HTMLmail','$mail<br/><br/>'); |
092 |
setvar('HTMLe-mail','E-Mail</br></br>'); |
093 |
} |
|
|
094 |
ldap_read('$ldap_cust1','wWWHomePage','wWWHomePage'); |
095 |
if (!empty('$wWWHomePage')) { |
096 |
setvar('HTMLinternet','Internet'); |
097 |
setvar('HTMLwWWHomePage','$wWWHomePage'); |
098 |
} |
|
|
099 |
log(1,'End: Reading footer information from ldap'); |
100 |
# End: Reading footer information from ldap |
|
|
101 |
log(1,'End: Getting footer information for disclaimer'); |
102 |
# End: Getting footer information for disclaimer |
|
|
103 |
log(1,'End: Custom commands for outgoing e-mails BEFORE encryption'); |
104 |
# End: Custom commands for outgoing e-mails BEFORE encryption |
Verwendete
Befehle
Beschreibung
Im Beispiel werden die benötigten Attribute aus dem Benutzerobjekt - welches anhand der Absender-E-Mail-Adresse ermittelt wird - unter dem, zum LDAP-Attribut gleichlautenden Variablennamen bereitgestellt, also beispielsweise der „Anzeigename des Benutzers“ unter dem Variablennamen „displayName“ und - wie oben erwähnt - für die entsprechenden Parts (HTML/TXT) aufbereitet
Die so erzeugten Variablen können nun im Untermenü, welches aus Mail System Edit mail disclaimer... aufgerufen wird, verwendet werden.
Um die im folgenden Beispiel verwendeten Bilder zu Verwenden, sind diese zunächst unter Disclaimer as HTML unter Inlines hochzuladen, also
Name |
Content-Type |
Content-ID |
|---|---|---|
facebook.png |
image/x-png |
facebook.png
|
LinkedIn.png |
image/x-png |
LinkedIn.png |
RSS.png |
image/x-png |
RSS.png |
sc_logo.png |
image/x-png |
sc_logo.png |
Twitter.png |
image/x-png |
Twitter.png |
veranstaltung.png |
image/x-png |
veranstaltung.png |
Im HTML Eingabefeld folgt der entsprechende Code, der so aussehen könnte:
<body>
<html lang="de">
<meta charset="UTF-8" />
<p><span style="font-size: 10.0pt;font-family: Arial , sans-serif;color: rgb(0,0,0);">
<br/><br/>
Mit freundlichen Grüßen<br/><br/>
$HTMLdisplayName
$HTMLtitle
<br/>
</span></p>
<style>
div.table1 {
display: table;
width: 420;
font-size: 10.0pt;
font-family: Arial , sans-serif;
color: rgb(0,0,0);
}
div.spalteA {
display: table-cell;
width: 120px;
}
div.spalteB {
display: table-cell;
width: 300px;
}
</style>
<div class="table1">
<div class="spalteA"> $HTMLtelefon $HTMLdurchwahl $HTMLmobil $HTMLfax $HTMLe-mail $HTMLinternet</div>
<div class="spalteB"> $HTMLtelephoneNumber $HTMLphysicalDeliveryOfficeName $HTMLmobile $HTMLfacsimileTelephoneNumber $HTMLmail $HTMLwWWHomePage</div>
</div>
<br/><br/>
<p><b><span style="font-size: 10.0pt;font-family: Calibri , sans-serif;color: rgb(127,127,127);">
$HTMLcompany
<img alt="sample-company" border="0" height="35" width="175" src="cid:sc_logo.png"/>
</span></b><br/><br/></p>
<p><span style="font-size: 10.5pt;font-family: Helvetica , sans-serif;color: rgb(155,180,36);border: none windowtext 1.0pt;pAdd-Ing: 0.0cm;background: white;text-decoration: none;">
<a href="https://www.sample-company.tld/feed/" target="_blank"><img alt="RSS" border="0" height="19" width="19" src="cid:RSS.png"/></span></a>
<a href="https://twitter.com/sample-company" target="_blank"><img alt="Twitter" border="0" height="19" width="19" src="cid:Twitter.png"/></a>
<a href="https://www.facebook.com/pages/sample-company/567468464688162?sk=wall" target="_blank"><img alt="Facebook" border="0" height="19" width="19" src="cid:facebook.png"/></span></a>
<a href="https://www.linkedin.com/company/sample-company" target="_blank"><img alt="LinkedIn" border="0" height="19" width="19" src="cid:LinkedIn.png"/></span></a>
<br/><br/>
<style>
div.table2 {
display: table;
width: 800;
font-size: 10.0pt;
font-family: Arial , sans-serif;
color: rgb(166,166,166);
}
div.spalte2 {
display: table-cell;
width: 400px;
}
</style>
<div class="table2">
<div class="spalte2">Sitz der Gesellschaft: $HTMLlocality</br>IBAN CH98 7654 3210 0000 1234 56</div>
<div class="spalte2">Geschäftsführung: Max Mustermann<br/>BIC SPKOEFFXXX</div>
</div>
<!-- optionale Veranstaltungsinformationen -->
<br/><br/>
<p><span style="font-size: 10.0pt;font-family: Arial;color: rgb(0,0,0);"><br/>
Besuchen Sie uns auf der Messe!
<br/><br/><img alt="Veranstaltungslogo" border="0" height="60" width="468"src="cid:veranstaltung.png"/><br/><br/>
<a href="https://www.messe.tld" target="_blank">https://www.messe.tld</a>
</span></p>
</html>
</body>
Die Eingabe unter Disclaimer as Text könnte wie folgt aussehen:
Mit freundlichen Grueßen
$displayName
$title
$telephonNumber
$physicalDeliveryOfficeName
$mobile
$facsimileTelephoneNumber
$wWWHomePage
$company
Sitz der Gesellschaft: $locality |
Geschäftsführung: Max Mustermann |
IBAN CH98 7654 3210 0000 1234 56 |
BIC SPKOEFFXXX |