Ruby Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Ruby
Examples

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

More Examples...
String
Amazon S3
Email Object
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
DH Key Exchange
DSA
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.

Downloads for Windows/Linux and Install Instructions

require 'rubygems'
require 'chilkat'

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

#  Any string argument automatically begins the 30-day trial.
success = mailman.UnlockComponent("30-day trial")
if (success != true)
    print "Component unlock failed" + "\n"
    exit
end

#  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 == nil )
    print mailman.lastErrorText() + "\n"
    exit
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)

if (saMime == nil )

    print mailman.lastErrorText() + "\n"
    exit
end

#  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 = true

if (n > 0)
    for i in 0 .. n - 1

        strMime = saMime.getString(i)

        #  Forward the email.
        success = mailman.SendMime(fromAddr,toAddr,strMime)
        if (success != true)
            bAllOk = false
            print mailman.lastErrorText() + "\n";
            break
        end

    end
end

#  Remove the emails in saUidls from the POP3 server.
if (bAllOk == true)
    success = mailman.DeleteMultiple(saUidls)
    if (success != true)
        print mailman.lastErrorText() + "\n";
    end

end


 

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