smtp-vrfy.c
Go to the documentation of this file.
00001 /***************************************************************************
00002  *                                  _   _ ____  _
00003  *  Project                     ___| | | |  _ \| |
00004  *                             / __| | | | |_) | |
00005  *                            | (__| |_| |  _ <| |___
00006  *                             \___|\___/|_| \_\_____|
00007  *
00008  * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
00009  *
00010  * This software is licensed as described in the file COPYING, which
00011  * you should have received as part of this distribution. The terms
00012  * are also available at https://curl.haxx.se/docs/copyright.html.
00013  *
00014  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
00015  * copies of the Software, and permit persons to whom the Software is
00016  * furnished to do so, under the terms of the COPYING file.
00017  *
00018  * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
00019  * KIND, either express or implied.
00020  *
00021  ***************************************************************************/
00022 
00023 /* <DESC>
00024  * SMTP example showing how to verify an e-mail address
00025  * </DESC>
00026  */
00027 
00028 #include <stdio.h>
00029 #include <string.h>
00030 #include <curl/curl.h>
00031 
00032 /* This is a simple example showing how to verify an e-mail address from an
00033  * SMTP server.
00034  *
00035  * Notes:
00036  *
00037  * 1) This example requires libcurl 7.34.0 or above.
00038  * 2) Not all email servers support this command and even if your email server
00039  *    does support it, it may respond with a 252 response code even though the
00040  *    address doesn't exist.
00041  */
00042 
00043 int main(void)
00044 {
00045   CURL *curl;
00046   CURLcode res;
00047   struct curl_slist *recipients = NULL;
00048 
00049   curl = curl_easy_init();
00050   if(curl) {
00051     /* This is the URL for your mailserver */
00052     curl_easy_setopt(curl, CURLOPT_URL, "smtp://mail.example.com");
00053 
00054     /* Note that the CURLOPT_MAIL_RCPT takes a list, not a char array  */
00055     recipients = curl_slist_append(recipients, "<recipient@example.com>");
00056     curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients);
00057 
00058     /* Perform the VRFY */
00059     res = curl_easy_perform(curl);
00060 
00061     /* Check for errors */
00062     if(res != CURLE_OK)
00063       fprintf(stderr, "curl_easy_perform() failed: %s\n",
00064               curl_easy_strerror(res));
00065 
00066     /* Free the list of recipients */
00067     curl_slist_free_all(recipients);
00068 
00069     /* Curl won't send the QUIT command until you call cleanup, so you should
00070      * be able to re-use this connection for additional requests. It may not be
00071      * a good idea to keep the connection open for a very long time though
00072      * (more than a few minutes may result in the server timing out the
00073      * connection) and you do want to clean up in the end.
00074      */
00075     curl_easy_cleanup(curl);
00076   }
00077 
00078   return 0;
00079 }


rc_visard_driver
Author(s): Heiko Hirschmueller , Christian Emmerich , Felix Ruess
autogenerated on Thu Jun 6 2019 20:43:06