Hallo leutz,
ich hab nach tagelanger Arbeit endlich geschafft einen Store Event Sink in Microsoft Exchange zu registrieren (
COM+).
Zur Info: ein Store Event Sink ist eine
DLL die man an Postfächer in Exchange hängen kann und bei bestimmten Events wird eine Funktion in der
DLL aufgerufen (OnSave, OnDelete). Dies benötige ich, weil ich einen Event Sink schreiben will, der den gesamten E-Mail Verkehr (Ein- und Ausgangspost) an einen anderen Server weiterleitet.
Nun hab ich diese
DLL registriert und sie wird auch aufgerufen und es passiert auch etwas, ABER:
1. Die Events werden nicht jedesmal gefeuert. Wenn ich eine neue Mail in Outlook schreibe, passiert erstmal auf der Seite gar nichts. Erst wenn ich IM OUTLOOK den Gesendete Objekte Ordner öffne und er die gerade gesendete E-Mail anzeigt, wird ein Event ausgelöst ...
Andersrum muss der Empfänger aber nicht in seinem Outlook sein, damit ein Event ausgelöst wird, wenn die Mail bei ihm ankommt.
2. Im OnSave Ereignis wird ein Parameter lFlags mitgeliefert. Dieser soll aufschluß darüber geben, was gerade mit der Mail im Event gemacht wurde. Ein paar Werte sind:
EVT_NEW_ITEM: 1: The item is newly created.
EVT_IS_COLLECTION: 2: The item is a folder.
EVT_IS_DELIVERED: 8: The item is being saved as a result of message delivery.
EVT_INITNEW: 64: First firing of the event sink. This is useful for initialization purposes. It is set only once during the lifetime of a created event sink.
EVT_MOVE: 256: The item was saved/deleted due to a move.
EVT_COPY: 512: The item was saved due to a copy.
Schön und gut, aber lFlags hat so gut wie immer den Wert 64 ... kein NEW_ITEM, etc ...
Nur wenn sie im Posteingang des Empfängers landet, hat es den Werte 72 (also DELIVERED und INITNEW).
Bin am verzweifeln ...
Hat eventuell jemand schon Erfahrung damit? Oder weiß ansonsten Rat?
Wäre für alles sehr dankbar
Schöne Grüße,
Steffen