Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Unicode C++) Download POP3 Email using UIDLsDemonstrates how to download POP3 email by first getting the complete set of UIDLs and then downloading email by calling FetchEmail for each UIDL. This is equivalent to calling CopyMail, except your application can process each email as it arrives instead of waiting for the entire bundle to be downloaded. Also, it's better protection against potential out-of-memory issues if your mailbox has a very large number of messages. There is no performance difference between fetching emails individually vs. calling CopyMail.
#include <CkMailManW.h> #include <CkStringArrayW.h> #include <CkEmailW.h> void ChilkatSample(void) { // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // The mailman object is used for receiving (POP3) // and sending (SMTP) email. CkMailManW mailman; // Set the POP3 server's hostname mailman.put_MailHost(L"pop.someMailServer.com"); // Set the POP3 login/password. mailman.put_PopUsername(L"myLogin"); mailman.put_PopPassword(L"myPassword"); CkStringArrayW *sa = mailman.GetUidls(); if (mailman.get_LastMethodSuccess() != true) { wprintf(L"%s\n",mailman.lastErrorText()); return; } int i = 0; int n = sa->get_Count(); const wchar_t *uidl = 0; while (i < n) { uidl = sa->getString(i); CkEmailW *email = mailman.FetchEmail(uidl); if (mailman.get_LastMethodSuccess() != true) { wprintf(L"%s\n",mailman.lastErrorText()); delete sa; return; } wprintf(L"From: %s\n",email->ck_from()); wprintf(L"Subject: %s\n",email->subject()); delete email; i = i + 1; } delete sa; mailman.Pop3EndSession(); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.