15ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen/*************************************************************************** 25ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * _ _ ____ _ 35ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * Project ___| | | | _ \| | 45ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * / __| | | | |_) | | 55ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * | (__| |_| | _ <| |___ 65ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * \___|\___/|_| \_\_____| 75ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * 88f1a214b8a21b66f33454790dfba97ae2f818289Alex Deymo * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al. 95ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * 105ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * This software is licensed as described in the file COPYING, which 115ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * you should have received as part of this distribution. The terms 128f1a214b8a21b66f33454790dfba97ae2f818289Alex Deymo * are also available at https://curl.haxx.se/docs/copyright.html. 135ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * 145ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * You may opt to use, copy, modify, merge, publish, distribute and/or sell 155ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * copies of the Software, and permit persons to whom the Software is 165ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * furnished to do so, under the terms of the COPYING file. 175ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * 185ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 195ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * KIND, either express or implied. 205ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen * 215ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen ***************************************************************************/ 228f1a214b8a21b66f33454790dfba97ae2f818289Alex Deymo 238f1a214b8a21b66f33454790dfba97ae2f818289Alex Deymo/* <DESC> 248f1a214b8a21b66f33454790dfba97ae2f818289Alex Deymo * POP3 example to list the contents of a mailbox 258f1a214b8a21b66f33454790dfba97ae2f818289Alex Deymo * </DESC> 268f1a214b8a21b66f33454790dfba97ae2f818289Alex Deymo */ 278f1a214b8a21b66f33454790dfba97ae2f818289Alex Deymo 28e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#include <stdio.h> 295ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen#include <curl/curl.h> 305ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 31e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET/* This is a simple example using libcurl's POP3 capabilities to list the 32e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * contents of a mailbox. 33e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * 34e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * Note that this example requires libcurl 7.20.0 or above. 35e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET */ 365ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 37e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNETint main(void) 38e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET{ 39e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET CURL *curl; 40e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET CURLcode res = CURLE_OK; 415ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 42e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET curl = curl_easy_init(); 43e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET if(curl) { 44e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET /* Set username and password */ 45e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); 46e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); 475ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 48e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET /* This will list every message of the given mailbox */ 49e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com"); 505ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 51e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET /* Perform the list */ 52e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET res = curl_easy_perform(curl); 535ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 54e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET /* Check for errors */ 55e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET if(res != CURLE_OK) 56e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET fprintf(stderr, "curl_easy_perform() failed: %s\n", 57e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET curl_easy_strerror(res)); 585ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 59e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET /* Always cleanup */ 60e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET curl_easy_cleanup(curl); 61e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET } 625ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen 63e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET return (int)res; 645ab5018bf8f0e39957d264f33c3eeddd958ed5d8Kristian Monsen} 65