Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
Add Header Field to MIME Sub-Header in Email
See more Email Object Examples
Demonstrates how to add a header field to one of the attachment sub-headers in an email.Chilkat Pascal (Lazarus/Delphi) Downloads
program ChilkatDemo;
// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.
{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
SysUtils,
CkDllLoader,
Chilkat.Email;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
success: Boolean;
email: TEmail;
begin
success := False;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
email := TEmail.Create;
email.Subject := 'test';
email.AddTo('Chilkat','support@chilkatsoft.com');
email.From := 'Matt <matt@example.com>';
email.Body := 'This is a simple plain-text body.';
success := email.AddFileAttachment2('qa_data/1.HPM','application/x-hprimnet');
if (success = False) then
begin
WriteLn(email.LastErrorText);
Exit;
end;
// Add a "ContentDescription: HPM/3.0" in the attachment's sub-header.
// The 1st attachment is at index 0.
email.AddAttachmentHeader(0,'Content-Description','HPM/3.0');
// Show the email MIME:
WriteLn(email.GetMime());
// This is the output:
// MIME-Version: 1.0
// Date: Wed, 16 Jan 2019 10:05:18 -0600
// Message-ID: <93B88835586270B7BE5202F84E171F29C10BA935@CHILKATSLICE>
// Content-Type: multipart/mixed; boundary="------------000502000000020502010608"
// X-Priority: 3 (Normal)
// Subject: test
// To: Chilkat <support@chilkatsoft.com>
// From: Matt <matt@example.com>
//
// --------------000502000000020502010608
// Content-Type: text/plain; charset=us-ascii; format=flowed
// Content-Transfer-Encoding: 7bit
//
// This is a simple plain-text body.
// --------------000502000000020502010608
// Content-Type: application/x-hprimnet; name="1.HPM"
// Content-Transfer-Encoding: base64
// Content-Disposition: attachment; filename="1.HPM"
// Content-Description: HPM/3.0
//
// FILE_DATA_IS_HERE...
//
// --------------000502000000020502010608--
email.Free;
end;
// ---------------------------------------------------------------------------
begin
try
RunDemo;
except
on E: Exception do
WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
end;
WriteLn;
{$IFDEF MSWINDOWS}
WriteLn('Press Enter to exit...');
ReadLn;
{$ENDIF}
end.