Perl Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Perl Examples

Quick Start
Perl Unicode
Perl Byte Array
Perl Certs
Perl Email
Perl Encryption
Perl FTP
HTML-to-XML
Perl HTTP
Perl IMAP
Perl MHT
Perl MIME
Perl RSA
Perl S/MIME
Perl Signatures
Perl Socket
Perl Spider
Perl Tar
Perl Upload
Perl XML
Perl XMP
Perl Zip

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

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

 

 

 

 

 

 

 

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 Perl Module

use chilkat;

#  The mailman object is used for receiving (POP3)
#  and sending (SMTP) email.
$mailman = new chilkat::CkMailMan();

#  Any string argument automatically begins the 30-day trial.
$success = $mailman->UnlockComponent("30-day trial");
if ($success != 1) {
    print "Component unlock failed" . "\n";
    exit;
}

#  Set the POP3 server's hostname
$mailman->put_MailHost("mail.chilkatsoft.com");

#  Set the POP3 login/password.
$mailman->put_PopUsername('matt@chilkatsoft.com');
$mailman->put_PopPassword("****");

#  The the UIDLs for all email in the POP3 mailbox.
$saUidls = $mailman->GetUidls();
if ($saUidls eq null ) {
    print $mailman->lastErrorText() . "\n";
    exit;
}

#  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);

if ($saMime eq null ) {

    print $mailman->lastErrorText() . "\n";
    exit;
}

#  Set the SMTP hostname for sending.
$mailman->put_SmtpHost("mail.chilkatsoft.com");
$mailman->put_SmtpUsername('admin@chilkatsoft.com');
$mailman->put_SmtpPassword("****");

$n = $saMime->get_Count();

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

$bAllOk = 1;

if ($n > 0) {
    for ($i = 0; $i <= $n - 1; $i++) {

        $strMime = $saMime->getString($i);

        #  Forward the email.
        $success = $mailman->SendMime($fromAddr,$toAddr,$strMime);
        if ($success != 1) {
            $bAllOk = 0;
            print $mailman->lastErrorText() . "\r\n";
            last;
        }

    }

}

#  Remove the emails in saUidls from the POP3 server.
if ($bAllOk == 1) {
    $success = $mailman->DeleteMultiple($saUidls);
    if ($success != 1) {
        print $mailman->lastErrorText() . "\r\n";
    }

}


 

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

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