Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Outlook Unterordner durchsuchen (https://www.delphipraxis.net/176219-outlook-unterordner-durchsuchen.html)

HolgerCW 20. Aug 2013 13:39

Delphi-Version: 2006

Outlook Unterordner durchsuchen
 
Hallo zusammen,

ich habe nun herrausgefunden wie ich die obersten Ordner durchlaufen lassen kann.

Wenn ich jetzt den Ordner "Postfach" gefunden habe, wie kann ich dann dort die Ordner weiter nach dem Ordner "Gesendete Elemente" durchsuchen ?

Delphi-Quellcode:
var
 TOA:TOutlookApplication;
 MI: MailItem;
 NS: NameSpace;
 Ordner: String;
 Folder: MAPIFolder;
 I: Integer;
begin
 
 TOA:= TOutlookApplication.Create(Form_Email.Outlook);

 TOA.ConnectKind := ckRunningOrNew;
 TOA.Connect;
 
 NS := TOA.GetNamespace('MAPI');
 NS.Logon('', '', False, False);
 Folder := NS.GetDefaultFolder(olFolders);
 For I := 1 to NS.Folders.Count do
 begin

  If NS.Folders.Item(I).Name = 'Postfach' then
  begin

   ...

  end;

 end;
Gruss

Holger

DeddyH 20. Aug 2013 14:07

AW: Outlook Unterordner durchsuchen
 
Kommst Du evtl. hiermit weiter: http://stackoverflow.com/questions/5...-has-been-sent?

HolgerCW 20. Aug 2013 14:12

AW: Outlook Unterordner durchsuchen
 
Da müsste ich jetzt alles als OLE-Object machen ?

Vielleicht eine Idee, wie ich meine For-Schleife erweitern kann ?

Gruss

Holger

Union 20. Aug 2013 17:52

AW: Outlook Unterordner durchsuchen
 
Das for Konstrukt muß in eine separate, rekursive Prozedur. Du mußt dann die Subfolders auswerten. Zwei Unschönheiten noch:
  • Du verwendest eine deutsche Konstante für die Abfrage auf das "Postfach". Da dieser Wert konfigurierbar ist, kann das fehlschlagen
  • Du benutzt TOutlookAplication. Mit dieser TLB bist Du auf eine bestimmte Version festgelegt.

Perlsau 20. Aug 2013 18:20

AW: Outlook Unterordner durchsuchen
 
Zitat:

Zitat von HolgerCW (Beitrag 1225517)
Da müsste ich jetzt alles als OLE-Object machen ?

Wieso überhaupt Outlook? Um ein Postfach abzufragen oder eine Mail über eines deiner Postfächer zu versenden, benötigst du Outlook nicht wirklich. Lediglich als Email-Client zum Archivieren und Antworten wäre okay, aber um programmseitig irgendwelche Emails zu handeln (wie z.B. in meinem Adress-Manager, der Serienbrief-Funktion via Email bietet), stellt ein externer Mailclient einen unnötigen Umweg dar.

Davon abgesehen solltest du dich wirklich mit der zugrundeliegenden Thematik auseinandersetzen, bevor du irgendwelche Sachen zusammenkopierst, die du am Ende dann doch nicht verstehst.

HolgerCW 21. Aug 2013 10:40

AW: Outlook Unterordner durchsuchen
 
Ich weiß nun wie ich den Gesendet - Ordner abfrage. Nur wenn ich direkt nach dem senden der E-Mail den gesendet Ordner abfrage ist dort die E-Mail eventuell noch nicht vorhanden.

Wenn ich den Postausgang - Ordner mit Abfrage klappt das zwar aber die E-Mail geht dann nicht raus.

Was kann ich tuen ?

Application kurz anhalten ?

Gruss

Holger

DeddyH 21. Aug 2013 10:55

AW: Outlook Unterordner durchsuchen
 
Ich zitiere nochmal aus dem oben verlinkten Thread:
Zitat:

It would seem you have to use the Send Event of the mail item.
Es gibt also in Outlook ein Event dafür, man muss es nur nutzen.

HolgerCW 21. Aug 2013 11:11

AW: Outlook Unterordner durchsuchen
 
Wenn ich Send nutze, klappt es aber auch nicht ohne ein Sleep(3000) ?

Warum geht bei der Abfrage des Postausgang - Ordner die E-Mail nicht raus ?

Gruss

Holger

RWarnecke 21. Aug 2013 11:23

AW: Outlook Unterordner durchsuchen
 
Ich würde den Postausgangsordner zyklisch abfragen, nach dem Senden ob noch eine Mail drin ist. Wenn nicht, würde ich den Gesendet-Ordner abfragen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:55 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