File: tcsmtp.C

package info (click to toggle)
socket%2B%2B 1.12.13%2Bgit20131030.5d039ba-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 668 kB
  • sloc: cpp: 3,988; makefile: 116; sh: 22; ansic: 14
file content (50 lines) | stat: -rw-r--r-- 1,109 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// Copyright (C) 1992-1996 Gnanasekaran Swaminathan <gs4t@virginia.edu>
//
// Permission is granted to use at your own risk and distribute this software
// in source and  binary forms provided  the above copyright notice and  this
// paragraph are  preserved on all copies.  This software is provided "as is"
// with no express or implied warranty.
//
// Version: 12Jan97 1.11

#include <socket++/smtp.h>
#include <stdio.h>
#include <pwd.h>
#include <unistd.h>

using namespace std;

int main (int ac, char** av)
{
  if (ac < 4) {
    cerr << "USAGE: " << av [0] << " host recipient files...\n";
    return 1;
  }

  smtp client (&cout);

  // establish connection
  client->connect (av [1]);
  client->helo ();

  // get help
  client->help ();

  // get the FROM address
  char    sender [256];
  passwd* pw = getpwuid( getuid() );
  sprintf(sender, "%s@%s", pw->pw_name, client->localhost());

  // send the files
  for (int i = 3; i < ac; i++) {
    client->mail (sender);
    client->rcpt (av [2]);
    client->data (av [i]);
    client->rset ();
  }

  // finally quit
  client->quit ();

  return 0;
}