opening after SaveToFile

Giganews Newsgroups
Subject: opening after SaveToFile
Posted by:  cvh (Chr…@nomail.com)
Date: Tue, 19 Jun 2007

Hello,

Do you need to process saved messages differently from ones you retreive
directly from the server?

Here is my code to retrieve from server:

var qMes,intInline,T,T1,T2:Integer;
    strFrom,strSubject,strBody:String;

begin

      intInline:=0;

      If Not Pop3.Connected then pop3.Connect;

      qMes:= pop3.CheckMessages;

      For T1:= 1 To qMes do begin

            pop3.Retrieve(T1, msg);
            msg.SaveToFile('amsg.msg',False);
            strFrom := msg.From.Address ;
            strSubject := msg.Subject;
            StrBody := '';
            If (msg.MessageParts.Count = 0) Then
                StrBody := msg.Body.GetText

            else begin

              For T2 := 1 To msg.MessageParts.Count - 1 do begin

              If Msg.MessageParts.Items[T2] is TidText then

              StrBody:=StrBody +
(TIdText(Msg.MessageParts.Items[T2]).Body.Text)

              else If Msg.MessageParts.Items[T2] is TidAttachment then
begin

                If
(UpperCase(copy(tIdAttachment(Msg.MessageParts.Items[t2]).ContentDisposition,1,1))
<> 'A') OR
                    (Msg.MessageParts.Items[T2].ContentID <> '') then
begin//Inline

                  If Not
FileExists(Copy(Msg.MessageParts.Items[T2].ContentID,
                                2,
                                Length(Msg.MessageParts.Items[T2].ContentID)-2))
then

                  TidAttachment(Msg.MessageParts.Items[t2]).SaveToFile(Copy(Msg.MessageParts.Items[T2].ContentID,
                                2,
                                Length(Msg.MessageParts.Items[T2].ContentID)-2));//Remove
brackets

                  intInline:=intInline + 1;

                end

                else

                  If Not
FileExists(TidAttachment(Msg.MessageParts.Items[t2]).FileName) then
                    TidAttachment(Msg.MessageParts.Items[t2]).SaveToFile(TidAttachment(Msg.MessageParts.Items[t2]).FileName);

              end;

            end;

            //Find cid:
            While intInline > 0 do begin

              T:=ansiPos('cid:', strBody);

              If T>0 then begin

                Delete(strBody,T,4);

              end;

              intInline:=intInline -1;

            end;{While}
            end;
            Memo1.clear;
            Memo1.lines.append(strBody);
            Memo1.Lines.SaveToFile('test.html');
            HTMlMemo.LoadFromFile('test.html');
            strBody:='';
            Msg.Clear;

      end;

      pop3.Disconnect;

end;

Replies