home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Distributions / ucb / spencer_2bsd.tar.gz / 2bsd.tar / src / net / sendmail.c < prev    next >
C/C++ Source or Header  |  1980-02-17  |  1KB  |  50 lines

  1. /* Copyright (c) 1979 Regents of the University of California */
  2. # include "defs.h"
  3.  
  4. /* sendmail - send remote mail */
  5. /* sendmail mach:user1 user2 ... usern */
  6. main(argc,argv)
  7.   char **argv; {
  8.     register struct fd *ff;
  9.     struct fd ffile;
  10.     char buf2[BFS], rem;
  11.     int buf[BFS], buf1[BFS];
  12.     char rcmd[2*BFS];
  13.     int i;
  14.     struct passwd *pwd;
  15.     argc[argv] = 0;
  16.     debugflg = DBV;
  17.     ff = &ffile;
  18.     if(argc < 2){
  19.         fprintf(stderr,"Usage: sendmail m:user1 user2 ... usern\n");
  20.         exit(1);
  21.         }
  22.     pwd = getpwuid(getuid());
  23.     strcpy(buf2,pwd->pw_name);
  24.     analyze(argv[1],ff);
  25.     rem = getremote(local);
  26.     if(ff->mach != 0)rem = ff->mach;
  27.     sprintf(buf,"-m%c",rem);
  28.     sprintf(buf1,"%s %s %s ",mailcmd,buf2,longname(local));
  29.     strcpy(rcmd,"mail ");
  30.     for(i=1;i<argc;i++){
  31.         if(member(argv[i],':')){
  32.             analyze(argv[i],ff);
  33.             strcat(buf1,ff->fn);
  34.             }
  35.         else strcat(buf1,argv[i]);
  36.         strcat(buf1," ");
  37.         strcat(rcmd,argv[i]);
  38.         strcat(rcmd," ");
  39.         }
  40.     rcmd[strlen(rcmd) -1] = 0;
  41.     if(rem == local)
  42.         fprintf(stderr,"Use mail to send to this machine.\n");
  43.     else {
  44.         mexecl(netcmd,"net",buf,"-l","network","-p","",
  45.         "-","-c",rcmd,buf1,0);
  46.         fprintf(stderr,"Network is down\n");
  47.         }
  48.     exit(1);
  49.     }
  50.