Disclaimer einfügen
Als Disclaimer bezeichnet man einen Anhang an jede Mail, um z.B. die Firmenadresse oder andere Informationen mit ausgehenden Mails zu übermitteln. Beim Einsatz von Programmen wie Outlook wird dies oft als "Signatur" bezeichnet.
Links zu kommerziellen Produkten finden Sie auf MSXFAQ - Kommerzielle Disclaimer
Unterstützung durch
Net at
Work:
Aufgrund der aktuellen Änderung zum 01. Jan 2007 bieten wir ihnen schlüsselfertige Lösungen
an.
http://www.netatwork.de/outlookdisclaimer.htm
Für Exchange 2007 funktioniert der Weg über SMTP-Sinks nicht mehr. Aber Exchange 2007 Transportrules haben die Funktion schon eingebaut. Siehe E2K7 Disclaimer. Exchange 2010 kann auch Disclaimer mit HTML und Active Directory Felder addieren.
Warum ein Disclaimer ?
Nicht erst seit den Änderungen in verschiedenen Gesetzen am Januar 2007 ist es für Firmen erforderlich, an jede ausgehende Mail einige essentielle Informationen anzufügen. Details dazu finden Sie auf:
- Gesetz über elektronische Handelsregister und Genossenschaftsregister
sowie das Unternehmensregister'
http://217.160.60.235/BGBL/bgbl1f/bgbl106s2553.pdf - Paragraph 37a im Handelsgesetzbuch
http://bundesrecht.juris.de/hgb/__37a.html - Paragraph 80 Abs. 1 S. 1 im Aktiengesetz
http://bundesrecht.juris.de/aktg/__80.html - Paragraph 35a Abs. 1 S. 1 im GmbH-Gesetz
http://bundesrecht.juris.de/gmbhg/__35a.html - Einige Links zu Veröffentlichungen durch Rechtsanwälte und
Zeitschriften
http://www.heise.de/newsticker/meldung/84183
http://www.luebeckonline.com/news/news/id/206.html
http://www.heute.de/ZDFheute/inhalt/2/0,3672,4341378,00.html
http://www.dihk.de/inhalt/informationen/news/meldungen/meldung009506.main.html# - Warum Disclaimer nur bedingt sinnvoll sind
http://www.angstklauseln.de/ - Das Märchen vom Disclaimer
http://www.spiegel.de/netzwelt/web/0,1518,375970,00.html
Bitte machen Sie sich selbst ein Bild, welche Informationen Sie an jede Mail anhängen müssen. Paragraph 37a im Handelsgesetzbuch schreibt z.B.
(1) Auf allen Geschäftsbriefen des Kaufmanns gleichviel welcher Form, die an einen bestimmten Empfänger gerichtet werden, müssen seine Firma, die Bezeichnung nach § 19 Abs. 1 Nr. 1, der Ort seiner Handelsniederlassung, das Registergericht und die Nummer, unter der die Firma in das Handelsregister eingetragen ist, angegeben werden.
Aber mittlerweile gibt es auch Urteile in die andere
Richtung:
"Das Fehlen der seit Jahresbeginn verbindlichen Geschäftsangaben in E-Mails
wie Geschäftsführer, Rechtsform und Sitz der Gesellschaft etc. - vorher nur
in Briefen Pflicht - ist kein Verstoß gegen das Wettbewerbsrecht und daher
nicht abmahnfähig (OLG Brandenburg)"
Quelle: iX, 9/2007 Seite 16.
Absatz 2 beschreibt dann ein paar Ausnahmen, wo es nicht sein muss und dass das Registergericht per Zwangsgeld dagegen vorgehen kann. Für AGs und GmbHs gelten ähnliche Vorschriften. Bitte informieren Sie sich.
Es dürfte nämlich auch jede Menge Personen oder Anwälte geben, die im Rahmen einer Abmahnung natürlich ihr zweifelhaftes Spiel damit beginnen werden. Schließlich "spart" eine Firma, die das nicht macht, ja Geld und das könnte als Wettbewerbsvorteil ausgelegt werden.
Wenn ich mir andererseits aber die Disclaimer einiger Firmen anschaue, dann sinniere ich schon über einen Disclaimer-Killer, der Disclaimer erkennt und wieder abschneidet. Denn es dürfte ja wieder nur eine politisch motivierte Aktion ohne realen Zusammenhang sein, die die Postfächer aller Empfänger aufbläht und die Datenkosten für mobile Geräte erhöht. Ich sehr schon die Antworten auf Antworten auf Antworten, die letztlich zu 90% aus Disclaimern besteht.
Wie und wo und wann ?
Natürlich kann nun jeder Mitarbeiter in seinem Outlook einfach eine Signatur einstellen. Aber das hilft ihnen als Firmeninhaber nicht wirklich weiter, da Sie zum einen nicht zentral sicherstellen können, dass wirklich jeder Anwender solch eine formal korrekte Signatur einstellt. Zum anderen gibt es Zugangswege zu Exchange (z.B. OWA, ActiveSync, WAP etc.), die eine automatische Signatur nicht einfach unterstützen.
Die einzig zuverlässige Lösung ist eine servergestützte Signatur. In Verbindung mit Exchange kann dies nur über einen Transport EventSink oder ein Gateway zwischen Exchange und Internet erreicht werden.
Idealerweise sorgt daher jedes System, welches eine Mail nach extern übermittelt für eine korrekte Signatur. Am Beispiel des häufig zitierten Disclaimer Scripts lässt sich zumindest gut die Funktion eines Transport Event Sink auf dem virtuellen SMTP-Servers aufzeigen.
Das Skript
Folgendes Skript sollten Sie als "disclaimer.vbs" auf dem Exchange Server an einer geeigneten Ort speichern. Da der SMTP-Server als "LocalSystem" läuft, muss das Konto "SYSTEM" Leserechte auf diese Datei haben.
<SCRIPT LANGUAGE="VBScript">
Sub ISMTPOnArrival_OnArrival(ByVal objMessage, EventStatus )
Dim objStream
Set objStream = objMessage.GetStream
obhStream.Position = objStream.Size
objStream.WriteText "-----------------------------------" & vbCrLf
objStream.WriteText "Disclaimer Zeile 1" & vbCrLf
objStream.WriteText "Disclaimer Zeile 2" & vbCrLf
objStream.WriteText "Disclaimer Zeile 3" & vbCrLf
objStream.Flush
objMessage.DataSource.Save
EventStatus = 0
End Sub
</SCRIPT>
In den TechNet Artikeln finden sich ausgereifter Skripte, die auch mit HTML und TEXT-Nachrichten korrekt umgehen. z.B. im folgendem TechNet Artikel:
- 317680 How to add a disclaimer to outgoing SMTP messages in Visual Basic Script
Auch diverse kommerzielle Lösungen liefern ihnen hier natürlich weitergehende Lösungen. Verstehen Sie dieses kleine Skript eher als Technologiedemonstration.
Der SMTP-Server
Diese Skript muss auf dem Server natürlich noch registriert werden und zwar wie folgt (jeweils einer Zeile):
cscript smtpreg.vbs /add 1 OnArrival Disclaimer
CDO.SS_SMTPOnArrivalSink "mail from=*@firma.de"
cscript smtpreg.vbs /setprop 1 OnArrival Disclaimer Sink
ScriptName "c:\Temp\Disclaimer.vbs"
Die beiden Zeilen registrieren seinen SMTP-Sink, der bei der Ankunft einer Nachricht ausgeführt wird, wenn die Absenderadresse von der Firma selbst ist. Damit werden eingehende Mails von extern nicht bearbeitet.
SMTP-Server kaskadieren.
Das Skript ist ein "On Arrival"-Sink, d.h. er wird gefeuert, wenn eine Mail den SMTP-Server erreicht. Leider gibt es hier eine Designschwäche von Exchange, dass ausgehende Mails, die von MAPI-Empfängern gesendet werden, nicht auf diesem Weg verändert werden können. Das CDO-Objekt ist nur eine temporär Kopie und keine Repräsentation der Mail. Aus diesem Grund müssen Sie zwei SMTP-Server hintereinander schalten. Siehe auch:
As mentioned earlier, the CDO_OnArrival event is a
wrapper around the transport OnSubmission event that provides a handle to
the messages in the CDO message format. The major benefit is that the
Message object interface has many useful methods, such as the parsing of
MIME and RFC 822 headers. The major drawback is that the CDO interface adds
significant overhead, and is synchronous. The CDO_OnArrival event is most
appropriate for sinks that are run on very few messages. This is the only
piece that is easily programmable using a high-level scripting language like
VBScript.
Quelle:
http://msdn2.microsoft.com/en-us/library/ms998608.aspx#transportevents_topic6
- 273233 You cannot modify MAPI messages that are trapped in an SMTP transport event sink
- 288756 SMTP Transport Event Does Not Fire For MAPI Messages
-
SMTP-EventSink
Beschreibung, wie Sie zwei SMTP-Server hintereinander schalten.
Diese relativ umständlich Lösung ist allerdings nicht erforderlich, wenn Sie z.B.: dedizierte Connectorserver für die Übermittlung einsetzen. Dann senden ihre Mailboxserver die Nachrichten natürlich per SMTP an den Connectorserver und das Skript kann diese problemlos ändern.
Kommerzielle Lösungen können natürlich z.B.: in C++ geschrieben werden und dann den SMTP "OnPostProcessing"-Sink verwenden. Hier kann dann wirklich jede Mail verändert werden. Allerdings steht dann nicht das CDO-Message-Objekt zur Verfügung.
Weiterhin sollten Sie folgende KB-Artikel im Auge behalten, wenn Sie sehr viele Mails umschlagen:
- 905291 The inetinfo.exe process uses lots of memory and memory usage
continues to increase until the SMTP service is unresponsive in Windows
Server 2003 Service Pack 1
(Hotfix bringt Aqueue.dll Version 6.0.3790.2520) - 830695 Increased memory usage in the Inetinfo.exe process if delivery restrictions are set on the SMTP connector in Exchange 2000 Server (In E200 SP4 gefixt)
- 910932 Memory usage may increase over time when a computer that is
running Windows Server 2003 uses the SMTP service to process many
outgoing messages
(Hotfix bringt Aqueue.dll Version 6.0.3790.2619)
Disclaimer und Bilder
Immer mehr Firmen möchten nicht nur einfache TEXT-Mails senden, sondern senden formatierte HTML-Nachrichten. Da bietet es sich natürlich an, gleich auch Bilder in den Trailer mit anzuhängen, zumindest wenn es sich um HTML-Nachrichten handelt. Was aber auf den ersten Blick so einfach aussieht, hat durchaus eine Fallen. Hier die drei möglichen Varianten
Variante 1: Bild per Hyperlink
Die einfachste Variante ist die Einbindung als Hyperlink. Ein einfacher "IMG-Link" im Trailer verweist auf das Bild, welches Sie z.B. auf dem öffentlichen Webserver verfügbar gemacht haben. Das könnte im HTML-Disclaimer dann wie folgt aussehen:
<img border="0" src="http://www.example.com/images/mailtraier.gif">
Die Einschränkungen dabei sind
- Mitarbeiter kann nicht selbst bestimmen
Die wenigsten Firmen erlauben ihren Mitarbeitern, Dateien auf einem Webserver bereit zu stellen. Damit kann ein Mitarbeiter natürlich nicht eigene Bilder hinterlegen. Die Verwaltung ist entsprechend aufwändiger. - Empfänger braucht Internetzugriff
Damit der Empfänger die Mail "komplett" lesen kann, muss sein Programm die Bilder von der externen Quelle per HTTP herunterladen können. Das funktioniert nicht, wenn die Anwender keine Verbindung zum Internet haben (Offline, PDA etc.) oder es funktioniert unbequem, wenn der Anwender sich erst an einem Proxy anmelden muss. Man kann nicht davon ausgehen, dass ein Programm ohne Rückfrage aus dem Internet Dateien herunter laden kann. - Empfängersoftware muss Bild anzeigen
Das Einbinden von externen Bildern in Mails wurde früher auch oft genutzt, um über "Webbugs" ein Feedback über die Werbung zu erhalten. Immer wen Sie so eine Mail lesen, fordert ihr PC ja die Daten vom Webserver des Absenders an und dies ich "nachvollziehbar". Als Versender bekomme ich so sogar viel bessere Daten als von einer Quittung. Daher zeigt Outlook 2003 z.B.: diese Bilder gar nicht mehr automatisch an.
Also ist diese Variante eine universelle und kompatible aber keine sichere Variante.
Variante 2: Einbettung in HTML
Wie auf http://en.wikipedia.org/wiki/Data_URL beschrieben ist, kann man auch direkt in die HTML-Datei binäre Daten einbinden. Auch auf diesem Weg kann man z.B.: Bilder in einen Disclaimer einfügen. Hier ein Beispiel:
<img src="data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGP
C/xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9YGARc5KB0XV+IA
AAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAF1J
REFUGNO9zL0NglAAxPEfdLTs4BZM4DIO4C7OwQg2JoQ9LE1exdlYvBBeZ7jq
ch9//q1uH4TLzw4d6+ErXMMcXuHWxId3KOETnnXXV6MJpcq2MLaI97CER3N0
vr4MkhoXe0rZigAAAABJRU5ErkJggg==" alt="Red dot" />
Allerdings ignoriert der Internet Explorer 7 diese Daten und stellt nur ein leeres Kästchen mit einem roten X dar. Da auch Outlook und andere Programme bei der Anzeige von HTML-Mails einfach nur diese Controls verwenden, kann ich als Versender daher nicht sicher sein, dass das Bild auch dargestellt wird. Also ist auch dies keine zufriedenstellende Lösung.
Variante 3: Anlage mit Link
Aber Outlook zeigt ja, dass Bilder in einer Mail funktionieren können und so habe ich einfach eine Mail mit Bild aus Outlook versenden und mir im Quelltext angeschaut, wie dies erreicht wird. Im wesentlichen sieht es so aus, dass in der HTML-Mail ein Tag drin steht und das Bild über eine "ClassID" eingebunden wird. Das Bild selbst ist dann eine Anlage an die Mail, in der auch die ClassID hinterlegt wird. Hier ein Auszug der Mail:
...
<IMG src= "cid:001090815@01022007-34BF">
...
------=_NextPart_001_011E_01C7461B.2A5C6CB0
Content-Type: image/jpeg;
name="adtree.jpg"
Content-Transfer-Encoding: base64
Content-ID: <001090815@01022007-34BF>
/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEP
ERETFhwXExQaFRERGCEYGh0dHx8fExciJC....
.....
Dieses Verfahren scheint also zumindest in einer Microsoft Umgebung sauber zu funktionieren. Erfahrungen über andere Mailempfänger und deren Anzeige solcher Mails liegen mir leider nicht vor.
In Verbindung mit einer Software, die automatisch Disclaimer anhängt, muss man nun nur sicherstellen, dass diese Software auch Anlagen anfügen kann und dabei auch eine feste Content-ID einfügt, auf die man dann im HTML-Disclaimer verweisen kann.
Sonstige Verbesserungsmöglichkeiten
Das Einbinden eines Disclaimers an eine ausgehende Mail mit einem SMTP-OnArrivalEventsink ist zwar einfach, wie das Beispiel auch zeigt, aber hat durchaus einige Einschränkungen. Hier ist Platz für eigene Erweiterungen oder kommerzielle Lösungen
- Erforderliche Kaskadierung
Die Lösung per VBScript mit CDO-Objekten funktioniert nur in Verbindung mit dem "OnArrivalSink". Damit auf diesem Wege auf einem einzelnen Server auch MAPI-Mails verarbeitet werden, muss man zwei SMTP-Server hintereinander schalten und den "OnArrival" auf dem zweiten Server nutzen. Dies kann man umgehen, in dem man z.B.: einen "OnPostProcessing"-Sink verwendet. Dazu muss man aber eine DLL einsetzen und tiefer in die Materie einsteigen, da die Mail nicht über ein CDO-Objekt angesprochen werden kann - Performance
Der "OnArrival"-Sink ist nicht der schnellste, da der SMTP-Server jede Mail in ein CDO-Objekt umwandelt, auch wenn das vielleicht gar nicht benötigt wäre. - Firmenspezifische Signatur
In einer Exchange Organisation gibt es oft mehrere Firmen oder eigenständige Gruppen, die natürlich eigenständige Signaturen benötigen. So könnte z.B.: über eine OU oder eine Gruppenzugehörigkeit dies gesteuert werden. - Personalisierung
Eine Signatur sollte bzw. kann natürlich die Telefondurchwahl, die Faxnummer, die Mailadresse und die Adresse des Absenders enthalten. So könnte eine erweiterte Lösung diese Daten aus dem Active Directory abfragen. - Keine doppelten Signaturen
Hat ein Benutzer bereits eine Signatur eingefügt, wäre das verdoppeln natürlich unschön, wenngleich auch nur der einzig sichere Weg. Leider ist es sehr schwer, eine bestehende Signatur als solche zu erkennen. Es wird also besser sein, immer die Firmensignatur anzuhängen und die Mitarbeiter zu bitten, ihre eigenen Signaturen zu entfernen oder zu reduzieren. - Nur externe Signaturen
Da Exchange SMTP-Transport Event Sinks natürlich immer zuschlagen, sollte eine Lösung diese Meldung nur dann addieren, wenn die Mail wirklich nach "extern" geht. Mails innerhalb der Organisation brauchen nur dann eine Signatur, wenn der Empfänger und Absender in unterschiedlichen Firmen arbeiten. Aber selbst dann muss sichergestellt werden, dass die Signatur nur einmal addiert wird, auch wenn die Mail durch mehrere SMTP_Server geroutet wird.
Leider habe ich noch kein "fertiges Skript", welches all diese Anforderungen erfüllt. Es gibt aber einige kommerzielle Werkzeuge, die solche Lösungen bereit stellen.
Disclaimer Killer
Wenn ich mir nun vorstelle, wie viele Disclaimer meine Mailbox zukünftig füllen und wie viele Antworten auf Antworten am ende überwiegend aus Disclaimern bestehen, dann werde ich wohl noch einen anderen Sink nachschieben müssen; einen "Disclaimerkiller". Über die gleiche Methode kann ich ja jede eingehende Mail "untersuchen" und wenn z.B.: in den letzen Zeilen eine "Trennlinie" zu finden ist, könnte man den gleich abschneiden. Die Blackberry und ActiveSync Anwender werden es sicher danken. Und die Kaskadierung von Disclaimern in Antworten auf Antworten könnten so auch reduziert werden. Früher haben die Anwender bei Disclaimern diese durch ein Zeile mit "--" eingeleitet. Einige Mailprogramme haben diese dann sogar automatisch beim Antworten entfernt.
Weitere Links
- SMTP-EventSink
- Exchange 2007 - Overview of
Disclaimers
http://technet.microsoft.com/en-us/library/bb124352.aspx - Q288098 How to Add a Disclaimer to Outgoing SMTP Messages with SMTP Transport Events
- Q288098 SAMPLE: How to Add a Disclaimer to Outgoing SMTP
- Q317327 HOWTO Add a Disclaimer to Outgoing SMTP Messages in Visual Basic
- Q317680 HOWTO Add a Disclaimer to Outgoing SMTP Messages in Visual Basic Script
- 317327 HOW TO: Add a Disclaimer to Outgoing SMTP Messages in Visual Basic
- 273233 You cannot modify MAPI messages that are trapped in an SMTP transport event sink
- 288756 SMTP Transport Event Does Not Fire For MAPI Messages
- Disclaimer
http://dnn.mssbsfaq.de/SBS2003/Exchange2003/DisclaimeranausgehendeNachrichtenanhängen/tabid/380/Default.aspx -
Microsoft Sample Code (C++)für einen eigenen Disclaimer
http://download.microsoft.com/download/exchplatinumbeta/Other/1.0/WIN98MeXP/EN-US/Smtpdisclaimer.exe -
SlipStick Infoseite zu Disclaimer
http://www.slipstick.com/addins/sig.htm
http://www.slipstick.com/addins/content_control.ht - Performancetests mit einem Disclaimer Script als VBScript oder als
VB-DLL.
VBScript ist sogar schneller aber auf Kosten der CPU-Belastung
http://www.MSExchange.org/articles/Disclaimer-Fun.html
Kommerzielle Lösungen
Hier finden Sie einige Lösungen, die zum Teil auf dem Server und zum Teil auf einer Client Erweiterung basieren. Die Liste erhebt keinen Anspruch auf Vollständigkeit.









