/* Turn off the next line if your system doesn't have a clock */ #define DATE /* #define USERNAME "bdale" /* name of local user */ /* #define SMTPGATE "44.32.0.1" /* address to punt mail to */ #define SMTP_PORT 25 /* well-known port for smtp */ #define SMTPCLITIME 900 /* 15 minutes between client starts */ /* currently, the below definitions are set up to put incoming mail activity in \spool\mail, and outgoing mail activity in \spool\mqueue. Twiddle to suit, this is for pseudo-compatibility with 4bsd, since that's what I'm most familiar with... Bdale */ #ifndef AMIGA /* Mail box file name template - edit to taste */ #define MAILSPOOL "/spool/mail/%s.txt" /* path for outgoin mail files */ #define MAILQDIR "/spool/mqueue/" #else AMIGA #define MAILSPOOL "INET:mail/%s.txt" #define MAILQDIR "INET:mqueue/" #endif extern char hostname[]; #define LINELEN 128 #define SLINELEN 32 /* Recipient address entry */ struct addr { struct addr *next; char *val; }; #define NULLADDR (struct addr *)NULL /* Per-session control block */ struct mail { struct tcb *tcb; /* TCP control block pointer */ char state; #define COMMAND_STATE 0 #define DATA_STATE 1 char *system; /* Name of remote system */ struct addr *to; /* Linked list of recipients */ char buf[LINELEN]; /* Input buffer */ char cnt; /* Length of input buffer */ FILE *data; /* Temporary input file pointer */ }; #define NULLMAIL (struct mail *)NULL struct smtp_msg { struct tcb *tcb; /* tcp task control buffer */ char cts; /* used as boolean, true if space avail in tcp buffer */ char state; /* state machine placeholder */ #define CLI_OPEN_STATE 0 #define CLI_MAIL_STATE 1 #define CLI_RCPT_STATE 2 #define CLI_DATA_STATE 3 #define CLI_SEND_STATE 4 #define CLI_UNLK_STATE 5 #define CLI_QUIT_STATE 6 char *filename; /* name of workfile */ char toaddr[LINELEN], fromaddr[LINELEN]; char buf[LINELEN]; /* Input buffer */ char cnt; /* Length of input buffer */ FILE *wfile, *tfile; };