Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Outlook des Users öffnen

Empfohlene Antworten

Veröffentlicht

Hallo zusammmen.

Als frisch gebackener FiSi Azubi bin ich zurzeit in einem Betrieb tätig der ein Tool betreibt, in dem unserem Vertriebssegment Daten bereitgestellt werden.

Nun will mein Chef ein neues Feature eingebaut haben, dass es ermöglicht den Anmelde-Antrag via Mail zu verschicken. Diese Mail wird dann digital mit einer persönlichen ID-Card signiert, was die Unterschrift darstellt (davor lief alles über Fax).

Nun zu meinem Problem :

Ich habe die Funktion codiert und es klappt alles wunderbar : Outlook wird geöffnet, neue Mail wird erstellt, Header wird ausgefüllt, Body wird ausgefüllt - Ja sogar das Häckchen bei "digital signieren" wird automatisch gesetzt. Leider funktioniert das nur auf meinem Entwicklungs-PC, sobald ich ein Update auf den Server scharf stelle will es dort nicht mehr.

Grund : Die Funktion will dann auf dem Server Outlook öffnen. Dort ist allerdings kein Outlook installiert. Frage nun : wie bekomme ich die Funktion dazu Outlook nicht beim Server sondern beim User zu starten + Parameter für die Mail-Eigenschaften mitzugeben.

Anbei Code :


'-----------Anweisungen um Outlook zu öffnen------------

        'Deklarierung der Objecte OutApp und Nachricht

        Dim OutApp As Object

        Dim Nachricht As Object







        'Outlook öffnen mit CreateObject

        OutApp = CreateObject("Outlook.Application")

        'Neue Nachricht erstellen via CreateItem

        Nachricht = OutApp.CreateItem(0)


        With Nachricht

            'Parameter für die Werte der Nachricht'

            .To = "chef@unternehmen.de" 

            .CC = "chef2@unternehmen.de"

            .Subject = "Antrag"

            .htmlBody = mBody  

        End With

        'Nachricht anzeigen

        Nachricht.Display()


        Dim oDigSign

        Dim oCBs


        oDigSign = Nachricht.GetInspector.CommandBars.FindControl(, 719)


        If oDigSign Is Nothing Then

            oCBs = Nachricht.GetInspector.CommandBars

            oDigSign = oCBs.Item("Standard").Controls.Add(, 719, , , True)

        End If


        ' Check ob Button Enabled ist.

        If oDigSign.Enabled = True Then

            ' Check ob Button Häckchen hat.

            If oDigSign.State = 0 Then oDigSign.Execute()

        Else

            MsgBox("Ihr Outlook unterstützt keine digitale Signierung. " & _

                   "Diese Mail kann nicht signiert versendet werden")

        End If



        oCBs = Nothing

        oDigSign = Nothing


        OutApp = Nothing

        Nachricht = Nothing

Das ist so funktionsfähig und läuft wie geplant und erwünscht. Aber wie gesagt nur lokal aus dem Grund wie oben beschrieben.

Ich entschuldige mich übrigends , dass ich nicht in den Thread Titel die Programmiersprache und das Framework erwähnt habe, sowie mein Doppelpost den ich hiermit begehe. Hier im Geschäft will der IE (igitt) nicht so wie ich will, sprich ich kann meinen Beitrag nicht editieren.

Die Sprache ist VB.NET das Framework weiß ich grad nicht *schäm* :floet:

verstehe ich dich richtig? das du eine webanwendung hast?

fals ja muss ich sagen keine ahnung wozu du outlook am client starten willst den mail versand kann der server nach eingabe von login und passwort machen. musst dich quasi nur am smtp anmelden.

Also ersteinmal : ja es ist eine Webanwendung.

Nochmal zum Ablauf :

User betritt Seite und füllt die notwendigen Felder aus.

-> Outlook öffnet sich mit Formular indem die davor gemachten Angaben eingetragen sind. (Das ist nun keinerlei Script o.ä. nur HTML Code in einer HTML Mail.)

User drückt auf Senden -> "Bitte ID-Card in Lesegerät einstecken".

etc etc fertig.

Mailversand via Server ist in diesem Fall von keinem Nutzen, da der User dort nicht digital signieren kann, weil es bei diesem System nur im Outlook geht (Ist nicht meine Erfindung...).

Btw hat dieser Server auch kein Outlook installiert.

Zu Argbeil : Ja diese Möglichkeit habe ich Anfangs auch in Betracht gezogen und vorgeschlagen, aber Chef will es nicht so.

Dann reicht doch ein mailto: Link mit den entsprechend gefüllten Attributen, oder was hat es mit diesem Lesegerät auf sich? Oder du machst ein Java-Script Popup "Karte einstecken" und bietest dann erst den generierten mailto: Link an.

ganz einfach: es geht nicht - und es ist nicht im sinne des erfinders und meines erachtens der falsche, nicht durchführbare, ansatz.

dort, wo du Outlook.Application instantiierst, muss zwingend auch outlook installiert sein. das kann ein clientrechner sein, oder aber eine superskalierende 64-bit-maschine mit 64 CPUs.

entweder implementierst du die gewünschte funktionalität in verbindung mit einem unternehmensmailserver (z.b. exchange) oder du installierst outlook (gaaaaaaaanz schlecht, igittigitt) auf dem server.

s'Amstel

mailto ist zu schwach, es bekommt leider nicht das übernehmen der mBody-Variable auf die Reihe und ein manuelles reinschreiben verhindern mehrere Anführungszeichen im HTML Code.

Genau wie Amstelchen sagt (Ich hoffe ich nehme deine Aussage so richtig auf).

Sollte es gar nicht möglich sein wenn man im Web auf irgendetwas klickt und aufeinmal öffnen sich lokal Programme (eventuell auch wie bei meinem Beispiel mit Parametern). Das wäre ja extrem schön, ich würde nirgends mehr surfen.

Ich werde nun eine andere Lösungsart ausarbeiten. Danke euch trotzdem für eure Zeit und Ratschläge.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.