opt
cpr
opt
curl
docs
examples
imap-search.c
Go to the documentation of this file.
1
/***************************************************************************
2
* _ _ ____ _
3
* Project ___| | | | _ \| |
4
* / __| | | | |_) | |
5
* | (__| |_| | _ <| |___
6
* \___|\___/|_| \_\_____|
7
*
8
* Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
9
*
10
* This software is licensed as described in the file COPYING, which
11
* you should have received as part of this distribution. The terms
12
* are also available at https://curl.haxx.se/docs/copyright.html.
13
*
14
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
15
* copies of the Software, and permit persons to whom the Software is
16
* furnished to do so, under the terms of the COPYING file.
17
*
18
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19
* KIND, either express or implied.
20
*
21
***************************************************************************/
22
23
/* <DESC>
24
* IMAP example showing how to search for new e-mails
25
* </DESC>
26
*/
27
28
#include <stdio.h>
29
#include <
curl/curl.h
>
30
31
/* This is a simple example showing how to search for new messages using
32
* libcurl's IMAP capabilities.
33
*
34
* Note that this example requires libcurl 7.30.0 or above.
35
*/
36
37
int
main
(
void
)
38
{
39
CURL
*
curl
;
40
CURLcode
res
=
CURLE_OK
;
41
42
curl
=
curl_easy_init
();
43
if
(
curl
) {
44
/* Set username and password */
45
curl_easy_setopt
(
curl
, CURLOPT_USERNAME,
"user"
);
46
curl_easy_setopt
(
curl
, CURLOPT_PASSWORD,
"secret"
);
47
48
/* This is mailbox folder to select */
49
curl_easy_setopt
(
curl
, CURLOPT_URL,
"imap://imap.example.com/INBOX"
);
50
51
/* Set the SEARCH command specifying what we want to search for. Note that
52
* this can contain a message sequence set and a number of search criteria
53
* keywords including flags such as ANSWERED, DELETED, DRAFT, FLAGGED, NEW,
54
* RECENT and SEEN. For more information about the search criteria please
55
* see RFC-3501 section 6.4.4. */
56
curl_easy_setopt
(
curl
, CURLOPT_CUSTOMREQUEST,
"SEARCH NEW"
);
57
58
/* Perform the custom request */
59
res
=
curl_easy_perform
(
curl
);
60
61
/* Check for errors */
62
if
(
res
!=
CURLE_OK
)
63
fprintf
(stderr,
"curl_easy_perform() failed: %s\n"
,
64
curl_easy_strerror
(
res
));
65
66
/* Always cleanup */
67
curl_easy_cleanup
(
curl
);
68
}
69
70
return
(
int
)
res
;
71
}
res
static int res
Definition:
libntlmconnect.c:39
curl_easy_init
CURL_EXTERN CURL * curl_easy_init(void)
Definition:
easy.c:343
main
int main(void)
Definition:
imap-search.c:37
curl_easy_perform
CURL_EXTERN CURLcode curl_easy_perform(CURL *curl)
CURLE_OK
@ CURLE_OK
Definition:
curl.h:453
curl_easy_cleanup
CURL_EXTERN void curl_easy_cleanup(CURL *curl)
curl_easy_setopt
#define curl_easy_setopt(handle, option, value)
Definition:
typecheck-gcc.h:41
curl_easy_strerror
const CURL_EXTERN char * curl_easy_strerror(CURLcode)
Definition:
strerror.c:57
curl
static CURL * curl
Definition:
sessioninfo.c:35
fprintf
#define fprintf
Definition:
curl_printf.h:41
CURL
void CURL
Definition:
curl.h:102
curl.h
CURLcode
CURLcode
Definition:
curl.h:452
rc_tagdetect_client
Author(s): Monika Florek-Jasinska
, Raphael Schaller
autogenerated on Sun May 15 2022 02:25:00