Delphi ActiveX
Delphi ActiveX
Create Email with Non-Standard Binary Body
Creates an email where the only body is a binary WAV file. The technique used in the example could be applied to other binary files, such as PDF, MS-WORD docs, Excel docs, etc.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;
mime: TChilkatMime;
strMime: WideString;
email: TChilkatEmail;
begin
success := 0;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
mime := TChilkatMime.Create(Self);
success := mime.SetBodyFromFile('VoiceMessage.wav');
if (success = 0) then
begin
Memo1.Lines.Add(mime.LastErrorText);
Exit;
end;
// The MIME has this header:
// Content-Disposition: attachment;
// filename="VoiceMessage.wav"
// Content-Transfer-Encoding: base64
// Content-Type: audio/x-wav;
// name="VoiceMessage.wav"
// We don't want the content-disposition to be an
// attachment -- otherwise the email object will self-correct
// and put it in a multipart/mixed format...
mime.Disposition := '';
mime.Filename := '';
strMime := mime.GetMime();
Memo1.Lines.Add(strMime);
// Now load it into an email object:
email := TChilkatEmail.Create(Self);
success := email.SetFromMimeText(strMime);
if (success = 0) then
begin
Memo1.Lines.Add(email.LastErrorText);
Exit;
end;
// Add subject, TO, FROM, etc.
email.Subject := 'This is a test';
email.From := 'support@chilkatsoft.com';
success := email.AddTo('Matt','matt@chilkatsoft.com');
// Your email is ready to send.
// (but for this example, we'll simply save it to a file...)
success := email.SaveEml('email.eml');
if (success = 0) then
begin
Memo1.Lines.Add(email.LastErrorText);
Exit;
end;
Memo1.Lines.Add('OK!');
end;