Sample code for 30+ languages & platforms
Delphi DLL

Create MIME Containing Plain-Text

See more MIME Examples

Calls SetBodyFromPlainText to load plain-text into the MIME body. Also sets the Content-Type header to "text/plain", and the Content-Transfer-Encoding to an appropriate transfer encoding based on the characters found in the text.

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Mime;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
mime: HCkMime;
textBody: PWideChar;

begin
success := False;

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

mime := CkMime_Create();

// Add a few header fields:
success := CkMime_AddHeaderField(mime,'Description','this is a test');
success := CkMime_AddHeaderField(mime,'MyId','123');

textBody := 'This is the plain-text body';

success := CkMime_SetBodyFromPlainText(mime,textBody);

Memo1.Lines.Add(CkMime__getMime(mime));

// The MIME should look like this:

// Description: this is a test
// MyId: 123
// Content-Type: text/plain; 
// Content-Transfer-Encoding: 7bit
// 
// This is the plain-text body

// Note: The Content-Transfer-Encoding may be changed.
// For example, to use "base64", do this:
CkMime_putEncoding(mime,'base64');

// Show the MIME again, this time using the base64 
// transfer encoding:
Memo1.Lines.Add(CkMime__getMime(mime));

// It should look like this:

// Description: this is a test
// MyId: 123
// Content-Type: text/plain
// Content-Transfer-Encoding: base64
// 
// VGhpcyBpcyB0aGUgcGxhaW4tdGV4dCBib2R5
// 

CkMime_Dispose(mime);

end;