Einzelnen Beitrag anzeigen

Pitschki1801

Registriert seit: 9. Feb 2012
14 Beiträge
 
Delphi XE Professional
 
#4

AW: Outlook msg lesen / parsen

  Alt 30. Mär 2015, 07:09
Moin Gerd,

vielleicht gibt es eine Kennung, aber die hab ich auch noch nicht gefunden

Ich wandel den IStream in einen TStringStream um, ist vielleicht etwas einfacher zu handeln.
Bei dem E-Mailtext solltest du die Nullzeichen nicht unbedingt gegen Leerzeichen ersetzen ^^

Delphi-Quellcode:
function PDropTarget.GetAttachmentFilename(_AttachmentStorage: IStorage): String;
var
    l_AttachmentStream: IStream;
    l_AttachmentStat: TStatStg;
    l_OleStream: TOleStream;
    l_StringStream: TStringStream;
    l_FileName: String;
    p : PChar;
    i : integer;
begin
    //CONST_AttachmentFileName = '__substg1.0_3001001F'
    _AttachmentStorage.OpenStream(CON_AttachmentFileName, nil, STGM_READWRITE or STGM_SHARE_EXCLUSIVE, 0, l_AttachmentStream);
    if (l_AttachmentStream.Stat(l_AttachmentStat, STATFLAG_NONAME) = S_OK) then
    begin
        try
            l_OleStream := TOleStream.Create(ISTREAM(l_AttachmentStream));
            l_StringStream := TStringStream.Create('');
            l_StringStream.CopyFrom(l_OleStream, 0);
            l_FileName := l_StringStream.DataString;
            UniqueString(l_FileName);
            p := PChar(l_FileName);
            for i := 1 to length(l_FileName) do
            begin
                if p^ = #0 then
                    p^ := #32;
                Inc(p);
            end;
            result := StringReplace(l_FileName, #32, '', [rfReplaceAll]);
        finally
            l_OleStream.Free;
            l_AttachmentStream := NIL;
        end;
    end;
end;
Mit dem Datum von gesendeten Mails kann ich dir zur Zeit leider nicht weiter helfen.

Gruß
David
  Mit Zitat antworten Zitat