Class TMimeDecode (unit MimeDec)

Inherits from

TComponent

Constructors



Functions

procedure DecodeFile(FileName : String);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure DecodeStream(aStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure InternalDecodeStream(aStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { This routine use an intelligent buffer management, trying to move data } { the less possible times.

procedure MessageBegin;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure MessageEnd;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure PrepareNextPart;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure ProcessDecodedLine(Line : PChar; Len : Integer);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure ProcessHeaderLine;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure ProcessLineBase64;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure ProcessLineQuotedPrintable;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { This works if charset="iso-8859-1" !

procedure ProcessMessageLine;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure ProcessPartHeaderLine;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure ProcessPartLine;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure ProcessWaitBoundary;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure TriggerHeaderBegin;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure TriggerHeaderEnd;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure TriggerHeaderLine;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure TriggerPartBegin;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure TriggerPartEnd;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure TriggerPartHeaderBegin;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure TriggerPartHeaderEnd;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure TriggerPartHeaderLine;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure TriggerPartLine(Data : PChar; DataLen : Integer);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Properties

property ApplicationType : String


property ContentType : String


property CurrentData : PChar


property Date : String


property Dest : String


property DestStream : TStream


property From : String


property MimeVersion : String


property PartCharset : String


property PartContentType : String


property PartDisposition : String


property PartEncoding : String


property PartFileName : String


property PartName : String


property PartNumber : Integer


property ReturnPath : String


property Subject : String


Events

event OnHeaderBegin : TNotifyEvent


event OnHeaderEnd : TNotifyEvent


event OnHeaderLine : TNotifyEvent


event OnPartBegin : TNotifyEvent


event OnPartEnd : TNotifyEvent


event OnPartHeaderBegin : TNotifyEvent


event OnPartHeaderEnd : TNotifyEvent


event OnPartHeaderLine : TNotifyEvent


event OnPartLine : TMimeDecodePartLine


Variables

FApplicationType : String;


FBoundary : String;


FBuffer : PChar;


FBufferSize : Integer;


FContentType : String;


FCurrentData : PChar;


FDate : String;


FDest : String;


FDestStream : TStream;


FFrom : String;


FHeaderFlag : Boolean;


FLineNum : Integer;


FMimeVersion : String;


FNext : procedure of object;


FOnHeaderBegin : TNotifyEvent;


FOnHeaderEnd : TNotifyEvent;


FOnHeaderLine : TNotifyEvent;


FOnPartBegin : TNotifyEvent;


FOnPartEnd : TNotifyEvent;


FOnPartHeaderBegin : TNotifyEvent;


FOnPartHeaderEnd : TNotifyEvent;


FOnPartHeaderLine : TNotifyEvent;


FOnPartLine : TMimeDecodePartLine;


FPartCharset : String;


FPartContentType : String;


FPartDisposition : String;


FPartEncoding : String;


FPartFileName : String;


FPartName : String;


FPartNumber : Integer;


FPartOpened : Boolean;


FReturnPath : String;


FSubject : String;



Constructors


Functions


procedure DecodeFile(FileName : String);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure DecodeStream(aStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure InternalDecodeStream(aStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { This routine use an intelligent buffer management, trying to move data } { the less possible times. The buffer is enlarged as necessary to contains } { the largest line we encounter.


procedure MessageBegin;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure MessageEnd;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure PrepareNextPart;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure ProcessDecodedLine(Line : PChar; Len : Integer);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure ProcessHeaderLine;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure ProcessLineBase64;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure ProcessLineQuotedPrintable;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { This works if charset="iso-8859-1" !


procedure ProcessMessageLine;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure ProcessPartHeaderLine;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure ProcessPartLine;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure ProcessWaitBoundary;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure TriggerHeaderBegin;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure TriggerHeaderEnd;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure TriggerHeaderLine;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure TriggerPartBegin;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure TriggerPartEnd;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure TriggerPartHeaderBegin;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure TriggerPartHeaderEnd;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure TriggerPartHeaderLine;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure TriggerPartLine(Data : PChar; DataLen : Integer);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


Properties


property ApplicationType : String


property ContentType : String


property CurrentData : PChar


property Date : String


property Dest : String


property DestStream : TStream


property From : String


property MimeVersion : String


property PartCharset : String


property PartContentType : String


property PartDisposition : String


property PartEncoding : String


property PartFileName : String


property PartName : String


property PartNumber : Integer


property ReturnPath : String


property Subject : String


Events


event OnHeaderBegin : TNotifyEvent


event OnHeaderEnd : TNotifyEvent


event OnHeaderLine : TNotifyEvent


event OnPartBegin : TNotifyEvent


event OnPartEnd : TNotifyEvent


event OnPartHeaderBegin : TNotifyEvent


event OnPartHeaderEnd : TNotifyEvent


event OnPartHeaderLine : TNotifyEvent


event OnPartLine : TMimeDecodePartLine


Variables


FApplicationType : String;


FBoundary : String;


FBuffer : PChar;


FBufferSize : Integer;


FContentType : String;


FCurrentData : PChar;


FDate : String;


FDest : String;


FDestStream : TStream;


FFrom : String;


FHeaderFlag : Boolean;


FLineNum : Integer;


FMimeVersion : String;


FNext : procedure of object;


FOnHeaderBegin : TNotifyEvent;


FOnHeaderEnd : TNotifyEvent;


FOnHeaderLine : TNotifyEvent;


FOnPartBegin : TNotifyEvent;


FOnPartEnd : TNotifyEvent;


FOnPartHeaderBegin : TNotifyEvent;


FOnPartHeaderEnd : TNotifyEvent;


FOnPartHeaderLine : TNotifyEvent;


FOnPartLine : TMimeDecodePartLine;


FPartCharset : String;


FPartContentType : String;


FPartDisposition : String;


FPartEncoding : String;


FPartFileName : String;


FPartName : String;


FPartNumber : Integer;


FPartOpened : Boolean;


FReturnPath : String;


FSubject : String;