Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Parsing a Multipart/Digest EmailThis 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
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Email; ... procedure TForm1.Button1Click(Sender: TObject); var emlPath: PWideChar; email: HCkEmail; success: Boolean; numDigests: Integer; i: Integer; eDigest: HCkEmail; m: PWideChar; begin // Note: This example requires Chilkat v9.5.0.66 or greater. emlPath := 'qa_data/eml/multipart_digest.eml'; email := CkEmail_Create(); // 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 := CkEmail_LoadEml(email,emlPath); if (success <> True) then begin Memo1.Lines.Add(CkEmail__lastErrorText(email)); Exit; end; numDigests := CkEmail_getNumDigests(email); Memo1.Lines.Add('num digests = ' + IntToStr(numDigests)); i := 0; while i < numDigests do begin eDigest := CkEmail_GetDigest(email,i); Memo1.Lines.Add(IntToStr(i) + ':' + CkEmail__fromAddress(eDigest) + ', ' + CkEmail__subject(eDigest)); m := CkEmail__getHeaderField(eDigest,'Message'); if (CkEmail_getLastMethodSuccess(eDigest) = True) then begin Memo1.Lines.Add(' Message = ' + m); end; CkEmail_Dispose(eDigest); i := i + 1; end; CkEmail_Dispose(email); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.