Delphi ActiveX
Delphi ActiveX
Parsing a Multipart/Digest Email
See more Email Object Examples
This example demonstrates how to parse a multipart/digest email. An email parsed by this sample could have a MIME structure as follows:
multipart/mixed
text/plain
text/plain
multipart/digest
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
text/plain
Chilkat Delphi ActiveX Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
emlPath: WideString;
email: TChilkatEmail;
numDigests: Integer;
eDigest: TChilkatEmail;
i: Integer;
m: WideString;
begin
success := 0;
emlPath := 'qa_data/eml/multipart_digest.eml';
email := TChilkatEmail.Create(Self);
// For this example, we'll load the email from a .eml.
// The email could alternatively be loaded as a result of downloading from an IMAP or POP3 server..
success := email.LoadEml(emlPath);
if (success = 0) then
begin
Memo1.Lines.Add(email.LastErrorText);
Exit;
end;
numDigests := email.NumDigests;
Memo1.Lines.Add('num digests = ' + IntToStr(numDigests));
eDigest := TChilkatEmail.Create(Self);
i := 0;
while i < numDigests do
begin
email.GetDigestEmail(i,eDigest.ControlInterface);
Memo1.Lines.Add(IntToStr(i) + ':' + eDigest.FromAddress + ', ' + eDigest.Subject);
m := eDigest.GetHeaderField('Message');
if (eDigest.LastMethodSuccess = 1) then
begin
Memo1.Lines.Add(' Message = ' + m);
end;
i := i + 1;
end;
end;