|
|
1.1 ! root 1: /* mail.c ! 2: Send mail to a user. ! 3: ! 4: Copyright (C) 1992 Ian Lance Taylor ! 5: ! 6: This file is part of the Taylor UUCP package. ! 7: ! 8: This program is free software; you can redistribute it and/or ! 9: modify it under the terms of the GNU General Public License as ! 10: published by the Free Software Foundation; either version 2 of the ! 11: License, or (at your option) any later version. ! 12: ! 13: This program is distributed in the hope that it will be useful, but ! 14: WITHOUT ANY WARRANTY; without even the implied warranty of ! 15: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ! 16: General Public License for more details. ! 17: ! 18: You should have received a copy of the GNU General Public License ! 19: along with this program; if not, write to the Free Software ! 20: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ! 21: ! 22: The author of the program may be contacted at [email protected] or ! 23: c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. ! 24: */ ! 25: ! 26: #include "uucp.h" ! 27: ! 28: #include "uudefs.h" ! 29: #include "sysdep.h" ! 30: #include "system.h" ! 31: ! 32: #include <errno.h> ! 33: ! 34: #if HAVE_TIME_H ! 35: #include <time.h> ! 36: #endif ! 37: ! 38: #ifndef ctime ! 39: extern char *ctime (); ! 40: #endif ! 41: ! 42: /* Mail a message to a user. */ ! 43: ! 44: boolean ! 45: fsysdep_mail (zto, zsubject, cstrs, paz) ! 46: const char *zto; ! 47: const char *zsubject; ! 48: int cstrs; ! 49: const char **paz; ! 50: { ! 51: const char *az[3]; ! 52: FILE *e; ! 53: pid_t ipid; ! 54: time_t itime; ! 55: int i; ! 56: ! 57: az[0] = MAIL_PROGRAM; ! 58: az[1] = zto; ! 59: az[2] = NULL; ! 60: ! 61: e = espopen (az, FALSE, &ipid); ! 62: if (e == NULL) ! 63: { ! 64: ulog (LOG_ERROR, "espopen (%s): %s", MAIL_PROGRAM, ! 65: strerror (errno)); ! 66: return FALSE; ! 67: } ! 68: ! 69: fprintf (e, "Subject: %s\n", zsubject); ! 70: fprintf (e, "To: %s\n", zto); ! 71: ! 72: fprintf (e, "\n"); ! 73: ! 74: (void) time (&itime); ! 75: /* Remember that ctime includes a \n, so this skips a line. */ ! 76: fprintf (e, "Message from UUCP on %s %s\n", zSlocalname, ! 77: ctime (&itime)); ! 78: ! 79: for (i = 0; i < cstrs; i++) ! 80: fputs (paz[i], e); ! 81: ! 82: (void) fclose (e); ! 83: ! 84: return ixswait ((unsigned long) ipid, MAIL_PROGRAM) == 0; ! 85: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.