©1995–2012, Fairlight Consulting
PayPal: View Cart PayPal: Add Fairlight LightMail to cart
LightMail Documentation

Current Version: v01.04.00

Released: 12/13/04

Program Summary

Using Lightmail, you may send mail to one or more recipients, sending either plain text messages or messages with one or more attachments, with configurable subjects, directly from inside another program, or from the command line interface.

The purpose of Lightmail is to provide an easy way for programs to send files that they generate, via email, with an absolute minimum of fuss and coding involved. There is no need to tinker with configuration files, as there is with many MUA's. You may set your From: header as needed on the command line from within your software, making it perfectly suited to multi-user software environments where software may need to send mail on behalf of multiple people or roles. Lightmail is ideal for Windows users but also has a solid place on *nix systems as well, with a lightweight model which requires no cumbersome configuration.

Lightmail is a lightweight mail sending agent which simply requires either an SMTP relay or a local sendmail-compliant mail transport agent.

Supported Platforms

Currently supported platforms are:

Demo Versions

Demo versions are available. The demo versions stamp the X-Mailer: and Subject: headers with [UNREGISTERED DEMO], and also insert a block of text at the head of any main message body (the demo does nothing to impede attachments). This extra text block indicates the unregistered status of the software. These three things do not occur with the fully licensed version.

Download the demo for your platform:


Unpack the compressed tar or zip archive into any directory you choose. A subdirectory named lightmail-[platform] will be created, and all program files are present within this subdirectory.

You may call the program directly from this directory at any time. If you wish to relocate the program itself to a location such as /usr/local/bin, you must also copy the included dynamic libraries to the same location in order for the program to work correctly. Relocation is purely optional.


Please note that in the recipient options below, any time you see user@host, you may actually specify a quoted argument such as "null@null.com Nobody Special" and the correct headers will be generated including the real name you specify after the actual address. You simply supply the email address first, followed by a space and then the real name, consisting of one or more words. Including real names in addresses is not mandatory. This real name functionality was added in v01.02.00.

This option tells Lightmail what address to use as the sender's address. This dictates what appears in the From: header in the message.

This option causes Lightmail to send to the specified recipient(s). Multiple recipients may be specified in one invocation of the program. To do so, iteratively call the option with each address.

This option causes Lightmail to copy (Cc) the message to the specified recipient(s). Multiple copy recipients may be specified in one invocation of the program. To do so, iteratively call the option with each address. [Added in v01.02.00]

This option causes Lightmail to blind copy (Bcc) the message to the specified recipient(s). Multiple blind copy recipients may be specified in one invocation of the program. To do so, iteratively call the option with each address. [Added in v01.02.00]

You may use this option to specify a file which contains text to be used as the main message body. This file should be plaintext, not a binary file. If you wish to send binary file attachments, please use the --attachment option instead.

If you do not specify a message file, and only specify attachment files, the default message is the following:

                   Please reference the following attachment(s):

By default, the main text message is presented with a MIME type of text/plain. If you wish to send an HTML-only message body, please use the --html option in addition to this option.

This option tells Lightmail that you wish your main message body to be presented with the MIME type of text/html, thus overriding the default body type of text/plain. This option is used in addition to the --message option. [Added in v01.01.00]

You may use this option to specify one or more files to be sent as attachments in your outbound message. These files may be of any type, and will be encoded appropriately. Multiple attachments may be specified in one invocation of the program. To do so, iteratively call the option with each file to be attached.

Similar to the --attachment option, this option may be used to include an image file as an attachment. The difference is that the message will be encoded so that the images may be displayed inline in an HTML message body rather than simply showing up as attachments.

Assume we are sending the image mypicture.jpg as an inline photo for an HTML message body. To reference the inline image in your HTML message body, use the syntax:

             <img src="cid:mypicture.jpg">

Please note that you may only use the --image option in conjunction with the --html option.

Multiple inline images may be specified in one invocation of the program. To do so, iteratively call the option with each image to be included. [Added in v01.03.00]

You may set the subject header of your email with this option. The default subject if you do not set one manually is: [No Subject]

If you have a listening SMTP server available, you may use Lightmail in an entirely self-contained fashion by setting this option to designate which server to use to relay the mail. An example would be something like mail.yourdomain.com.

Please note that this option is incompatible with the --agent option.

If you have no listening SMTP server available to you, you must rely on a local mail transfer agent such as sendmail, or a sendmail-compatible agent. To specify this, you need to give the agent any flags necessary for it to retrieve the relevant destination and other headers from a message. In the case of sendmail, you would wish to use the following: --g "/usr/sbin/sendmail -t"

Please note that you need to group your agent's pathname and its arguments with quotes to keep those arguments from being interpreted by Lightmail.

Please also note that this option is incompatible with the --smtp option.

This is used to suppress Content-Type, Content-Disposition, and MIME-Version headers, and sets the Content-Transfer-Encoding header to 7bit. This option is incompatible with --html, --attachment, and --image options.

The header should be specified in the format "X-Headername: Value here". The colon after the header name is optional, and will be added by the software. You may specify not only X-* headers, but useful headers like Reply-to. [Added in v01.02.00]

This option returns the program version information.

This option returns the program changelog information.

This option returns the program help (a briefer summary of the options) in a self-paging fashion.


v01.00.00 - 06/25/04

Original Release.

v01.01.00 - 06/27/04

Added --html option.

v01.02.00 - 06/29/04

Added --copy, --blind-copy, and --xheader options. Added real name capability for addresses. Revised sending procedure and removed blinding on To: to accomodate Cc: and Bcc: handling. All additions were due to user requests.

v01.02.02 - 07/07/04

Fixed real name capability for sender. Fixed real name quoting on SMTP port.

v01.03.00 - 09/21/04

Added --image functionality. Fixed a few leftover die() functions precluding exit codes on errors.

v01.03.01 - 11/25/04

Added translation for backslash to forward slash for Windows users who like using the native convention for pathnames.

v01.03.02 - 11/26/04

Added help display on no arguments or on Windows /? notation. Added README.txt rendering of this helpfile to all distributions.

v01.03.03 - 11/27/04

Redirected STDERR to STDOUT so that filePro users can check a redirect file with the FILESIZE() function to determine if there were any errors.

v01.04.00 - 12/13/04

Added --no-mime for suppression of MIME headers (user requested feature).

Copyright, License, Warranty, and Payment

This software remains the property of Fairlight Consulting, and license to use the program is sold to users. Lightmail is licensed at a cost of $149.95 USD per server on which it is installed. Each license fee entitles you to use Lightmail on one server, in any role you require.

Upon receipt of payment for a license, program will be delivered to the licensee via email at the email address associated with the PayPal payment.

Upgrades for the product are currently free when moving to new minor and major versions. Fairlight Consulting reserves the right to change this policy in the future, with no prior warning.

There is no warranty for this software. This software is offered "AS-IS" and without warranties as to performance or merchantability or any other warranties, whether expressed or implied.

Good computing practice dictates that any program should be thoroughly tested with non-critical data before deploying it for production. The user assumes the entire risk of using the program. In no event shall Fairlight Consulting be held liable for loss of data, failure of performance, or any other damages, be they real or perceived.