Annotation of parser3/src/lib/smtp/smtp.h, revision 1.1
1.1 ! paf 1: /** @file
! 2: Parser: SMTP sender decl.
! 3:
! 4: Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com)
! 5: Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
! 6: */
! 7:
! 8: static const char * const IDENT_SMTP_H="$Date: 2003/11/20 16:34:24 $";
! 9:
! 10:
! 11: #include "pa_string.h"
! 12:
! 13: #include <winsock.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:
! 28: /// SIMPLE MAIL TRANSPORT PROTOCOL Win32 realization
! 29: class SMTP: public PA_Object {
! 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: public:
! 59: SMTP();
! 60: override ~SMTP();
! 61:
! 62: // smtp.C
! 63: void Send(const char* , const char* , const char* , char *, char *);
! 64: BOOL MakeSmtpHeader(char *, char *, char *, char *);
! 65: void prepare_message(char *, char *, const char* , const char* );
! 66: void open_socket(const char* , const char* );
! 67: int get_line(void);
! 68: void SendSmtpError(const char* );
! 69: void transform_and_send_edit_data(const char* );
! 70: void send_data(const char* );
! 71: void ConnectToHost(const char* , const char* );
! 72: int GetBuffer(int);
! 73: int GetChar(int, char *);
! 74: void SendLine(const char* , unsigned long);
! 75: void SendBuffer(const char* , unsigned long);
! 76: void FlushBuffer();
! 77: BOOL CloseConnect();
! 78:
! 79: // comms.C
! 80: int IsAddressARawIpaddress(const char* );
! 81: int ResolveService(const char* , u_short *);
! 82: int ResolveHostname(const char* , struct sockaddr_in *);
! 83: int GetAndSetTheSocket(SOCKET *);
! 84: int GetConnection(SOCKET, struct sockaddr_in *);
! 85: void MiscSocketSetup(SOCKET, fd_set *, struct timeval *);
! 86: };
E-mail: