Perl Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Perl Examples

Quick Start
Unicode
Byte Array
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML-to-XML
HTTP
IMAP
MHT
MIME
POP3
RSA
S/MIME
Signatures
SMTP
Socket / SSL
Spider
SFTP
SSH Key
SSH
SSH Tunnel
Tar
HTTP Upload
XML
XMP
Zip

More Examples...
String
Email Object
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
Bzip2
LZW

 

 

 

 

 

 

 

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-2010 Chilkat Software, Inc. All Rights Reserved.