SMTPstoat - Open Source command line SMTP mailer

SMTPstoat is a command line SMTP mailer application that sends out e-mails according to various specifications.

There are plenty of apps that include the name 'weasel' and 'ferret', so I decided that stoat shouldn't be left out.

Features:

  1. Create and send an entire e-mail via the command line.
  2. Send an e-mail via settings in a configuration file.
  3. Forward out a raw e-mail message file.
  4. Send attachments.
  5. SMTP authentication support (AUTH LOGIN).
  6. Send to multiple addresses.

License: GNU General Public License (GPL)
Programming Language: C++

Binary Download
Size
Version
Date
smtpstoat-1.0.104.linux.tar.bz2
283,772b
1.0.104
May 03, 2006
smtpstoat-1.0.104.win32.zip
234,689b
1.0.104
May 03, 2006

Source Download
Size
Version
Date
smtpstoat-1.0.104.tar.bz2
99,892b
1.0.104
May 03, 2006

Note: SMTPstoat compiles for Win32 and Linux platforms.

Sending an e-mail

[user@localhost]$ smtpstoat -w /home/user/stoat/ -S smtp.isp.net -f me@here.com -t "you@there.com, user@elsewhere.com" -s "This is a test" -m "Sending data.tar.gz" -a /home/user/data.tar.gz -v

Required parameters

SMTPstoat needs to know what directory it can use for creating e-mail files. This is specified by the "-w" parameter:

-w <working directory>

Note: You must specify the full directory path, but it is not necessary to add the path separator to the end "/".


Send mail via command line parameters only

If no config file is specified, you must set the following arguments at the command line:

-S <server name>

-t <"to@address[, to@addressN]">

-f <from address>

To create your own e-mail, use the following parameters:

-s <"subject text here">

The following are optional arguments:

-m <"message text here">

-M <path/to/message/text/file> (use file contents for message)

-P <port> (default = 25)

-h <helo domain> (default = localhost)

-A <username:pass> (use SMTP authentication - AUTH LOGIN)

-a <attachment>[< attachmentN>] (specify as many attachments as you like)

-v           enables verbose mode (default = off)


Sending mail via a config file

You can specify a config file, and any attachments as so...

-c <config file>

smtpstoat -w <working directory> -c <config file> [-a <attachment> [<attachmentN>]]

The config file should be set out as follows:

<smtp server>[:<port>]
<helo domain>
<from address>
<to address(es)>
<subject>
<message text>

Example...

smtp.isp.net
localhost
me@here.com
you@there.com
This is the subject
Text typed here is used as the message text.

You can enter as much as you like.


Sending a raw e-mail file

You can specify that a raw message file is to be sent as so...

-r </path/to/msg/file>

You can specify a config file, and a raw e-mail file to send:

smtpstoat -w <working directory> -c <config file> -r <path/to/msg/file>

Or specify the required parameters, and a raw e-mail file:

smtpstoat -w <working directory> -S <smtp server> -f <from address> -t <"to address(es)"> -r <path/to/msg/file>

The e-mail file itself should be constructed according to the RFC requirements, ending with CRLF.CRLF