![]() |
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
(C#) 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.
bool success = false; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Chilkat.MailMan mailman = new Chilkat.MailMan(); // Set the POP3 server's hostname mailman.MailHost = "pop.example.com"; // Set the POP3 login/password. mailman.PopUsername = "MY_POP3_LOGIN"; mailman.PopPassword = "MY_POP3_PASSWORD"; // Set the SMTP hostname for sending. mailman.SmtpHost = "smtp.example.com"; mailman.SmtpUsername = "MY_SMTP_LOGIN"; mailman.SmtpPassword = "MY_SMTP_PASSWORD"; string fromAddr = "me@example.com"; string toAddr = "recipient@somewhere.com"; // The the UIDLs for all email in the POP3 mailbox. Chilkat.StringTable stUidls = new Chilkat.StringTable(); success = mailman.FetchUidls(stUidls); if (success == false) { Debug.WriteLine(mailman.LastErrorText); return; } // Just mark messages for delete, then delete at the end. mailman.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.) Chilkat.BinData bdMime = new Chilkat.BinData(); int count = stUidls.Count; int i = 0; while (i < count) { string uidl = stUidls.StringAt(i); Debug.WriteLine("UIDL: " + uidl); success = mailman.FetchMimeBd(uidl,bdMime); if (success == false) { Debug.WriteLine(mailman.LastErrorText); return; } success = mailman.SendMimeBd(fromAddr,toAddr,bdMime); if (success == false) { Debug.WriteLine(mailman.LastErrorText); return; } success = mailman.DeleteByUidl(uidl); if (success == false) { Debug.WriteLine(mailman.LastErrorText); return; } i = i + 1; } // Delete messages marked for delete. mailman.ImmediateDelete = true; success = mailman.Pop3EndSession(); if (success == false) { Debug.WriteLine(mailman.LastErrorText); return; } Debug.WriteLine("Success."); |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.