Delphi Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Delphi Examples

Bounced Mail
Bz2
Character Encoding
CSV
Digital Certificates
Digital Signatures
DH Key Exchange
DSA
Email
Email Object
FTP
HTML-to-XML
HTTP
IMAP
Encryption
MHT / HTML Email
POP3
RSA
S/MIME
SMTP
Socket
Spider
SFTP
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression

More Examples...
Byte Array
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate

Unreleased...
Bzip2
LZW
Icon

Type Conversion

 

Article: Understanding COM References in Delphi

Create Complex Email

This is an example showing how to create an email that has file attachments, contains both plain-text and HTML alternative bodies, and has embedded images within the HTML. The email is saved to a .eml file, which is a text file and can be viewed in any text editor. EML is nothing more than the MIME source of an email. In this example, you'll see that the MIME is structured in three layers of multipart content types. The outermost layer is multipart/mixed. This is typically where you'll find file attachments and attached messages. Underneath the multipart/mixed is a multipart/related envelope. Within this you'll find the "related" items -- which are the items belonging to the HTML body (images and style sheets). Underneath the multipart/related you'll find the multipart/alternative, and this contains the text/plain and text/html alternative bodies.

Download Chilkat Email ActiveX

Download Chilkat IMAP ActiveX

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    CHILKATMAILLib2_TLB,
    OleCtrls;

...

procedure TForm1.Button1Click(Sender: TObject);
var
mailman: TChilkatMailMan2;
email: CHILKATMAILLib2_TLB.IChilkatEmail2;
success: Integer;
contentType: String;
filenameOnDisk: String;
filenameInHtml: String;
html: String;

begin
//  Create a MailMan for the purpose
//  of unlocking the component.
mailman := TChilkatMailMan2.Create(Self);
mailman.UnlockComponent('anything for 30-day trial');

email := CoChilkatEmail2.Create();

//  Adding attachments, HTML/plain-text bodies, etc can be done
//  in any order:

//  Add an attachment

contentType := email.AddFileAttachment('hamlet.zip');
if (contentType = NULL ) then
  begin
    ShowMessage(email.LastErrorText);

  end;

//  Add some headers:
email.Subject := 'This is a complex email';
email.AddTo('Chilkat Support','support@chilkatsoft.com');
email.From := 'Matt <matt@chilkatsoft.com>';

//  Add a plain-text body:
email.AddPlainTextAlternativeBody('This is the plain-text body');

//  Add an image that will be embedded in the HTML body.
//  The contentType as derived from the file extension is returned.
filenameOnDisk := 'dude.gif';
filenameInHtml := 'dude.gif';
success := email.AddRelatedFile2(filenameOnDisk,filenameInHtml);
if (success <> 1) then
  begin
    ShowMessage(email.LastErrorText);
  end;

//  Add an HTML body:

html := '<html><body><b>This is the HTML body</b><br><img src="dude.gif"></body></html>';

email.AddHtmlAlternativeBody(html);

//  Save the email as a .eml

success := email.SaveEml('complex.eml');
if (success <> 1) then
  begin
    ShowMessage(email.LastErrorText);
  end
else
  begin
    ShowMessage('Created email!');
  end;
end;

 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2008 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Email Component · XML Parser