#include #include #include #include int sendmailoff(emailaddr, fullname) char *emailaddr; char *fullname; { int errchk; FILE *fptemp; char sysline[1024]; char tmpfilename[1024]; sprintf(tmpfilename, "/tmp/gdtautomail.%d", getpid()); fptemp = fopen(tmpfilename, "wb"); fprintf(fptemp, "Email info to: %s\n", emailaddr); fprintf(fptemp, "Their real name: %s\n", fullname); fclose(fptemp); sprintf(sysline, "mail -s 'Request for BALLISTIC info ...' gdt@eecg.toronto.edu < %s", tmpfilename); errchk = system(sysline); sprintf(sysline, "rm %s", tmpfilename); system(sysline); return(errchk); } char *parsefirst(string) char *string; { int i, start, loop; char *first; first = (char *)malloc( 1024*sizeof(char) ); start = 0; loop = 0; for (i=0; i 0) { if (string[i] == '+') { first[loop++] = ' '; } else { first[loop++] = string[i]; } } if ((string[i] == '=') && (start == 0)) { start = i; } if (string[i] == '&') { break; } } first[loop-1] = '\0'; return(first); } char *parselast(string) char *string; { int i, start, middle, end, loop; char *first; first = (char *)malloc( 1024*sizeof(char) ); start = 0; middle = 0; end = 0; loop = 0; for (i=0; i 0) && (end > 0)) { if (string[i] == '+') { first[loop++] = ' '; } else { first[loop++] = string[i]; } } if ((string[i] == '=') && (start == 0)) { start = i; continue; } if ((string[i] == '=') && (start > 0) && (middle == 0)) { middle = i; } if ((string[i] == '&') && (end == 0)) { end = i; } } first[loop] = '\0'; return(first); } main(argc, argv) int argc; char *argv[]; { int errchk; int i, loops; char inputstring[1024]; char emailaddr[1024]; char fullname[1024]; printf("Content-type: text/html\n\n"); printf(" BALLISTIC Information Request \n"); printf("

\n");
printf("\n");
printf("\"BALLISTIC:\n");
printf("


\n"); printf("Your request for more information is being submitted ...\n

\n"); gets(inputstring); strcpy(emailaddr, parsefirst(inputstring)); strcpy(fullname, parselast(inputstring)); if ((strlen(emailaddr) <= 1) || (strlen(fullname) <= 2)) { printf("\n

\n

\n"); printf("There was an error formatting the email ...\n"); printf("Please complete all portions of the form before submitting.\n

\n"); } else { printf("

  • Email address: %s\n", emailaddr); printf("
  • Full name: %s\n
\n", fullname); errchk = sendmailoff(emailaddr, fullname); if (errchk == 0) { printf("\n

\nEnd of submission.\n"); } else { printf("\n

\nThere was an error during transmission of the email ...\n"); printf("Please try again at a later time or send the email manually\n"); printf("to gdt@eecg.toronto.edu. Sorry for any inconvenience.\n"); } } printf("


\n"); printf("\n"); printf("\n"); printf("


\n"); printf("Web pages by Bryn R. Owen\n"); exit(0); }