AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Outlook auslesen

Ein Thema von simlei · begonnen am 22. Jul 2007 · letzter Beitrag vom 23. Jul 2007
Antwort Antwort
simlei

Registriert seit: 23. Nov 2005
119 Beiträge
 
Delphi 7 Professional
 
#1

Outlook auslesen

  Alt 22. Jul 2007, 02:19
Hallo!
Ich bin auf der Suche nach einer Möglichkeit, wie ich die Ordnerstruktur der Emails samt Emails aus Outlook in mein Programm auslesen kann... Das Tutorial schien schon mal ein guter Ansatz zu sein: http://www.dsdt.info/tipps/?id=608

Ich habe auch schon einen funktionierenden Code, mit dem Outlook gestartet wird und ab dann an kann von meinem Programm darauf zugegriffen werden, zB hat das Versenden einer Mail wie im Tutorial beschrieben, schon funktioniert...

Code:
Code:
var
  Form1: TForm1;
  Outlook: _Application; // OutlookApplication; for D5 users
  NmSpace: NameSpace;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  Unknown: IUnknown;
  Result: HResult;
  Folder: MAPIFolder;
begin
  {$IFDEF VER120}      // Delphi 4
  Outlook := CoApplication_.Create;
  {$ELSE}              // Delphi 5
  Outlook := CoOutlookApplication.Create;
  {$ENDIF}

  NmSpace := Outlook.GetNamespace('MAPI');
  NmSpace.Logon('', '', False, False);
  Folder := NmSpace.GetDefaultFolder(olFolderInbox);
  Folder.Display;
end;
Leider steht im Tutorial an keiner Stelle, wie man in der Ordnerstruktur vonOutlook wechselt und die Mails auslesen kann (zB dass die ordner in einer Baumstruktur angeordnet sind und jeweils ein Array von MailItems haben? stand eben nicht dort und gefunden habe ich darüber auch sonst nichts...). Auf jedenfall brauche ich jetzt einen Weg das auszulesen, es wäre toll, wenn das jemand ein wenig mehr aufschlüsselt (gibts vielleicht ne quelle mit mehr Informationen?) oder vielleicht schon Code/Knowhow zur Verfügung hat? Danke schonmal!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Outlook auslesen

  Alt 22. Jul 2007, 10:04
Hier wählst du doch den Ordner aus:
Folder := NmSpace.GetDefaultFolder(olFolderInbox); in Folder.Items befinden sich die Nachrichten des Ordners
Markus Kinzler
  Mit Zitat antworten Zitat
simlei

Registriert seit: 23. Nov 2005
119 Beiträge
 
Delphi 7 Professional
 
#3

Re: Outlook auslesen

  Alt 22. Jul 2007, 11:36
gut; und wie wechsle ich in bestimmte Ordner? Es gibt ja die Möglichkeit, eigene zu erstellen... Deshalb muss das doch über eine Zeichenkettenangabe gehen, es kann ja schlecht eine feststehende Variable sein wie hier bei Inbox...
Und dann wäre auch wichtig: eine Möglichkeit, die Ordnerliste überhaupt erst zu bekommen...

Wenn es eine Dokumentation dazu gibt, her damit, gefunden hatte ich keine... oder wenn diese zwei noch ausstehenden Sachen bekannt sind, her damit
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Outlook auslesen

  Alt 22. Jul 2007, 11:47
Schau dir mal die VBA-Hilfe von Outlook an.
Markus Kinzler
  Mit Zitat antworten Zitat
simlei

Registriert seit: 23. Nov 2005
119 Beiträge
 
Delphi 7 Professional
 
#5

Re: Outlook auslesen

  Alt 22. Jul 2007, 20:24
Zitat von mkinzler:
Hier wählst du doch den Ordner aus:
Folder := NmSpace.GetDefaultFolder(olFolderInbox);
Ja; meine Frage ist nun u.a. wie kann ich in einen anderen Folder als "Inbox" wechseln? (zB habe ich in "Inbox" einen Ordner namens "Test1" angelegt und möchte nun diesen Ordner als "Folder" haben)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Outlook auslesen

  Alt 22. Jul 2007, 20:34
Die Unterordner befinde sich unter Folder.Folders
Markus Kinzler
  Mit Zitat antworten Zitat
simlei

Registriert seit: 23. Nov 2005
119 Beiträge
 
Delphi 7 Professional
 
#7

Re: Outlook auslesen

  Alt 22. Jul 2007, 20:58
ausprobieren kann ich es erst später, aber das hört sich gut an
danke!
  Mit Zitat antworten Zitat
simlei

Registriert seit: 23. Nov 2005
119 Beiträge
 
Delphi 7 Professional
 
#8

Re: Outlook auslesen

  Alt 23. Jul 2007, 20:34
So; es hat gut geklappt, über die Eigenschaft "Folders" in die Unterordner zu wechseln. Problem: Folder.Parent ist vom Typ IDispatch, und damit geht Folder := Folder.Parent nicht; so wollte ich eigentlich eine Ebene aufwärts gehen...

Außerdem ist Folder.Items.Item(i), welches höchstwahrscheinlich ein Mail-Item des Folders darstellen soll, vom Typ IDispatch und hat keine sinnvollen Eigenschaften für ein Maailitem wie z. B. "Body" "Subject" "from" "CC" usw...

Drittes Problem: Mit "Folder := NmSpace.GetDefaultFolder(olFolderInbox);" kann ich in "Inbox" wechseln, und mit anderen Konstanten auch in "Deleted Items", "Outbox" und "Sent Mails", jedoch nicht (und das ist mir wichtig) in den Überordner, da auch selbst erstellte Ordner in der selben Ebene wie Inbox, usw existieren könne. Vielleicht funktioniert das, wenn ich aus einem Ordner in seinen übergeordneten Ordner wechseln kann (s.o.)...

Wenn diese Probleme gelöst werden können bin ich glücklich
simlei
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz