![]() |
Exchange Anbindung
Hi,
ich muss ein Programm schreiben, mit dem ich alle Mails aus einem öffentlichen Ordner in eine Datenbank schreiben muss. Das schreiben in die Datenbank ist kein Problem. Jedoch weiß ich nicht wie ich mich mit dem Exchange verbinden kann bzw. wie ich diese Mails aus dem Ordner auslesen kann. Folgende Produkte stehen mir zur Verfügung: Microsoft Windows Server Standard 2008 Microsoft Exchange Server Standard 2010 Delphi 7 / Delphi 2009 Advantage Database Danke schon mal im vorraus Alex |
AW: Exchange Anbindung
Delphi-Quellcode:
Ordner := OutlookApp.Session.Folders.Item('Öffentliche Ordner')
.Folders.Item('Alle Öffentlichen Ordner') .Folders.Item('<Ordnername>'); |
AW: Exchange Anbindung
Zitat:
|
AW: Exchange Anbindung
Hi Alex,
schau mal auf ![]() |
AW: Exchange Anbindung
Zitat:
Hier mal ein kleines Testprogramm:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleServer, OutlookXP; type TForm1 = class(TForm) OutlookApp: TOutlookApplication; ListBox1: TListBox; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var ordner, i_: OleVariant; i: Integer; begin Ordner := OutlookApp.Session.Folders.Item('Öffentliche Ordner') .Folders.Item('Alle Öffentlichen Ordner') .Folders.Item('<Name des Ordners>'); for i := 1 to ordner.items.Count do begin ListBox1.Items.Add( ordner.items.item[i].Subject); end; end; end. |
AW: Exchange Anbindung
Ich werde es jetzt mal versuchen.
Gibt es aber auch eine Möglichkeit ohne Outlook? |
AW: Exchange Anbindung
Beim ausführen bekomm ich die Meldung
Der versuchte Vorgang konnte nicht ausgeführt weren. Ein Objekt wurde nicht gefunden. Und steht dann auf dieser Zeile: Ordner := OutlookApp.Session.Folders.Item('Öffentliche Ordner') |
AW: Exchange Anbindung
Ist deine Ordnerhierarchie richtig? - Oder hast du zwischendrin oder am Ende einen nicht-existenten Ordner erwischt (ala "<Name des Ordners>")?
Bernhard |
AW: Exchange Anbindung
Zitat:
|
AW: Exchange Anbindung
Zitat:
Delphi-Quellcode:
Ordner := OutlookApp.Session.Folders.Item('Öffentliche Ordner')
.Folders.Item('Alle Öffentlichen Ordner') .Folders.Item('ZMI_Eingang'); |
AW: Exchange Anbindung
Zitat:
|
AW: Exchange Anbindung
Hier ein Ausschnitt von einem Prog das Mails von der INBOX Lädt mit Indy 10
Delphi-Quellcode:
If IdIMAP41.Connected then Exit;
try IdIMAP41.Connect(True); except on E: Exception do Begin WriteLogFile(E.Message,'Connect'); End; End; try If IdIMAP41.SelectMailBox('INBOX') then Begin IdIMAP41.CheckMailBox; End; x:=IdIMAP41.MailBox.TotalMsgs; For i:=1 to x do Begin IdMsg.Clear; IdIMAP41.Retrieve(i,IdMsg); |
AW: Exchange Anbindung
Es geht hier aber um die öffentlichen Ordner
|
AW: Exchange Anbindung
Wenn du es auf dem Server selber machen willst, kannst du auf das Exchange SDK von MS zurückgreifen. Ansonsten eben die Protokolle benutzen die Exchange beherrscht.
Mit dem SDK hast du alle Informationen um im Exchange Information Store rumzufummeln. Na gut, nicht alle. Die für die VSAPI gibt's nur gegen NDA, aber dann nimmt man halt ein altes SDK wo das noch mit drin war :lol: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:15 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