smtp-conversation-0.1 README

Description
===========

This utility accepts any number of <server> arguments it will connect
to each <server> in turn to send a test message.  Sadly, there is no
granularity of control over the timeouts.  There is one timeout value
for everything from the TCP SYN to '250 OK'.

The utility includes a zero-padded serial number in the subject and
body to assist in mail troubleshooting.  If <message> is specified,
it will be prepended to the subject line.  Messages will normally be
very short, however, you can make them longer by specifying a number
of <kilobytes> of random text to add for padding (actual amount of
padding may not be exactly <kilobytes> in size).

This utility will operate in two modes, loop mode or \"until\" mode.
In loop mode, it'll loop <count> times.  The <count> option has no
meaning in the \"until\" mode.  In this non-default mode, the utility
will continue to try to connect until the remote server is reachable,
at which time it'll stop.

Requirements
============

  - socat; a general purpose "cat" utility for files, file descriptors,
    sockets, FIFOs or pipes

    http://www.dest-unreach.org/socat/

  - doalarm; though not strictly required (perl is used instead, if
    this utility is not found), doalarm is quite lightweight and
    convenient

    http://directory.fsf.org/sysadmin/misc/doalarm.html

Examples
========

Quietly send to test@domain.net through mail.domain.net.
  smtp-conversation -q -r test@domain.net mail.domain.net

Verbosely send (5) 20kb messages every two seconds to 127.0.0.1
  smtp-conversation -k 20 -i 2 -c 5 -vvr test@domain.net 127.0.0.1

Send one message from porc@gmail.com through mail4.mxsmtp.com.
  smtp-conversation -s porc@gmail.com -r test@domain.net mail4.mxsmtp.com

Wait until flaky.server.net accepts message for test@domain.net.
  smtp-conversation -u -r test@domain.net flaky.server.net


Options
=======




Usage
=====
Usage: smtp-conversation [ options ] -r <recip> <server> [ <server> ... ]

Required option:
  -r, --recipient          Intended recipient address. (required)

Options (defaults marked, or in parentheses):
  -q, --quiet              Reset verbosity to none.
  -v, --verbose            Be verbose. (interactive default)
  -u, --until-success      Loop until successful reaching server(s).
  -s, --sender             Sender address to use. ($USER@$HOST_FQDN)
  -c, --count              How many to send. (1)
  -k, --kilobytes          How much padding to include. (0)
  -m, --message            Text to prepend to subject line. ("SMTPTEST")
  -t, --timeout            Timeout while waiting for 250 OK. (10)
  -i, --interval           Interval in seconds between messages. (60)
  -b, --bind <address>     Select address for outgoing connection. (INADDR_ANY)

