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

POP3 to SMTP Forwarder

Read a POP3 mailbox and forwards the email to another email address, keeping the recipients in the original email the same.

Download Chilkat Email ActiveX for POP3 / SMTP

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

...

procedure TForm1.Button1Click(Sender: TObject);
var
mailman: TChilkatMailMan2;
success: Integer;
saUidls: CHILKATUTILLib_TLB.ICkStringArray;
saMime: CHILKATUTILLib_TLB.ICkStringArray;
i: Integer;
strMime: String;
n: Integer;
fromAddr: String;
toAddr: String;
bAllOk: 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 := 'matt@chilkatsoft.com';
mailman.PopPassword := '****';

//  The the UIDLs for all email in the POP3 mailbox.
saUidls := mailman.GetUidls() as CHILKATUTILLib_TLB.ICkStringArray;
if (saUidls = nil ) then
  begin
    ShowMessage(mailman.LastErrorText);

  end;

//  Download the email from the server.  Call FetchMultipleMime
//  because we don't want to load the emails into email objects.
//  (We'll delete the emails that are forwarded without error.)
saMime := mailman.FetchMultipleMime(saUidls) as CHILKATUTILLib_TLB.ICkStringArray;

if (saMime = nil ) then
  begin

    ShowMessage(mailman.LastErrorText);

  end;

//  Set the SMTP hostname for sending.
mailman.SmtpHost := 'mail.chilkatsoft.com';
mailman.SmtpUsername := 'admin@chilkatsoft.com';
mailman.SmtpPassword := '****';

n := saMime.Count;

fromAddr := 'matt@chilkatsoft.com';
toAddr := 'admin@chilkatsoft.com';

bAllOk := 1;

if (n > 0) then
  begin
    for i := 0 to n - 1 do
      begin

        strMime := saMime.GetString(i);

        //  Forward the email.
        success := mailman.SendMime(fromAddr,toAddr,strMime);
        if (success <> 1) then
          begin
            bAllOk := 0;
            Memo1.Lines.Add(mailman.LastErrorText);
            break;
          end;

      end;

  end;

//  Remove the emails in saUidls from the POP3 server.
if (bAllOk = 1) then
  begin
    success := mailman.DeleteMultiple(saUidls);
    if (success <> 1) then
      begin
        Memo1.Lines.Add(mailman.LastErrorText);
      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