/***************************************************************************
   *                                  _   _ ____  _
   *  Project                     ___| | | |  _ \| |
   *                             / __| | | | |_) | |
   *                            | (__| |_| |  _ <| |___
   *                             \___|\___/|_| \_\_____|
   *
   * $Id: ftpget.c,v 1.7 2008-02-27 09:06:15 bagder Exp $
   */
  
  #include <iostream>
  

  #include <curl/curl.h>
  #include <curl/types.h>
  #include <curl/easy.h>

  using namespace std;
  
  /*
   * This is an example showing how to send an email via SMTP
   */
  
  
static const char *text[]={
  "one",
  "two",
  "three",
  "this is CURL email SMTP",
  NULL
};

 struct WriteThis {
  int counter;
};

static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *userp)
{
  struct WriteThis *pooh = (struct WriteThis *)userp;
  const char *data;

  if(size*nmemb < 1)
    return 0;

  data = text[pooh->counter];

  if(data) {
    size_t len = strlen(data);
    memcpy(ptr, data, len);
    pooh->counter++; /* advance pointer */
    return len;
  }
  return 0;                         /* no more data left to deliver */
}
 
  
  int main(void)
  {
    CURL *curl;
    CURLcode res;
    struct WriteThis pooh;
    pooh.counter = 0;

    curl_global_init(CURL_GLOBAL_DEFAULT);
  
    curl = curl_easy_init();
    if(curl) {

      struct curl_slist* rcpt_list = NULL;
      rcpt_list = curl_slist_append(rcpt_list, "arossen@opentext.com");
      rcpt_list = curl_slist_append(rcpt_list, "arossen@rogers.com");

      curl_easy_setopt(curl, CURLOPT_URL,"smtp://smtp.broadband.rogers.com:587");

      curl_easy_setopt(curl, CURLOPT_USERNAME, "arossen@rogers.com");

      curl_easy_setopt(curl, CURLOPT_PASSWORD, "XXXXXXXX");
      
      curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
 
      curl_easy_setopt(curl, CURLOPT_READDATA, &pooh);
  
      curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);

      curl_easy_setopt(curl, CURLOPT_MAIL_FROM, "<arossen@rogers.com>");

      curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, rcpt_list);

  

      res = curl_easy_perform(curl);


      curl_slist_free_all(rcpt_list);

      curl_easy_cleanup(curl);
  
      curl_global_cleanup();
  
    return 0;
  }

    return -1;
}

