Sample code for 30+ languages & platforms
Delphi ActiveX

Save Email Attachments to Filesystem

Saves email attachments to a directory.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
var
success: Integer;
email: TChilkatEmail;
i: Integer;

begin
success := 0;

email := TChilkatEmail.Create(Self);

//  Load an email object containing attachments.
//  This .eml can be downloaded from:
//  http://www.example-code.com/testData/HtmlEmail.eml

success := email.LoadEml('HtmlEmail.eml');
if (success <> 1) then
  begin
    Memo1.Lines.Add(email.LastErrorText);
    Exit;
  end;

//  If OverwriteExisting is turned on, files with the same
//  name are overwritten.  If turned off, new/unique filenames
//  are automatically generated.  The filenames actually saved
//  are accessible via the GetAttachmentFilename method.
email.OverwriteExisting := 1;

//  Save all attachments to the "myAttachments" subdirectory
//  found under the calling process's current working directory.
//  This directory is automatically created if it does not already
//  exist.
success := email.SaveAllAttachments('myAttachments');
if (success <> 1) then
  begin
    Memo1.Lines.Add(email.LastErrorText);
    Exit;
  end;

//  List the attachment filenames:

for i := 0 to email.NumAttachments - 1 do
  begin
    Memo1.Lines.Add(email.GetAttachmentFilename(i));
  end;