Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   PST-Datei auslesen und Mails in MSG/EML konvertieren (https://www.delphipraxis.net/163597-pst-datei-auslesen-und-mails-msg-eml-konvertieren.html)

musicman56 6. Okt 2011 10:24

PST-Datei auslesen und Mails in MSG/EML konvertieren
 
Hallo,

ich möchte gerne die E-Mails aus einer PST-Datei in das MSG- bzw. EML-Format extrahieren/konvertieren. Über die E-Mail-Adresse möchte ich die Mails dann in meiner Kundendatenbank dem jeweiligen Kunden zuordnen. Sollte nach Möglichkeit mit allen Outlook-Versionen funktionieren.

In einem anderen Beitrag hab ich vielleicht schon einen interessanten Ansatz gefunden. So ähnlich hätte ich mir das vorgestellt:

Delphi-Quellcode:
 procedure TForm1.Button2Click(Sender: TObject);
const
  olFolderCalendar = $00000009;
var
  outlook, NameSpace, Termine, Termin: OleVariant;
  FTermine,FItems: OleVariant;
  i: Integer;
  sFilter, eFilter, erg: String;

begin

 if (Ed_von.text <> '') and (Ed_bis.Text <> '' ) then
 begin
  Memo1.Lines.Clear;
  outlook := CreateOleObject('Outlook.Application');
  NameSpace := outlook.GetNameSpace('MAPI');
  Termine := NameSpace.GetDefaultFolder(olFolderCalendar);
  sFilter:='[START] >= ''' + Ed_von.Text + '''';
  eFilter:='[End] <= ''' + Ed_bis.Text + '''';
  FTermine:= Termine.Items.Restrict(sFilter); // nur Termine behalten die >= von-Datum
  FTermine:= FTermine.Restrict(eFilter); // nur Termine davon behalten die <= bis-Datum

  for i := 1 to FTermine.Count do //resultierende Termine durchmustern
  begin
    Termin := FTermine.Item(i);
    // Titel des Termins und Startdatum mit Zeit auslesen:
    erg:= Termin.Subject;
    erg:= erg + ' <Begin: ' + DateTimeToStr (Termin.Start) + ' >';
    erg:= erg + ' <Dauer: ' + TimeToStr (Termin.Duration) + ' >';
    erg:= erg + ' <Ende: ' + DateTimeToStr (Termin.End) + ' >';
    Memo1.Lines.Add(erg);
  end;

  Outlook := UnAssigned;

end;

end;
Kann aber jederzeit auch was kommerzielles sein, sollte nur funktionieren :wink: Vielleicht hat jemand ja einen brauchbaren Tipp für mich?


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