![]() |
Re: Outlook Sicherheitsmeldung
Ich habe mich gerade mit diesem Thema beschäftigt.
Alles was ich dazu gefunden habe, erschien mir äußerst kompliziert. Um andere jetzt die Stundenlange suche im Internet zu ersparen, möchte ich meine Lösung kurz aufzeigen. Die Lösung für mich heißt Redemption.dll Hier ist der Link zur Outlook Redemption: ![]() oder direkt herunterladen unter: ![]() Dann die Install.exe ausführen. Hier ist ein kleines Beispielprogramm:
Delphi-Quellcode:
Normalerweise würde beim Lesen der Email1Address von Outlook eine Sicherheitsmeldung kommen.
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; const olFolderContacts = $0000000A; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private FOutlook : Variant; FMAPI : Variant; FSafeContact : Variant; public end; var Form1: TForm1; implementation {$R *.dfm} uses ComObj; procedure TForm1.FormCreate(Sender: TObject); begin FOutlook := CreateOleObject('Outlook.Application'); FMAPI := FOutlook.GetNameSpace('MAPI'); FMAPI.Logon; FSafeContact := createoleobject('redemption.SafeContactItem'); end; procedure TForm1.FormDestroy(Sender: TObject); begin FMAPI.Logoff; FSafeContact := Unassigned; FOutlook := Unassigned; FMAPI := Unassigned; end; procedure TForm1.Button1Click(Sender: TObject); var ContactList: Variant; begin ContactList := FMAPI.GetDefaultFolder(olFolderContacts); try FSafeContact.Item := ContactList.Items.Item(1); Edit1.Text := FSafeContact.Email1Address; finally ContactList := Unassigned; end; end; Dies sollte jetzt dank der Redemption.dll nicht mehr passieren. Alle andere Zugriffe wie z.B. auf Termine oder EMail funktionieren ähnlich. |
Re: Outlook Sicherheitsmeldung
Hat den Nachteil, das Du auf die Weiterentwicklung der Software angewiesen bist. Im Fehlerfall wird es zudem schwehr werden, die Ursache zu finden (liegt es an Deiner Source oder an der Implementierung der Zusatzsoftware oder an der MAPI). Was ist wenn die nächste Outlookversion auf den Markt kommt, einer Deiner Kunden diese einsetzen muss und die "Brückensoftware" diese Outlookversion noch nicht unterstützt? Ich bin dann doch lieber für eine eigene Implementierung der benötigten Funktionen. Dass das auch mit dem Auslesen von Kontaktinformationen funktioniert (ohne Sicherheitshinweis), kannst Du diesem
![]() |
Re: Outlook Sicherheitsmeldung
Zitat:
Meine Ausführungen sind an die gerichtet, die schnell und unkompliziert eine Lösung suchen. Ich hatte mir übrigens auch Deine Lösung angeschaut. Nur diese ist leider schon im Ansatz gescheitert. Ich habe mir Dein Programm MapiTestZip.zip heruntergeladen und wollte den Code in Delphi 7 kompilieren. Ich bekam ein Fehler in folgender Zeile: "function PropertyIDtoPropertyTag(&object: IMAPIProp; pvID: ULONG): ULONG;" Die Fehlermeldung lautet: "[Fehler] Unit4.pas(48 ) : Ungültiges Zeichen in Eingabedatei: '&' ($26)" Ich muss gestehen, ich kann nichts damit anfangen und weiß auch nicht was falsch ist. Möglicherweise liegt es auch an den eingebundenen Dateien: "mapidefs, mapiguid, mapitags, mapix". Diese Dateien wurden ja von Dir nicht mitgeliefert. Ich habe Sie im Forum Delphi3000.com gefunden. Trotz alle dem habe ich mir Dein Quellcode angeschaut. Um das alles zu Verstehen reicht "normales" Delphi-Wissen nicht aus. Da muss man sich schon länger damit auseinander setzen. Aber vielleicht kannst Du mir trotzdem helfen. Was muss ich tun, damit ich Dein Programm fehlerfrei kompilieren kann? Ich würde es nämlich gerne einmal debuggen. Und was macht das Programm OutSpy.exe ? Wieso benötige ich das? Das Programm habe ich mir bisher noch nicht installiert. |
Re: Outlook Sicherheitsmeldung
Zitat:
Zitat:
Zitat:
![]() ![]() Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz