Diff for /parser3/src/classes/smtp/Attic/smtp.C between versions 1.15 and 1.20.2.1

version 1.15, 2002/12/05 12:53:47 version 1.20.2.1, 2003/01/31 12:34:29
Line 1 Line 1
 /** @file  /** @file
         Parser: SMTP sender.          Parser: SMTP sender.
   
         Copyright (c) 2001, 2002 ArtLebedev Group (http://www.artlebedev.com)          Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com)
         Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)          Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
   
         Parts of the code here is based upon an early gensock and blat          Parts of the code here is based upon an early gensock and blat
Line 12  static const char* IDENT_SMTP_C="$Date$" Line 12  static const char* IDENT_SMTP_C="$Date$"
 #include "pa_exception.h"  #include "pa_exception.h"
 #include "smtp.h"  #include "smtp.h"
   
   //#define DEBUG_SHOW
   
 SMTP::SMTP(Pool& pool, const String& aorigin_string) : Pooled(pool),  SMTP::SMTP(Pool& pool, const String& aorigin_string) : Pooled(pool),
         origin_string(aorigin_string) {          origin_string(aorigin_string) {
     the_socket  = 0;      the_socket  = 0;
Line 30  SMTP::SMTP(Pool& pool, const String& aor Line 32  SMTP::SMTP(Pool& pool, const String& aor
   
 // ---------------------------------------------------------------------------  // ---------------------------------------------------------------------------
 void SMTP::   void SMTP:: 
 ConnectToHost(const char *hostname, const char *service)  ConnectToHost(const char* hostname, const char* service)
 {  {
     struct sockaddr_in  sa_in;      struct sockaddr_in  sa_in;
     int                         our_port;      int                         our_port;
Line 210  get_line( void ) Line 212  get_line( void )
 //---------------------------------------------------------------------------  //---------------------------------------------------------------------------
 // returns 0 if all is OK  // returns 0 if all is OK
 void SMTP::   void SMTP:: 
 SendLine(const char *data, unsigned long length)  SendLine(const char* data, unsigned long length)
 {  {
     int         num_sent;      int         num_sent;
   
Line 264  SendLine(const char *data, unsigned long Line 266  SendLine(const char *data, unsigned long
 //---------------------------------------------------------------------------  //---------------------------------------------------------------------------
 // returns 0 if all is OK  // returns 0 if all is OK
 void SMTP::   void SMTP:: 
 SendBuffer(const char *data, unsigned long length)  SendBuffer(const char* data, unsigned long length)
 {  {
     DWORD             retval = 0;      DWORD             retval = 0;
     unsigned int    sorta_sent = 0;      unsigned int    sorta_sent = 0;
Line 316  CloseConnect() Line 318  CloseConnect()
   
 //----------------------------------------------------------------------  //----------------------------------------------------------------------
 void SMTP::  void SMTP::
 SendSmtpError(const char * message)  SendSmtpError(const char*  message)
 {  {
         SendLine("QUIT\r\n", 6);          SendLine("QUIT\r\n", 6);
         CloseConnect();          CloseConnect();
Line 331  SendSmtpError(const char * message) Line 333  SendSmtpError(const char * message)
 // returns 20, 21, 22, 23, 24, 25 if SendBuffer() fails  // returns 20, 21, 22, 23, 24, 25 if SendBuffer() fails
 // returns 26 if FlushBuffer() fails  // returns 26 if FlushBuffer() fails
 void SMTP::  void SMTP::
 transform_and_send_edit_data(const char * editptr )  transform_and_send_edit_data(const char*  editptr )
 {  {
         const char      *index;          const char      *index;
         const char      *header_end;  
         char            previous_char = 'x';          char            previous_char = 'x';
         unsigned int    send_len;          unsigned int    send_len;
         BOOL            done = 0;          BOOL            done = 0;
Line 390  transform_and_send_edit_data(const char Line 391  transform_and_send_edit_data(const char
 // returns 16 if any get_line()'s fail  // returns 16 if any get_line()'s fail
 // returns 20, 21, 22, 23, 24, 25, 26 if transform_and_send_edit_data() fails  // returns 20, 21, 22, 23, 24, 25, 26 if transform_and_send_edit_data() fails
 void SMTP::  void SMTP::
 send_data(const char * message)  send_data(const char*  message)
 {  {
         transform_and_send_edit_data(message);          transform_and_send_edit_data(message);
         if( 250 != get_line() )          if( 250 != get_line() )
Line 401  send_data(const char * message) Line 402  send_data(const char * message)
 // returns 0 if all is OK  // returns 0 if all is OK
 // returns 50, 51, 52 if fails  // returns 50, 51, 52 if fails
 void SMTP::  void SMTP::
 open_socket( const char *server, const char *service )  open_socket( const char* server, const char* service )
 {  {
         ConnectToHost(server, service);          ConnectToHost(server, service);
   
Line 416  open_socket( const char *server, const c Line 417  open_socket( const char *server, const c
 // returns 50, 51, 52 if open_socket() fails  // returns 50, 51, 52 if open_socket() fails
 // returns 10, 11, 12, 13, 14, 15 if any get_line()'s fail  // returns 10, 11, 12, 13, 14, 15 if any get_line()'s fail
 void SMTP::  void SMTP::
 prepare_message(char *from, char *to, const char *server, const char *service)  prepare_message(char *from, char *to, const char* server, const char* service)
 {  {
         char    out_data[MAXOUTLINE];          char    out_data[MAXOUTLINE];
         char    *ptr;          char    *ptr;
Line 501  static char *rsplit(char *string, char d Line 502  static char *rsplit(char *string, char d
 // returns 1 if MakeSmtpHeader() fails  // returns 1 if MakeSmtpHeader() fails
 // returns 10, 11, 12, 13, 14, 15, 50, 51, 52 if prepare_message() fails  // returns 10, 11, 12, 13, 14, 15, 50, 51, 52 if prepare_message() fails
 void SMTP::  void SMTP::
 Send(const char *server, const char *service, const char *msg, char *from, char *to)  Send(const char* server, const char* service, const char* msg, char *from, char *to)
 {  {
 throw Exception("paf.debug",  #ifdef DEBUG_SHOW
                                 0,          throw Exception("paf.debug",0,"from=%s|to=%s|msg=%s", from,to,msg);
                                 "%s|%s|%s", from, to, msg);  #endif
   
     prepare_message( from, to, server, service);      prepare_message( from, to, server, service);
   

Removed from v.1.15  
changed lines
  Added in v.1.20.2.1


E-mail: