VB.NET Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++DelphiFoxProJavaPerlPythonRubySQL ServerVBScript

Delphi Examples

Bounced Mail
Character Encoding
Digital Certificates
Digital Signatures
Email
FTP
HTML-to-XML
HTTP
IMAP
Encryption
MHT / HTML Email
RSA Encryption
S/MIME
Socket
Spider
String
Tar
Upload
XML
XMP
Zip Compression

More Examples...
Byte Array
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor

Unreleased...
Service
PPMD
Deflate
Bzip2
LZW
Bz2
DH Key Exchange
DSA
Icon

Type Conversion

 

Article: Understanding COM References in Delphi

Download and Save Email Attachments (POP3)

Downloads emails from a POP3 mailbox and saves all attachments.

Download Chilkat Email ActiveX for POP3 / SMTP

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

...

procedure TForm1.Button1Click(Sender: TObject);
var
mailman: TChilkatMailMan2;
success: Integer;
bundle: CHILKATMAILLib2_TLB.IChilkatEmailBundle2;
dirPath: String;
i: Integer;
email: CHILKATMAILLib2_TLB.IChilkatEmail2;
n: Integer;
j: Integer;

begin
//  The mailman object is used for receiving (POP3)
//  and sending (SMTP) email.
mailman := TChilkatMailMan2.Create(Self);

//  Any string argument automatically begins the 30-day trial.
success := mailman.UnlockComponent('30-day trial');
if (success <> 1) then
  begin
    ShowMessage('Component unlock failed');

  end;

//  Set the POP3 server's hostname
mailman.MailHost := 'mail.chilkatsoft.com';

//  Set the POP3 login/password.
mailman.PopUsername := '***';
mailman.PopPassword := '***';

//  Copy the all email from the user's POP3 mailbox
//  into a bundle object.  The email remains on the server.
bundle := mailman.CopyMail();

if (bundle = nil ) then
  begin
    ShowMessage(mailman.LastErrorText);

  end;

dirPath := 'c:/myAttachments';

for i := 0 to bundle.MessageCount - 1 do
  begin
    email := bundle.GetEmail(i);

    //  You may save all the attachments to the specified directory
    //  by calling SaveAllAttachments.
    //  The SaveAllAttachments method will automatically create the directory
    //  if it does not already exist.
    success := email.SaveAllAttachments(dirPath);
    if (success <> 1) then
      begin
        ShowMessage(email.LastErrorText);

      end;

    //  The OverwriteExisting property controls whether already-existing files
    //  are automatically overwritten.  By default, it is set to 1 so that existing
    //  files will be overwritten.

    //  Setting OverwriteExisting = 0 will cause the attachment-saving methods to generate
    //  unique filenames if a file with the same name already exists.  The actual filename(s)
    //  saved will be present by calling GetAttachmentFilename for each attachment *after*
    //  saving.
    //  For example...
    email.OverwriteExisting := 0;
    success := email.SaveAllAttachments(dirPath);
    if (success <> 1) then
      begin
        ShowMessage(email.LastErrorText);

      end;
    n := email.NumAttachments;

    for j := 0 to n - 1 do
      begin
        //  If the attachment filename was changed to prevent overwriting,
        //  GetAttachmentFilename will return the new filename.
        Memo1.Lines.Add(email.GetAttachmentFilename(j));
      end;

    //  You may also save individual attachments:
    for j := 0 to n - 1 do
      begin

        Memo1.Lines.Add('Original Filename: '
             + email.GetAttachmentFilename(j));
        success := email.SaveAttachedFile(j,dirPath);
        if (success <> 1) then
          begin
            ShowMessage(email.LastErrorText);

          end;
        //  If OverwriteExisting = 1, the saved filename will always equal the original filename,
        //  unless there are characters present in the filename that are not allowed by Windows,
        //  such as * ? < > | etc.  In those cases the illegal characters are either removed or replaced
        //  with underscore characters to allow the file to be saved.
        Memo1.Lines.Add('Saved Filename: ' + email.GetAttachmentFilename(j));
      end;

  end;


end;

 

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

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

Mail Component · .NET Email Component · XML Parser