Street Samurai Geschrieben 19. Februar 2009 Geschrieben 19. Februar 2009 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. Zitieren
Street Samurai Geschrieben 19. Februar 2009 Autor Geschrieben 19. Februar 2009 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: Zitieren
U-- °LoneWolf° Geschrieben 23. Februar 2009 Geschrieben 23. Februar 2009 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. Zitieren
Argbeil Geschrieben 24. Februar 2009 Geschrieben 24. Februar 2009 Den Zweck verstehe ich auch nicht, du kannst dich doch bei einer Webanwendung auch authentifizieren und per ssl verschlüsseln, wozu noch Outlook? Zitieren
Street Samurai Geschrieben 27. Februar 2009 Autor Geschrieben 27. Februar 2009 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. Zitieren
Argbeil Geschrieben 27. Februar 2009 Geschrieben 27. Februar 2009 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. Zitieren
Amstelchen Geschrieben 27. Februar 2009 Geschrieben 27. Februar 2009 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 Zitieren
Street Samurai Geschrieben 1. März 2009 Autor Geschrieben 1. März 2009 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. Zitieren
Empfohlene Beiträge
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.