Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
POP3 to SMTP ForwarderRead a POP3 mailbox and forwards the email to another email address, keeping the recipients in the original email the same.
#include <CkMailMan.h> #include <CkStringArray.h> #include <CkString.h> void ChilkatSample(void) { // The mailman object is used for receiving (POP3) // and sending (SMTP) email. CkMailMan mailman; // Any string argument automatically begins the 30-day trial. bool success; success = mailman.UnlockComponent("30-day trial"); if (success != true) { printf("Component unlock failed\n"); return; } // 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("****"); CkStringArray *saUidls = 0; // The the UIDLs for all email in the POP3 mailbox. saUidls = mailman.GetUidls(); if (saUidls == 0 ) { printf("%s\n",mailman.lastErrorText()); return; } CkStringArray *saMime = 0; // 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 == 0 ) { delete saUidls; printf("%s\n",mailman.lastErrorText()); return; } // Set the SMTP hostname for sending. mailman.put_SmtpHost("mail.chilkatsoft.com"); mailman.put_SmtpUsername("admin@chilkatsoft.com"); mailman.put_SmtpPassword("****"); int i; CkString strMime; int n; n = saMime->get_Count(); CkString fromAddr; CkString toAddr; fromAddr = "matt@chilkatsoft.com"; toAddr = "admin@chilkatsoft.com"; bool bAllOk; bAllOk = true; if (n > 0) { for (i = 0; i <= n - 1; i++) { strMime = saMime->getString(i); // Forward the email. success = mailman.SendMime(fromAddr,toAddr,strMime); if (success != true) { bAllOk = false; printf("%s\n",mailman.lastErrorText()); break; } } } // Remove the emails in saUidls from the POP3 server. if (bAllOk == true) { success = mailman.DeleteMultiple(*saUidls); if (success != true) { printf("%s\n",mailman.lastErrorText()); } } delete saMime; delete saUidls; } |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.