Home | History | Annotate | Download | only in data
      1 <testcase>
      2 # Based on test900
      3 # N.B. --libcurl output not sufficient to deal with uploaded files.
      4 <info>
      5 <keywords>
      6 SMTP
      7 --libcurl
      8 </keywords>
      9 </info>
     10 
     11 #
     12 # Server-side
     13 <reply>
     14 <servercmd>
     15 CAPA SIZE
     16 </servercmd>
     17 </reply>
     18 
     19 #
     20 # Client-side
     21 <client>
     22 <server>
     23 smtp
     24 </server>
     25  <name>
     26 --libcurl for SMTP
     27  </name>
     28 <setenv>
     29 SSL_CERT_FILE=
     30 </setenv>
     31 <file name="log/test1406.eml">
     32 From: different
     33 To: another
     34 
     35 body
     36 </file>
     37  <command>
     38 smtp://%HOSTIP:%SMTPPORT/1406 --mail-rcpt recipient.one (a] example.com --mail-rcpt recipient.two (a] example.com --mail-from sender (a] example.com -T log/test1406.eml --libcurl log/test1406.c
     39 </command>
     40 </client>
     41 
     42 #
     43 # Verify data after the test has been "shot"
     44 <verify>
     45 <protocol>
     46 EHLO 1406
     47 MAIL FROM:<sender (a] example.com> SIZE=38
     48 RCPT TO:<recipient.one (a] example.com>
     49 RCPT TO:<recipient.two (a] example.com>
     50 DATA
     51 QUIT
     52 </protocol>
     53 <upload>
     54 From: different
     55 To: another
     56 
     57 body
     58 .
     59 </upload>
     60 <file name="log/test1406.c" mode="text">
     61 /********* Sample code generated by the curl command line tool **********
     62  * All curl_easy_setopt() options are documented at:
     63  * https://curl.haxx.se/libcurl/c/curl_easy_setopt.html
     64  ************************************************************************/
     65 #include <curl/curl.h>
     66 
     67 int main(int argc, char *argv[])
     68 {
     69   CURLcode ret;
     70   CURL *hnd;
     71   struct curl_slist *slist1;
     72 
     73   slist1 = NULL;
     74   slist1 = curl_slist_append(slist1, "recipient.one (a] example.com");
     75   slist1 = curl_slist_append(slist1, "recipient.two (a] example.com");
     76 
     77   hnd = curl_easy_init();
     78   curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
     79   curl_easy_setopt(hnd, CURLOPT_INFILESIZE_LARGE, (curl_off_t)38);
     80   curl_easy_setopt(hnd, CURLOPT_URL, "smtp://%HOSTIP:%SMTPPORT/1406");
     81   curl_easy_setopt(hnd, CURLOPT_UPLOAD, 1L);
     82   curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
     83   curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
     84   curl_easy_setopt(hnd, CURLOPT_MAIL_FROM, "sender (a] example.com");
     85   curl_easy_setopt(hnd, CURLOPT_MAIL_RCPT, slist1);
     86 
     87   /* Here is a list of options the curl code used that cannot get generated
     88      as source easily. You may select to either not use them or implement
     89      them yourself.
     90 
     91   CURLOPT_WRITEDATA set to a objectpointer
     92   CURLOPT_INTERLEAVEDATA set to a objectpointer
     93   CURLOPT_WRITEFUNCTION set to a functionpointer
     94   CURLOPT_READDATA set to a objectpointer
     95   CURLOPT_READFUNCTION set to a functionpointer
     96   CURLOPT_SEEKDATA set to a objectpointer
     97   CURLOPT_SEEKFUNCTION set to a functionpointer
     98   CURLOPT_ERRORBUFFER set to a objectpointer
     99   CURLOPT_STDERR set to a objectpointer
    100   CURLOPT_DEBUGFUNCTION set to a functionpointer
    101   CURLOPT_DEBUGDATA set to a objectpointer
    102   CURLOPT_HEADERFUNCTION set to a functionpointer
    103   CURLOPT_HEADERDATA set to a objectpointer
    104 
    105   */
    106 
    107   ret = curl_easy_perform(hnd);
    108 
    109   curl_easy_cleanup(hnd);
    110   hnd = NULL;
    111   curl_slist_free_all(slist1);
    112   slist1 = NULL;
    113 
    114   return (int)ret;
    115 }
    116 /**** End of sample code ****/
    117 </file>
    118 <stripfile>
    119 # These options vary with configurations - just ignore them
    120 $_ = '' if /CURLOPT_USERAGENT/
    121 $_ = '' if /CURLOPT_MAXREDIRS/
    122 $_ = '' if /CURLOPT_SSL_VERIFYPEER/
    123 $_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
    124 $_ = '' if /CURLOPT_HTTP_VERSION/
    125 $_ = '' if /CURLOPT_HTTP09_ALLOWED/
    126 </stripfile>
    127 </verify>
    128 </testcase>
    129