![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Ruby) POP3 to SMTP ForwarderRead a POP3 mailbox and forwards the email to another email address, keeping the recipients in the original email the same. Note: This example requires Chilkat v11.0.0 or greater.
require 'chilkat' success = false # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. mailman = Chilkat::CkMailMan.new() # Set the POP3 server's hostname mailman.put_MailHost("pop.example.com") # Set the POP3 login/password. mailman.put_PopUsername("MY_POP3_LOGIN") mailman.put_PopPassword("MY_POP3_PASSWORD") # Set the SMTP hostname for sending. mailman.put_SmtpHost("smtp.example.com") mailman.put_SmtpUsername("MY_SMTP_LOGIN") mailman.put_SmtpPassword("MY_SMTP_PASSWORD") fromAddr = "me@example.com" toAddr = "recipient@somewhere.com" # The the UIDLs for all email in the POP3 mailbox. stUidls = Chilkat::CkStringTable.new() success = mailman.FetchUidls(stUidls) if (success == false) print mailman.lastErrorText() + "\n"; exit end # Just mark messages for delete, then delete at the end. mailman.put_ImmediateDelete(false) # Download the email from the server. Call FetchMimeBd # because we don't want to load the emails into email objects. # (We'll delete the emails that are forwarded without error.) bdMime = Chilkat::CkBinData.new() count = stUidls.get_Count() i = 0 while i < count uidl = stUidls.stringAt(i) print "UIDL: " + uidl + "\n"; success = mailman.FetchMimeBd(uidl,bdMime) if (success == false) print mailman.lastErrorText() + "\n"; exit end success = mailman.SendMimeBd(fromAddr,toAddr,bdMime) if (success == false) print mailman.lastErrorText() + "\n"; exit end success = mailman.DeleteByUidl(uidl) if (success == false) print mailman.lastErrorText() + "\n"; exit end i = i + 1 end # Delete messages marked for delete. mailman.put_ImmediateDelete(true) success = mailman.Pop3EndSession() if (success == false) print mailman.lastErrorText() + "\n"; exit end print "Success." + "\n"; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.