/* [<][>][^][v][top][bottom][index][help] */
#if !defined(sendmail_h) /* Sentry, use file only if it's not already included. */
#define sendmail_h
#ifndef NETWARE
#include <windows.h>
#endif
#define HOST_NAME_LEN 256
#define MAX_APPNAME_LENGTH 100
#define MAIL_BUFFER_SIZE (1024*4) /* 4k buffer */
/* Return values */
#define MIN_ERROR_INDEX 0 /* Always 0 like SUCCESS */
#define SUCCESS 0
#define FAILED_TO_PARSE_ARGUMENTS 1
#define FAILED_TO_OPEN_MAILFILE 2
#define FAILED_TO_START_SOCKETS 3
#define FAILED_TO_RESOLVE_HOST 4
#define FAILED_TO_OBTAIN_SOCKET_HANDLE 5
#define FAILED_TO_CONNECT 6
#define FAILED_TO_SEND 7
#define FAILED_TO_RECEIVE 8
#define SMTP_SERVER_ERROR 9
#define FAILED_TO_GET_HOSTNAME 10
#define OUT_OF_MEMORY 11
#define UNKNOWN_ERROR 12
#define BAD_MSG_CONTENTS 13
#define BAD_MSG_SUBJECT 14
#define BAD_MSG_DESTINATION 15
#define BAD_MSG_RPATH 16
#define BAD_MAIL_HOST 17
#define BAD_MSG_FILE 18
#define W32_SM_SENDMAIL_FROM_NOT_SET 19
#define W32_SM_SENDMAIL_FROM_MALFORMED 20
#define W32_SM_PCRE_ERROR 21
#define MAX_ERROR_INDEX 22 /* Always last error message + 1 */
PHPAPI int TSendMail(char *smtpaddr, int *returnerror, char **error_message,
char *RPath, char *Subject, char *mailTo, char *data,
char *mailCc, char *mailBcc, char *mailRPath TSRMLS_DC);
PHPAPI void TSMClose(void);
static int SendText(char *RPath, char *Subject, char *mailTo, char *mailCc, char *mailBcc, char *data,
char *headers, char *headers_lc, char **error_message TSRMLS_DC);
PHPAPI char *GetSMErrorText(int index);
static int MailConnect();
static int PostHeader(char *RPath, char *Subject, char *mailTo, char *xheaders TSRMLS_DC);
static int Post(LPCSTR msg);
static int Ack(char **server_response);
static unsigned long GetAddr(LPSTR szHost);
static int FormatEmailAddress(char* Buf, char* EmailAddress, char* FormatString);
#endif /* sendmail_h */