Outlook 2013 / Signaturbild wird nicht mitgeschickt (broken icon)

Den ersten tolle FeatureBug im Office 2013 Paket habe ich nun auch gefunden… leider!

microsoft-office-2013-logo

Die letzten beiden Tage war ich beschäftigt mit Rollout Tests für Blackberry10 und Office 2013… 
Das Ergebnis lässt sich schnell zusammenfassen: „Katastrophe!“

Hier möchte ich aber nur auf die Probleme mit Office 2013 eingehen.
Wenn ich mich vom Blackberry Schreck erholt habe, schreibe ich vielleicht auch da noch etwas zu.

 

Je nach Umgebung muss man sich im Vorfeld des Office2013 Rollout ein wenig Gedanken machen, welche Version man einsetzten möchte. 
Im Grunde kann man sagen, dass wenn man viele Third Party Addin’s (CTI oder ähnliches) benutzt sollte man unbedingt auf die 32Bit Variante zurückgreifen… so unter uns gesagt: „Der Sinn einer 64Bit Office Anwendung hat sich mir noch nicht ganz erschlossen. Bei einer Software wie Adobe Photoshop mag das ja Sinn machen, aber bei Office?!“

Ich möchte nun aber nicht auf die diversen Probleme mit Third Party Addin’s und Änderungen am Design von Office2013 eingehen, sondern, wie die Überschrift schon sagt auf das Problem, welches ich durch Zufall gefunden habe.

Signaturbilder werden nicht mitgeschickt und der Empfänger sieht nur ein „broken icon“

 Wenn man die HTML Signatur so wie wir in einer externen Anwendung erzeugt hat und die erzeugten Signaturen (html, txt und rtf) anschließend in den Signaturordner von Office verschiebt gibt es ab Office 2013 das Problem, dass der Empfänger nur ein „broken icon“ zu sehen bekommt, sofern man ein Bild in die Signatur einbindet. Man darf sich nicht davon täuschen lassen, dass die E-Mail die man erzeugt korrekt aussieht!

Die wie oben beschrieben erzeugten Signaturen nutzen wir schon seit Office 2003 und das sehr erfolgreich! Es gab noch nie Probleme damit… bis Office 2013.
Denn Microsoft hat mal wieder ein tolles Feature implementiert, über das sich freuen und zugleich streiten lässt.

In Outlook 2013 wurde eine Änderung der Standardeinstellungen für den Umgang mit verknüpften Bildern eingearbeitet. In früheren Versionen von Outlook, wurden die verknüpften Bilder beim Senden einer E-Mail direkt eingebettet. In Outlook 2013 werden die verknüpfte Bilder NUR verlinkt!

Bei den HTML Signaturen ist es aber so, dass diese die Bilddatei nicht beinhalten, sondern werden im HTML Code auf eine lokale Datei referenziert (verlinkt). Durch die Änderung in Office2013 wird also das Bild nicht mehr „embedded“ sondern nur noch verlinkt. Da der Empfänger das Bild aber gar nicht hat wird ein „broken icon“ angezeigt.

Dieses Problem tritt aber nur dann auf, wenn man die Signaturen mit einem externen Programm erzeugt. Nutzt man den Signatureditor im Outlook tritt das Problem nicht auf.

Registry EditorDie Lösung ist mal wieder ein reg-Eintrag…

Durch einen Registry Key kann man es schaffen, dass der altbekannte Zustand (Die Bilder werden immer eingebettet) aus Outlook 2010 wieder hergestellt wird. Dazu musst folgender Key Angelegt werden:

HKEY_CURRENT_USERSoftwareMicrosoftOffice15.0OutlookOptionsMail

Werttyp: REG_DWORD
Wertname: Send Pictures With Document
Wert: 1

Hinweis: Achtet darauf, dass der Wertname inkl. der Leerstellen geschrieben wird!

Eine weitere Lösung möchte ich nur andeuten… Es wäre auch möglich, das Signaturbild den Empfängern zur Verfügung zu stellen, indem man dies zum Beispiel online auf einem WebServer ablegt und in der Signatur dies dann verlinkt. Der Nachteil liegt aber ganz klar auf der Hand, da das Bild erst durch aktives Nachladen des Empfängers angezeigt wird.

Outlook Signaturen zentral verwalten in einer Active Directory Umgebung mit Freeware

„vorab… das Ganze ist FREEWARE und super einfach einzurichten!“

Seit längerem stößt es mir ziemlich Sauer auf, wenn ich an das Pfelgen unserer Outlook Signaturen denke.
Ganz im Sinne von CI habe ich vor ein paar Jahren jedem User Signaturen angelegt und auf den Client kopiert. Da unser Unternehmen mittlerweile aber ein paar mehr Leute hat und irgendwie andauern neue Leute dazukommen, wird es wirklich langsam schwierig, die Signaturen zu verwalten. Dazu kommt, dass ständig die Auszubildenden die Abteilungen wechseln und ich in mühsamer Handarbeit die Signaturen bezüglich Telefonnumme,r Faxnummer, Abteilung usw. ändern kann.

Dieser Umstand hat mich heute dazu bewegt genauer im Internet nach einer Lösung zu suchen, wie man Outlook Signaturen (egal ob Outlook 2003 –  Outlook 2007) global in einer Active Directory umgebung erstellen, aktualisieren und anders Verwalten kann.

Nach längerem Suchen am Vormittag fand ich einige kostenpflichtige Programme, die von 100 bis 1000 EUR teuer waren und nciht wirklich dem entsprachen, was ich haben wollte. Entweder hatten die Programme zu viele andere Features und waren somit teuer oder aber die Features der günstigen waren nicht ausreichend.

Ich spielte schon mit dem Gedanken etwas selbst zu basteln – „in der Art von per GPO Software starten, die Signaturen über ein Template auf die Rechner kopiert“ -, dachte mir dann aber, das der Aufwand erst einmal zu groß wäre.
Durch Zufall fand ich dann aber folgendes, rettendes Projekt:
http://zerbit.de/projekte/outlooksignature.aspx (@ Herrn Zerbe: Wäre super, wenn Sie Ihre Site noch mehr für Suchmaschinen optimieren würden, denn dann würden viele sich die teuere Software sparen. Tipps fürs SEO gebe ich Ihnen gerne :-))

Auf den ersten Blick sah ich FREEWARE :-)… da dachte ich mir, nunja, das schau dir mal genauer an, und ich muss sagen:

„Respekt!“

Die Software deckte wirklich alle erdenklichen Anforderungen, die ich hatte, ab.
Hinter dem oben angegeben Link findet ihr eine super detaillierte Beschreibung der Installation und Konfiguration und das was es kann.
Kurz gesagt funktioniert das Progrämmchen folgendermaßen. Um dem Programmierer nicht den Webseitencontent zu klauen kommt hier meine eigene kurze Zusammefassung. Auf der Seite findet ihr aber viel mehr Infos über was es alles kann und wie es geht.

  • Man erstelle ein Signatur-Template
  • Man konfiguriere den Datenbank-Connect und ergänze alle wichtigen Infomrationen bei den Usern
    … Basis kann ein Active Directory oder eine beliebige Datenbank (Access, MySQL etc.) sein
  • Beim Starten des Tool auf einem Client zieht er sich die Daten aus dem AD oder der DB, vereint es mit dem Template und speichert es im Signatur-Ordner von Outlook
    (C:Dokumente und Einstellungen<Benutzername>AnwendungsdatenMicrosoftSignatures)
  • zusätzlich kann eine Standardsignatur mit angegeben werden (Für „neue“ oder „reply“ E-Mails)

Das hört sich doch super an. Genau das, was man haben möchte.
Also hab ich mich mal daran gesetzt und für unsere knapp 80 „E-Mail-Mitarbeiter“ das versucht einzubinden.
Vor ab schon einmal erwähnt, dass man für die komplette Einrichtung incl. Rollout nicht länger als 2 Stunden braucht.
Wenn man noch ein paar Ergänzungen, wie sie weiter unten Beschrieben sind, einbaut kommt man auf ca. 4 Stunden (incl. Pflege der Active Directory-Daten).
Im Gegensatz zu dem nervigen, händischen Ändern der Signaturen eine enorme Zeitersparnis.

Los gehts:

  1. Als erstes der Download: http://zerbit.de/download/outlooksignature1704.zip
    (regelmäßig gibt es neue Versionen… Wenn der LInk also nicht mehr funktioniert einfach mal auf die Webseite schauen)
  2. Nun schaute ich mir die Konfígurationsdatei an und passte diese meiner Umgebung an.
    In der Datei steht zu jedem Parameter eine detaillierte Erklärung. Ansonsten auf der Webseite alles super einfach erklärt.
    Hier findet ihr ein Beispiel einer Konfigurationsdatei für das Active Directory:

    [Main]
    DatabaseConnection=
    UserSelect=
    LDAPBaseObjectDN=Server-IP:389/OU=OU-Standort,OU=OU-Unternehmen,DC=int1,DC=name,DC=de
    LDAPReaderAccountName=
    LDAPReaderAccountPassword=
    TemplateFolder=Vorlagen
    EMailAccount=Microsoft Exchange Server
    SetForAllEMailAccounts=1
    AppDataPath=
    NoNewMessageSignature=
    NoReplyMessageSignature=
    FixedSignTypeForDN1=beispiel
    FixedSignTypeReplyForDN1=beispiel
    FixedSignTypeForDN2=beispiel2
    FixedSignTypeReplyForDN2=beispiel2
    PlaceholderSymbol=
    LogFile=log.log
    EmptySignatureFolder=2
    
    [FieldMapping]
    SignType=  
    SignTypeReply=  
    FirstName=*givenName 
    LastName=*sn  
    Initials=  
    Title=  
    SignTitle1=*department 
    SignTitle2=  
    Phone=*telephoneNumber 
    Fax=*facsimileTelephoneNumber 
    Mobile=*mobile  
    EMail=*mail 
    Postcode=*postalCode 
    City=*l  
    Street=*streetAddress 
    UserDef1=*company
    UserDef2=*wwwHomePage
    UserDef3=*description
    UserDef4=*postOfficeBox
    UserDef5=
  3. Danach erstellte ich ein Template.
    (Bei dem Programm ist ein dummy-Template mitgeliefert, so dass man schnell ans Testen kommt.)
  4. Anschließend kam schon der erste Run der Software. Zum Debuggen habe ich mir eine Verknüpfung zu der OutlookSignature.exe gemacht und diese mit den Parametern /debug:true aufgerufen. So kann man schenll sehen, ob der Connect zum AD oder zur DB funktoineirt und die richtigen Daten ausgelesen werden.

Zu meiner Verwunderung funktionierte das sofort! Ohne größeres Meckern habe ich die neue Signatur in meinem Outlook und kann diese sofort benutzt.
SUPER, dachte ich mir, weiter gehts auf dem Weg allen Mitarbeitern dieses Miniprogramm zur Verfügung zu stellen. Da ich keine Lust habe die Daten auf jeden Rechner zu kopieren entschied ich mich dazu erst einmal die Templates, Config-Dateien und die Software auf ein Netzlaufwerk zu packen, welches von allen lesbar ist.

Im Hinterkopf hatte ich den Gedanken dieses mit Parameterübergabe dann über ein Logon-Script bei der Windowsanmeldung eines Users in unserer Domain automatisch zu starten und somit dem Mitarbeiter immer ihre aktuelle Signatur zu verpassen. (Optional kann man in der config einstellen, dass der Signaturordner bei jedem Start der Software geleert wird. Somit hat man eine gute Kontrolle über die Signaturen. Denn die Mitarbeiter können zwar die Signatur ändern., bei der nächsten Systemanmeldung ist diese aber wieder futsch :-)… super im Sinne von CI)

Allerdings musste ich mir noch Gedanken zu folgendem Problem machen:
… und zwar, dass es in unserem Unternehmen einige Mitarbeiter mit und ohne Handy-Nummer gibt. Leider kann man direkt im Template oder in der Software nicht irgendwelche Parameter mitgeben, die bei fehlenden Daten das Feld nicht mit anzeigen, deswegen entschloss ich mich dazu das Ganze über eine andere Konfiguration der Datei OutlookSignature.ini und mit Hilfe des Windows-Logon-Scriptes und einer AD-Group zu lösen.

Um Mitarbeitern, mit z.B. Handynummer oder anderen Daten, eine andere Signatur zur Verfügung zu stellen, ist folgender Weg eine Lösung:

  1. Neue Templates erstellen (für User mit Handynummer).
    In meinem Falle habe ich das „sprache_standort_mob.html/rtf/txt“ genannt und im zentralen Vorlagenordner auf dem Netzlaufwerk, der für jeden Mitarbeiter erreichbar ist abgelegt.
  2. Eine neue AD-Group erstellen, die den Usern zugewiesen wird, die eine Handynummer haben.
    In meinem Falle war das sehr einfach, da schon eine Gruppe existierte, die den Anforderungen entsprach.
  3. Eine neue Konfigurationsdatei erstellen mit neuen Parametern.
    Der Unterschied zu der normalen Konfigurationsdatei ist nur, dass ich andere Templates lade. Somit brauchte ich nur folgende Einträge abändern:

    FixedSignTypeForDN1=sprache_standort_mob
    FixedSignTypeReplyForDN1=sprache_standort_mob
    FixedSignTypeForDN2=sprache_standort_mob
    FixedSignTypeReplyForDN2=sprache_standort_mob

    … die neue ini-Datei habe ich dann unter OutlookSignature_mob.ini im Netzlaufwerk-Ordner, wo die anderen Dateien auch schon lagen, abgespeichert.

  4. Das Logon-Script auf dem Domaincontroller anpassen:
    Dafür braucht man in das Login-Script einfach folgendes hinzufügen: (Um zu überprüfen, ob ein User einer Gruppe angehört benutze ich das IFMEMBER.EXE – Tool)

    IFMEMBER.EXE Group-mobiluser
    IF ERRORLEVEL 1 GOTO Group-mobiluser
    :mobiluser
    
    :Group-mobiluser
    REM *********** Outlook Signaturen mit mobile-Extension an Client senden ********
    start /B /HIGH servernameShare-OrdnerOutlookSignaturenOutlookSignature.exe /ini:servernameShare-OrdnerOutlookSignaturenOutlookSignature_mob.ini
    GOTO mobiluser

    Das wichtige ist, dass ich in dem Logon-Script dem OutlookSignature-Tool per Paraameter sage, welche ini er laden soll. Das geschieht durch den Befehl /ini:pfad_zur_ini

Ganz einfach, oder? Alle Mitarbeiter, die eine Handy haben, bekommen nun die Signatur mit dem „mobil-Zusatz“. Alle anderen binde ich über eine andere Gruppe ein oder aber verpasse erst einmal allen Mitarbeitern, die sich anmelden auch die normale Signatur, indem ich folgendes in das Logon-Script mit einbaue:
(Hintergrund: in der mobil.ini habe ich den Parameter „EmptySignatureFolder=2“ eingestellt. Somit löscht er erstmal alle Signaturen aus dem Ordner… auch die Signatur ohne mobil-Zusatz und packt anschließend die richtige Signatur hinein)

start /B /HIGH servernameShare-OrdnerOutlookSignaturenOutlookSignature.exe /ini:servernameShare-OrdnerOutlookSignaturenOutlookSignature.ini

Vielen Dank an den Hersteller dieses Super Tools. Nach Fertigstellung der Templates habe ich es Testweise bei 5 Leuten ausgerollt… ohne Probleme.
Ab morgen haben es alle 80 Mitarbeiter mit verschiedenen Templates an verschiedenen Standorten.

Als kleinen genialen Zusatz noch gesagt:
Das Ding ist:

  1. CITRIX-Fähig, (aus dem einfachen Grunde, da durch das Logon-Script eine Session auf dem Terminalserver geöffnet wird und das Script sich auch dort die aktuelle Signatur zieht.)
  2. Office 2007,
  3. Exchange 2007-Fähig

Ich bin unendlich begeistert, und lehne mich jetzt ruhig zurück, denn wann immer es neue Mitarbeiter gibt, Telefonnummern bei Mitarbeitern geändert werden, Abteilungen gewechselt werden oder was auch immer, brauche ich nur noch im Active Directory diese Änderungen machen und bei der nächsten Anmeldung des Users an unsere Domain hat er die aktuelle Signatur!

PS: Das Tool eignet sich auch für private Umgebungen!
Ich ahbe absichtlich auf Screenshots verzichtet, da es genügend auf der Hersteller-Webseite gibt.