Einzelnen Beitrag anzeigen

musicman56
(Gast)

n/a Beiträge
 
#1

PST-Datei auslesen und Mails in MSG/EML konvertieren

  Alt 6. Okt 2011, 10:24
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 Vielleicht hat jemand ja einen brauchbaren Tipp für mich?
  Mit Zitat antworten Zitat