Zum Inhalt springen

Exchange 2k3 Serverskripte und EventSinks:Verschieben von Mails in andere Postfaecher


hades

Empfohlene Beiträge

Hallo zusammen,

gegeben sind ein Exchange Server 2003 SP1 aus dem Small Business Server 2003 SP1 Standard Edition sowie das dazugehoerige Outlook 2003 SP1.

Ueber Exchange-Berechtigungen werden zusaetzliche Exchange-Postfaecher im Outlook des Benutzers geoeffnet.

Desweiteren wird das Recht "Senden als" zum Senden mit den Emailadressen der zusaetzlichen Postfaecher genutzt.

Die Problemstellung liegt darin, dass gesendete Mails immer beim eigenen Postfach im Ordner gesendete Objekte landen anstatt bei Nutzung des Rechtes "Senden als" im Postfach der jeweiligen Emailadresse.

Das sollte nach Kundenanforderung automatisiert erfolgen.

Es ist keine Loesung, per CC/BCC die Email nochmal an die "eigene" Emailadresse zu senden. Auch fallen das manuelle Verschieben der betreffenden Emails sowie eine Veraenderung des Betreffs (fuer die Zusammenarbeit mit Outlook-Regeln) als moegliche Loesungen weg.

Auch kann das nicht per Outlook-Regel erschlagen werden, da diese beim Versenden nicht das From-Field abfragen koennen.

Meine Recherchen ergaben hier als moegliche Loesungsansaetze Exchange Server-Skripte und die Programmierung von Event Sinks (jeweils in VBScript).

Hat hier jemand bereits Erfahrungen und koennte den Aufbau solcher Skripte fuer diese Anforderung erklaeren?

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

Es laesst sich loesen, indem VBA in Outlook genutzt wird. Als Beispiel ein Benutzer und das info Postfach:

Option Explicit

'Öffentlicht "Triggervariablen", zur Überwachung der Elemente in einem Ordner

'nur mit withevents ist eine Eventhandlerdeklaration möglich!

Public WithEvents oMeinPostfach_GesendeteObjekte_Elemente As Outlook.Items 'Triggerobjektliste, wird in App_startup befüllt

'diese muss nicht unbedingt mit Withevents deklariert werden, da ich dorthin nur verschiebe, diesen Ordner aber nicht! überwachen möchte

Public WithEvents oinfo_GesendeteObjekte_Elemente As Outlook.Items

Public WithEvents oinfo_GelöschteObjekte_Elemente As Outlook.Items

Public WithEvents oinfo_Posteingang_Elemente As Outlook.Items

Public WithEvents oMeinPostfach_GelöschteObjekte_Elemente As Outlook.Items

Public blnDeleteItem As Boolean

'Öffnetliche Variablen für Eventhandlerursprung und -ziel

Dim oMeinPostfach_GesendeteObjekte As MAPIFolder

Dim oinfoPostfach_GesendeteObjekte As MAPIFolder

Dim oinfo_GelöschteObjekte As MAPIFolder

Dim oinfoPostfach_GelöschteObjekte As MAPIFolder

Dim oinfoPostfach_Posteingang As MAPIFolder

Dim oMeinPostfach_GelöschteObjekte As MAPIFolder

Private Sub Application_Startup() 'läuft ab wenn OL startet

'Private Variablen (werden nicht mehr im Eventhandler gebraucht)

Dim oMapi As NameSpace

Dim oMeinPostfach As MAPIFolder

Dim oinfoPostfach As MAPIFolder

'Jetzt die privaten Variablen instanzieren

Set oMapi = Application.GetNamespace("MAPI")

'Hier Ihr Name: "Postfach - Müller, Günter"

Set oMeinPostfach = oMapi.Folders("Postfach - Müller, Günter")

'Hier der NAme von info: "Postfach -info"

Set oinfoPostfach = oMapi.Folders("Postfach - info")

'Jetzt die öffentlichen Variablen instanzieren

Set oMeinPostfach_GesendeteObjekte = oMeinPostfach.Folders("Gesendete Objekte")

Set oinfoPostfach_GesendeteObjekte = oinfoPostfach.Folders("Gesendete Objekte")

Set oinfoPostfach_Posteingang = oinfoPostfach.Folders("Posteingang")

Set oinfoPostfach_GelöschteObjekte = oinfoPostfach.Folders("Gelöschte Objekte")

'Set oinfoPostfach_Posteingang = oMeinPostfach.Folders("Posteingang")

Set oMeinPostfach_GelöschteObjekte = oMeinPostfach.Folders("Gelöschte Objekte")

'Jetzt Eventhandlerobjekte instanzieren

Set oMeinPostfach_GesendeteObjekte_Elemente = oMeinPostfach_GesendeteObjekte.Items

'Set oinfo_GesendeteObjekte_Elemente = oinfoPostfach_GesendeteObjekte.Items

Set oinfo_Posteingang_Elemente = oinfoPostfach_Posteingang.Items

'Set oinfo_GelöschteObjekte_Elemente = oinfoPostfach_GelöschteObjekte.Items

Set oMeinPostfach_GelöschteObjekte_Elemente = oMeinPostfach_GelöschteObjekte.Items

End Sub

'Jetzt der Eventhandler für mein Postfach mit der als withevents deklarierten Variable

Private Sub oMeinPostfach_GesendeteObjekte_Elemente_ItemAdd(ByVal Item As Object)

'Item ist das übergebene neue Element in oMeinPostfach_GesendeteObjekte

'Wenn es vom Typ Mailitem ist....

If TypeName(Item) = "MailItem" Then

Dim oNeuesElement As MailItem

Set oNeuesElement = Item

'... und wenn der Absender Info zwei ist (da ich im Sende als info!)

'prüfe SenderName und neu für Outlook 2003 SentOnBehalfOfName

If oNeuesElement.SenderName = "info" Or oNeuesElement.SentOnBehalfOfName = "info" Then

'..dann verschiebe ich

oNeuesElement.Move oinfoPostfach_GesendeteObjekte

End If

End If

End Sub

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...