Annotation of parser3/src/classes/smtp/smtp.h, revision 1.1
1.1 ! paf 1: /** @file
! 2: Parser: SMTP sender decl.
! 3:
! 4: Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)
! 5:
! 6: Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf)
! 7:
! 8: $Id: mail.C,v 1.3 2001/04/07 12:13:13 paf Exp $
! 9: */
! 10:
! 11: #include <winsock.h>
! 12:
! 13: #include "pa_pool.h"
! 14: #include "pa_string.h"
! 15:
! 16: //////////////////////////////////////////////////////////////////////////////
! 17:
! 18: #define SOCKET_BUFFER_SIZE 512
! 19:
! 20: #define ERR_SENDING_DATA 4002
! 21: #define ERR_NOT_A_SOCKET 4010
! 22: #define ERR_CLOSING 4012
! 23: #define WAIT_A_BIT 4013
! 24:
! 25: #define MAXOUTLINE 255
! 26:
! 27: //////////////////////////////////////////////////////////////////////////////
! 28:
! 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
! 64: void Send(char *, char *, const char *, char *, char *);
! 65: BOOL MakeSmtpHeader(char *, char *, char *, char *);
! 66: void prepare_message(char *, char *, char *, char *);
! 67: void open_socket(char *, char *);
! 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 *);
! 72: void ConnectToHost(char *, char *);
! 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
! 81: int IsAddressARawIpaddress(char *);
! 82: int ResolveService(char *, int *);
! 83: int ResolveHostname(char *, struct sockaddr_in *);
! 84: int GetAndSetTheSocket(SOCKET *);
! 85: int GetConnection(SOCKET, struct sockaddr_in *);
! 86: void MiscSocketSetup(SOCKET, fd_set *, struct timeval *);
! 87: void ShowError(char *);
! 88: };
! 89:
E-mail: