MessageID-Fix

Alle Skripte sind Muster ohne jede Gewährleistung oder Funktionsgarantie. für Schäden bin ich nicht verantwortlich. Achten Sie auf Zeilenumbrüche bei der Übernahme.

Update:
Mit Exchange 2003 Service Pack 1 scheint dieser Bug behoben zu sein.

Dieses Beispiel nutzt einen Exchange SMTP-EventSink

Mitte Mai 2004 wurde ein Fehler in Verbindung mit Exchange 2000/2003 bekannt. Nachrichten mit einer längeren Message-ID werden von Exchange einfach unterschlagen und nicht immer zuverlässig an alle Empfänger zugestellt.

Als vorübergehenden FIX haben wir ein Eventsink gebaut, der auf allen Exchange 2000/2003 Server installiert werden muss, die solche Mails mit überlangen Message-IDs erhalten. In der Regel ist das der Mailserver mit Kontakt zum Internet oder an den Client mit Outlook Express oder anderen Programmen direkt ihre Mails per SMTP einliefern.

Das Skript kürzt die Message-ID von per SMTP eingehenden Nachrichten auf 79 Zeichen. Dies kann dazu führen, dass einige Programm Antworten auf Nachrichten nicht mehr zuordnen kann (Threading). Die Mail wird aber auf jeden Fall zugestellt.

ACHTUNG: Die komplette Message wird als STREAM geladen. Größere Mails benötigen daher einige Systemressourcen und Zeit. Wobei bei kleinen und mittleren Firmen sicher die Internetverbindung der limitierende Faktor sein wird.

Download und Installation

Um die Lösung zu implementieren sollten Sie folgendes Archiv herunterladen und auf ihrem Exchange Server in das Verzeichnis C:\MSGIDFIX auspacken. Wenn Sie ein anderes Verzeichnis nutzen, müssen Sie die Pfade in den Batchdateien etc. anpassen.

msgidfix.v10.zip
Bitte Downloaden und nach C:\MSGIDFIX auf dem Exchange Server extrahieren. Durch Aufruf von "AddMSGIDFIX.cmd" wird das Skript registriert. Durch den Aufruf von "DelMSGIDFIX.cmd" kann das Skript wieder deaktiviert werden.

Das Skript legt eine Diagnosedatei C:\MSGIDFIX\MSGIDFIX.LOG an, in der die Aktivität protokolliert wird. Wenn ersichtlich ist, dass das Skript funktioniert, sollten Sie in der Datei MSGIDFIX.VBS den Wert für den "Loglevel" auf 0 setzen. Alle Änderungen werden ohne Neustart des Exchange Servers, des virtuellen SMTP-Servers oder anderer Komponenten aktiv.

Testen

Zum Test des Scripts müssen Sie einfach per SMTP eine Mail mit einer sehr langen Message-ID an ihren Server senden. Das ist aber ohne Skript oder Kenntnisse des SMTP-Protokolls gar nicht so einfach. VBScript kann leider keine direkte Testmails ohne ein entsprechendes ActiveX (CDO oder Fremdhersteller) senden. Aber wenn Sie Perl installiert haben, dann können Sie ein Perlskript msgidfix.pl nutzen. Bitte diese Textdatei herunterladen und darin ihren eigenen Mailserver sowie ihre eigenen Mailadressen eintragen. Zudem benötigen sie ActivePerl (http://www.activeperl.com/Products/ActivePerl/?_x=1).

Wenn ihnen das zu aufwändig ist, dann schauen Sie einfach in das Protokollfile. Dort wird ihnen genau angezeigt, welche Message-ID zu lang war und daher gekürzt wurde.

Support

Wie alle Skripte auf dieser Seite kann ich nicht für die Funktion in allen Umfeldern garantieren. Bitte nutzen Sie die Newsgroup: Microsoft.public.de.german.exchange2000.general.

Unterstützung durch Net at Work:
Wir können Sie aktiv unterstützen. Rufen Sie einfach an.

Weitere Links