Ruby Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Ruby
Examples

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

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
DH Key Exchange
DSA

Unreleased...
LZW
Bz2
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 Ruby Library

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


 

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

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