Annotation of parser3/src/classes/smtp/smtp.h, revision 1.4

1.1       paf         1: /** @file
                      2:        Parser: SMTP sender decl.
                      3: 
                      4:        Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)
                      5:        Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf)
                      6: 
1.4     ! parser      7:        $Id: smtp.h,v 1.3 2001/04/26 14:55:20 paf Exp $
1.1       paf         8: */
                      9: 
                     10: #include <winsock.h>
                     11: 
                     12: #include "pa_pool.h"
                     13: #include "pa_string.h"
                     14: 
                     15: //////////////////////////////////////////////////////////////////////////////
                     16: 
                     17: #define SOCKET_BUFFER_SIZE     512
                     18: 
                     19: #define ERR_SENDING_DATA               4002
                     20: #define ERR_NOT_A_SOCKET               4010
                     21: #define ERR_CLOSING                    4012
                     22: #define WAIT_A_BIT                     4013
                     23: 
                     24: #define MAXOUTLINE 255
                     25: 
                     26: //////////////////////////////////////////////////////////////////////////////
                     27: 
1.3       paf        28: /// SIMPLE MAIL TRANSPORT PROTOCOL Win32 realization
1.1       paf        29: class SMTP : public Pooled {
                     30:     char            *in_buffer;
                     31:     char            *out_buffer;
                     32:     unsigned int       in_index;
                     33:     unsigned int       out_index;
                     34:     unsigned int       in_buffer_total;
                     35:     unsigned int       out_buffer_total;
                     36:     unsigned int       last_winsock_error;
                     37:     fd_set             fds;
                     38:     struct timeval     timeout;
                     39: 
                     40:     SOCKET     the_socket;
                     41: 
                     42:        char    my_hostname[1024];
                     43: 
                     44:     CHAR    ServerProtocol[100];
                     45:     CHAR    RemoteAddress[100];
                     46:     CHAR    RemoteHost[100];
                     47:     CHAR    RemoteUser[100];
                     48:     CHAR    HttpAccept[100];
                     49:     CHAR    HttpUserAgent[256];
                     50: 
                     51:     CHAR    FirstName[100];
                     52:     CHAR    LastName[100];
                     53:     CHAR    WebUse[100];
                     54:     CHAR    EMail[100];
                     55:     CHAR    HomePage[100];
                     56:     CHAR    text[500];
                     57: 
                     58:        const String& origin_string;
                     59: 
                     60: public:
                     61:        SMTP(Pool& pool, const String& aorigin_string);
                     62: 
                     63:     // smtp.C
1.2       paf        64:        void    Send(const char *, const char *, const char *,  char *, char *);
1.1       paf        65:        BOOL    MakeSmtpHeader(char *, char *, char *, char *);
1.2       paf        66:        void    prepare_message(char *, char *,  const char *, const char *);
                     67:        void    open_socket(const char *, const char *);
1.1       paf        68:        int             get_line(void);
                     69:        void    SendSmtpError(const char *);
                     70:        void    transform_and_send_edit_data(const char *);
                     71:        void    send_data(const char *);
1.2       paf        72:        void    ConnectToHost(const char *, const char *);
1.1       paf        73:        int             GetBuffer(int);
                     74:        int             GetChar(int, char *);
                     75:        void    SendLine(const char *, unsigned long);
                     76:        void    SendBuffer(const char *, unsigned long);
                     77:        void    FlushBuffer();
                     78:        BOOL    CloseConnect();
                     79: 
                     80:     // comms.C
1.2       paf        81:     int      IsAddressARawIpaddress(const char *);
                     82:     int      ResolveService(const char *, int *);
                     83:     int      ResolveHostname(const char *, struct sockaddr_in *);
1.1       paf        84:     int      GetAndSetTheSocket(SOCKET *);
                     85:     int      GetConnection(SOCKET, struct sockaddr_in *);
                     86:     void     MiscSocketSetup(SOCKET, fd_set *, struct timeval *);
                     87: };
                     88: 

E-mail: