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