Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Mono C#.NET Core C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicPythonRubySQL ServerSwiftTclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.jsExcel

C++ Examples


ASN.1
Amazon S3
Amazon S3 (new)
Amazon SES
Amazon SNS
Amazon SQS
Async
Azure Cloud Storage
Azure Service Bus
Bounced Email
Box
CSR
CSV
Certificates
Compression
DKIM / DomainKey
DSA
Diffie-Hellman
Digital Signatures
Dropbox
Dynamics CRM
ECC
Email Object
Encryption
FTP
Facebook
Firebase
GeoOp
Google APIs
Google Calendar
Google Cloud Storage
Google Drive
Gzip
HTML-to-XML/Text
HTTP
HTTP Misc
IMAP
JSON
JSON Web Encryption (JWE)
JSON Web Signatures (JWS)
JSON Web Token (JWT)
Java KeyStore (JKS)

Jira
MHT / HTML Email
MIME
Microsoft Graph
NTLM
OAuth1
OAuth2
OneDrive
OpenSSL
Outlook
PEM
PFX/P12
POP3
PRNG
PayPal
Peoplevox
QuickBooks
REST
REST Misc
RSA Encryption
SCP
SFTP
SMTP
SSH
SSH Key
SSH Tunnel
SharePoint
Shopify
Socket/SSL/TLS
Spider
Stream
Stripe
SugarCRM
Tar Archive
Twitter
VoiceBase
Walmart
WebSocket
XML
XML Digital Signatures
XMP
Xero
Zip
curl
eBay

 

 

 

(C++) POP3 using HTTP Proxy

Demonstrates how to communicate with a POP3 server through an HTTP proxy.

Chilkat C/C++ Library Downloads

MS Visual C/C++

Linux/CentOS/Heroku C/C++

MAC OS X C/C++

C++ Builder

Solaris C/C++

iOS C/C++

Android C/C++

Raspberry Pi C/C++

Windows Mobile 5.0/Pocket PC 2003

ARM Embedded Linux C/C++

PowerLinux C/C++

FreeBSD C/C++

MinGW C/C++

#include <CkMailMan.h>
#include <CkEmailBundle.h>
#include <CkEmail.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 = mailman.UnlockComponent("30-day trial");
    if (success != true) {
        std::cout << "Component unlock failed" << "\r\n";
        return;
    }

    //  To connect through an HTTP proxy, set the HttpProxyHostname
    //  and HttpProxyPort properties to the hostname (or IP address)
    //  and port of the HTTP proxy.  Typical port numbers used by
    //  HTTP proxy servers are 3128 and 8080.
    mailman.put_HttpProxyHostname("www.my-http-proxy.com");
    mailman.put_HttpProxyPort(3128);

    //  Important:  Your HTTP proxy server must allow non-HTTP
    //  traffic to pass.  Otherwise this does not work.

    //  Set the POP3 server's hostname
    mailman.put_MailHost("pop.someMailServer.com");

    //  Set the POP3 login/password.
    mailman.put_PopUsername("myLogin");
    mailman.put_PopPassword("myPassword");

    CkEmailBundle *bundle = 0;
    //  Copy the all email from the user's POP3 mailbox
    //  into a bundle object.  The email remains on the server.
    // 
    //  NOTE: All methods that communicate with a POP3 server
    //  will automatically connect and authenticate (i.e. login)
    //  if not already connected.  The connection will remain
    //  open after the method call returns so that subsequent
    //  calls do not need to re-establish the connection.
    //  In this case, the connection is established via the HTTP
    //  proxy.
    bundle = mailman.CopyMail();

    if (bundle == 0 ) {
        std::cout << mailman.lastErrorText() << "\r\n";
        return;
    }

    int i;
    CkEmail *email = 0;
    for (i = 0; i <= bundle->get_MessageCount() - 1; i++) {
        email = bundle->GetEmail(i);
        std::cout << "From: " << email->ck_from() << "\r\n";
        std::cout << "Subject: " << email->subject() << "\r\n";
        delete email;
    }

    delete bundle;

    success = mailman.Pop3EndSession();

    }

 

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