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

 

 

 

 

 

 

 

How to Determine if Email is a Bounce of Automated Reply

Demonstrates how to use the Chilkat Bounce component to determine if an email is an bounce (DSN) or an automated reply.

Downloads for Windows/Linux and Install Instructions

require 'rubygems'
require 'chilkat'

bounce = Chilkat::CkBounce.new()

success = bounce.UnlockComponent("Anything for 30-day trial")
if (success == false)
    print "Failed to unlock component" + "\n"
    exit
end

email = Chilkat::CkEmail.new()

#  Load an email from a .eml file.
#  (This example loads an Email object from a .eml file,
#  but the object could've just as well been loaded by reading
#  directly from a POP3 or IMAP mail server.)
success = email.LoadEml("sampleBounce.eml")
if (success == false)
    print email.lastErrorText() + "\n"
    exit
end

success = bounce.ExamineEmail(email)
if (success == false)
    print bounce.lastErrorText() + "\n"
    exit
end

if (bounce.get_BounceType() == 1)
    #  Hard bounce, log the email address
    print "Hard Bounce: " + bounce.bounceAddress() + "\n";
end

if (bounce.get_BounceType() == 2)
    #  Soft bounce, log the email address
    print "Soft Bounce: " + bounce.bounceAddress() + "\n";
end

if (bounce.get_BounceType() == 3)
    #  General bounce, no email address available.
    print "General Bounce: No email address" + "\n";
end

if (bounce.get_BounceType() == 4)
    #  General bounce, log the email address
    print "General Bounce: " + bounce.bounceAddress() + "\n";
end

if (bounce.get_BounceType() == 5)
    #  Mail blocked, log the email address
    print "Mail Blocked: " + bounce.bounceAddress() + "\n";
end

if (bounce.get_BounceType() == 6)
    #  Auto-reply, log the email address
    print "Auto-Reply: " + bounce.bounceAddress() + "\n";
end

if (bounce.get_BounceType() == 7)
    #  Transient (recoverable) Failure, log the email address
    print "Transient Failure: " + bounce.bounceAddress() + "\n";
end

if (bounce.get_BounceType() == 8)
    #  Subscribe request, log the email address
    print "Subscribe Request: " + bounce.bounceAddress() + "\n";
end

if (bounce.get_BounceType() == 9)
    #  Unsubscribe Request, log the email address
    print "Unsubscribe Request: " + bounce.bounceAddress() + "\n";
end

if (bounce.get_BounceType() == 10)
    #  Virus Notification, log the email address
    print "Virus Notification: " + bounce.bounceAddress() + "\n";
end

if (bounce.get_BounceType() == 11)
    #  Suspected bounce.
    #  This should be rare.  It indicates that the Bounce
    #  component found strong evidence that this is a bounced
    #  email, but couldn//t quite recognize everything it
    #  needed to be 100% sure.  Feel free to notify
    #  support@chilkatsoft.com regarding emails having this
    #  bounce type.
    print "Suspected Bounce!" + "\n";
end

 

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