heccon
Goto Top

Outlook Mail Weiterverarbeitung per Regel und script

Hallo allerseits,

Kurzbeschreibung vorhandenes System :
- SBS2011, W2K8R2 Remotedesktopgateway (RDGW), W2K8R2 Remotedesktopserver (RDS), alle voll gepatcht
- feste IPs (eine zugeordnet zum RDGW)
- Anmeldung und Abmeldung von extern auf RDS über RDGW wird überwacht, Benachrichtigungsmails werden per Script versendet
- Mails gehen an mehrere Benutzer zwecks unterschiedlicher Weiterverarbeitung auf mehreren Client PCs
- 1 Client z.T. extern (Notebook)
- Notebook ist am Exchange angebunden und bekommt auch extern mails
- Mailweiterverarbeitung auf dem Notebook über Outlook Regeln und Scripte -> Browserfenster mit symbolischer Anzeige "XYZ ist angemeldet" bzw. "XYZ ist abgemeldet" per HTML Script
- Funktionsweise bzgl. Notebook : XYZ meldet sich auf dem RDS über RDGW an -> Überwachung sendet mail -> mail kommt am Notebook an -> Regel- / Scriptweiterverarbeitung -> "XYZ angemeldet" bzw "XYZ abgemeldet" im Browserfenster

Zwecks Vereinfachung habe ich diverse Dinge weggelassen, die hier nicht relevant sind, darum kann am grundsätzlichen Konzept auch nichts geändert werden.
Soweit funktioniert das obige, bis auf ein...
...Problem :
Notebook war ausgeschaltet während sich XYZ mehrere Male an- und abgemeldet hat, entsprechende mails liegen auf dem Exchange
Notebook und Outlook wird gestartet -> mehrere "vermeintlich gleichzeitig" eingehende Mails
Mailverarbeitung per Regeln arbeitet (manchmal) die Mails dabei in der falschen Reihenfolge ab
das kann über die weitere Scriptverarbeitung zu einem falschen Anmelde-Status im Browserfenster führen


Frage :
In welcher Reihenfolge kommen die Mails vom Exchange bei Outlook an ?
Wovon ist die Übermittlung abhängig (Timestamp, Message ID... ?)?
Gibt es da Möglichkeiten zur Beeinflussung, damit Outlook / Exchange die Mails abhängig von der Sendezeit (auf dem RDS) in der richtigen Reihenfolge übermittelt ?
Wenn nein, kann man den Textbody (kann ich beim Versenden z.B. mit Datum und Uhrzeit füllen) der Mails per Script abspeichern in eine Datei ? Diese würde ich dann entsprechend auswerten und weiterverarbeiten.
Hat jemand eine Idee für einen anderen Ansatz für die Weiterverarbeitung der Benachrichtigungsmails ? Nicht änderbare Eckpunkte dabei sind die Benachrichtigungsmail und die Anzeige im Browserfenster.

Ich hoffe, ich habe das ganze klar genug beschrieben.

Grüße

Content-ID: 274128

Url: https://administrator.de/contentid/274128

Ausgedruckt am: 23.11.2024 um 02:11 Uhr

114757
114757 09.06.2015 aktualisiert um 17:14:52 Uhr
Goto Top
Moin,
meine Güte ist das umständlich face-wink ... naja jeder wie ers will.
Den Body einer Mail kannst einfach in Outlook via Makro extrahieren (geht natürlich auch mit VBS/Autoit/Powershell je nach Gusto, findest du hier im Forum diverse Skripte dazu)
Regel und Quickstep kombinieren oder andere Lösung gesucht (Email - Antworten - CC setzen - abschicken - löschen)
Das Event hier wird bei jeder neuen Mail aufgerufen und ist nur für Verwendung innerhalb von Outlook gedacht
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
    Dim varEntryIDs, objItem, newItem As MailItem, i As Integer
    varEntryIDs = Split(EntryIDCollection, ",")  
    For i = 0 To UBound(varEntryIDs)
        Set objItem = Application.Session.GetItemFromID(varEntryIDs(i))
        If objItem.CLASS = olMail Then
            Msgbox objItem.Body
        End If
    Next
End Sub
Die Mails lassen sich natürlich auch nach Datum sortieren, so dass du nur die letzte Mail auswerten kannst.

Gruß jodel
Heccon
Heccon 10.06.2015 um 09:44:04 Uhr
Goto Top
Zitat von @114757:

Moin,
meine Güte ist das umständlich face-wink ... naja jeder wie ers will.

Hi Jodel,

ich schrieb ja oben schon, dass ich zur vereinfachten Darstellung dieses Problems vieles hier nicht relevantes weggelassen habe.
Es mag vielleicht umständlich erscheinen, es hat aber durchaus einen Sinn, dass es so ist, wie es ist.

Das Extrahieren des Mail Body sehe ich auch nur als Notlösung an, wenn nichts anderes funktioniert.
Damit sind wir wieder bei den eigentlichen Fragen, s.o.

Grüße
114757
114757 10.06.2015 aktualisiert um 09:52:26 Uhr
Goto Top
Zitat von @Heccon:
Damit sind wir wieder bei den eigentlichen Fragen, s.o.
Aber du schreibst ja nicht wie du die Mails per Script ausliest (EWS / Outlook /IMAP / etc.) ...somit ist es schwer deine Fragen treffend zu beantworten
Heccon
Heccon 10.06.2015 um 10:26:22 Uhr
Goto Top
Hi,

auf dem Notebook (bzw. dem Rechner, wo der Chef grad vorsitzt) sind im Outlook mehrere Regeln definiert, die die mails für die Benutzeranmeldung und -abmeldung in entsprechende Ordner im Outlook verschieben und eine Anwendung starten.
Die Anwendungen sind jeweils nur batch Dateien, die Dateien kopieren.
Wenn der Chef (Vorgabe ist : er will nur einmal "Klick Klick" machen, um sofort den Anmeldestatus zu sehen) den Browser mit dem entsprechenden HTML script als auf dem Desktop liegende Verknüpfung startet, wird der Anmeldestatus im Browserfenster in Tabellenform mit einem grünen oder roten Symbol angezeigt. Das HTML script aktualisiert das Browserfenster alle 5 Sekunden automatisch.
Wenn ein An- oder Abmeldevorgang auf dem RDS stattgefunden hat, wird über die gesamte Verarbeitung nach ca. 1 Minute spätestens der aktuelle Status angezeigt.

Wie schon oben gesagt, für dieses Prozedere bin ich offen für Vorschläge. Wenn das einfacher geht, hast Du einen Adminkollegen glücklich gemacht face-wink

Grüße
114757
Lösung 114757 10.06.2015, aktualisiert am 17.06.2015 um 09:32:39 Uhr
Goto Top
Naja, ich würde das mit einer Php oder einem *.aspx HTML-Seite auf dem Server erledigen, dann braucht der User nur eine Webseite im Intranet aufrufen und sieht die angemeldeten User auf dem TS, ohne dieses ganze überflüssige Mailzuschick-Gedöns.
Angemeldete User lassen sich leicht via WMI oder quser auslesen, und als Script in die aspx-Seite einbauen, das ist in 10 Minuten erledigt face-wink
Heccon
Heccon 10.06.2015 um 15:40:07 Uhr
Goto Top
Hi,

Ursachen für das ganze "Mailzuschick-Gedöns" liegen in der Vergangenheit des Projekts, die visuelle Anzeige kam erst auf den Tisch, als das Postfach in der Testphase geflutet wurde mit An- und Abmeldemails face-wink
Deine Anregung mit der Intranetseite ist eine elegante Lösung, wo ich spontan meine, dass sie gleich mehrere Herumbasteleien vereinfachen würde. Allerdings muss ich nochmal ausgiebig brüten, ob sich da etwas mit dem kompletten Konzeption beisst.
Ich werde diese Woche nicht mehr dazu kommen, weiter an dem Projekt zu arbeiten. Ich meld mich nächste Woche.

Besten Dank erstmal für Deine Ideen und viele Grüße
Heccon
Heccon 16.06.2015 um 15:47:46 Uhr
Goto Top
Hi,

ich habe die Webseite auf dem SBS (IIS 7.5) erstellt, und den Zugriff über die Authentifizierungs- Autorisierungs- und Bindungsoptionen entsprechend abgesichert.
Das Mailzuschickgedöns ist damit rausgeflogen. Zugriff von intern habe ich eben noch testen können, ist soweit ok.
Meine früheren Erfahrungen bzgl. IIS waren zu einer Zeit, als der IIS noch auf Version 6.0 lief, ich habe das seit Ewigkeiten nicht mehr gebraucht und ansonsten im Prinzip null Erfahrung mit Webseitenprogrammierung... Hier noch die Frage nach der Sicherheit des Ganzen. Fällt Dir spontan etwas ein, was ich im IIS außer den oben genannten Einstellungen noch konfigurieren kann ?

Grüße
114757
114757 16.06.2015 aktualisiert um 15:58:36 Uhr
Goto Top
Zitat von @Heccon:
Hier noch die Frage nach der Sicherheit des Ganzen. Fällt Dir spontan etwas ein, was ich im IIS außer den oben genannten Einstellungen noch konfigurieren kann ?
Da gibst es genug Möglichkeiten. Einschränkung auf Windows-Authentifizierung und bestimmte Gruppen oder Einschränkung auf IP-Ebene, die Möglichkeiten sind vielfältig. Was brauchst du noch mehr ?

Gruß jodel
Heccon
Heccon 17.06.2015 um 09:32:27 Uhr
Goto Top
Hi,

Windows Authentifizierung, Autorisierung nur für bestimmte Benutzer und Bindung an einen nichtüblichen Port habe ich schon konfiguriert. Einschränkung auf IP Ebene macht keinen Sinn, intern kommen nur die definierten User dran und Zugriff von extern muss möglich sein. In der Firmenfirewall hab ich eh alles außer Deutschland geblockt.
Ich denke, das müßte es dann gewesen sein.
Recht herzlichen Dank nochmal für deine Anregungen. Manchmal ist es einfach sinnvoll, bei einem Vorhaben irgendwann nach den ganzen Änderungs- und Anpassungswünschen innezuhalten und zurückzuschauen, ob es sich nicht anders bzw. einfacher ralisieren läßt.

Grüße