Copyright: ® 1994 Rimrock Software.


Contents
MailSend

MailSend is a command-line Internet e-mail utility for Win95/98/NT.

Current MailSend release information can be found at:

http://www.radiks.net/jimbo/share.html

How does one use MailSend?

What's new?

What's next?

Why MailSend was temporarily removed from the market

Limitations in the trial version of MailSend

How to register or pay for use of MailSend

Information on distributing MailSend with your products

MailSend tutorial

Command-line quick reference list

Error messages listing

Frequently Asked Questions

MailSend technical information


Information
MailSend Information

MailSend is a command-line Internet mailer for Windows 95/98/NT Copyright © 1997, 1998, 1999 by James K. Lawless

E-mail:  jimbo@radiks.net

Web URL: http://www.radiks.net/jimbo


Command-line quick reference list

 -h                   Display the help screen

 -s subject           Specify subject

 -a filename          Attach filename with MIME

                      base64

 -f filename          Attach files in list

 -smtp smtp_addr      Specify SMTP server address

 -to to_address       Specify 'To:' e-mail address

 -from from_address   Specify 'From: address

 -file text_file      Name of text file to send

 -msg string          Specify immediate message to

                      send via the command-line

 -filter              Take text file input from

                      the console stdin device

 -out                 Redirect output to specified

                      filename

 -suppress            Suppress output ( except for

                      error messages )

 -bccf filename       Blind-carbon-copy to all

                      recipients listed in

                      filename

 -bccfna filename     -bccf with no attachments to

                      copied recipients

 -bcc cc_address      Send one blind-cc to address

                      specified

 -bccna cc_address    -bcc with no attachments to

                      copied recipient

 -date                Force date header


MailSend technical information

MailSend was written using TAWK, the Thompson Automation ( http://www.tasoft.com ) AWK language compiler system.

This help file was created using HelpGen from Rimrock Software. ( http://www.rimrocksoftware.com )


Information on distributing MailSend with your products

If you'd like to include a registered version of MailSend with your own software, please contact me for licensing details.  The most reliable way to reach me is via e-mail.  Please send any e-mail inquiries to:

jimbo@radiks.net

If you are a shareware CD vendor, you may include the trial version of MailSend on a CD collection

If you'd like to distribute the trial version of MailSend on a CD packaged in a magazine you may do so.


Error messages listing

Certain errors are passed back directly by the SMTP mail server.  These messages can vary depending on the SMTP software.

Error messages displayed by MailSend predominantly pertain to improper command-line parameters.

Error messages produced by MailSend

Error! Option whatever is not a valid MailSend option.

This error message occurs when a parameter has been specified that MailSend does not recognize.  This can occur if a command-line option is spelled incorrectly ( i.e., -smpt instead of -smtp ).

This can also occur if an argument for a prior command-line option is not specified.

Consider the following:

MailSend -msg -to fred@isp.kom

The -msg option requires a string of characters as an argument.  In the sample above MailSend will process the option "-to" as an argument for -msg.  The next option MailSend tries to use is "fred@isp.kom".  This will display the message

Error! Option fred@isp.kom is not a valid MailSend option.

Error! Missing destination 'To:' e-mail address.

You must either specify a "To:" address ( either by filling in the argument three using the classic syntax or by using the -to option ).  Alternately, you may only specify a blind-carbon-copy address.

Error! Missing SMTP server address.

You must specify your SMTP server address.  This can be specified as argument two using the classic syntax or by using the -smtp option.

If you don't know what your SMTP address is, you might either look in your normal e-mail client's configuration section, or you could ask your Internet service provider.

Error! Missing 'From:' address.

You must specify YOUR e-mail address, not an alias. This argument may be specified in argument four using the classic syntax or by using the -from option.

Error! Missing -msg, -filter, or input text-file.

This error message occurs if MailSend cannot find a text message to send.  You may not send attachments alone in MailSend.  A text message must be present.

A message file can be specified as the first argument using the classic syntax or by using the -file option.

The -filter option may be used to filter text from the standard console input device.

The -msg option allows you to specify a brief message on the MailSend command-line.

Error! Carbon-copy and -filter options are mutually exclusive.

When processing carbon-copied items, MailSend re-opens each file for each mail item sent.When using the -filter option, the standard console input device (stdin) is used for input.  MailSend is unable to reopen this device for subsequent mail transmissions.

This version of MailSend does not allow the mixed use of the -filter and carbon-copy options for this reason.


MailSend tutorial

In order to use MailSend, you'll need to know a couple of useful bits of information.  One of them is your SMTP server ( Internet mail server ) address.  This will usually be something like mail.isp.kom.

The only other information you need to know is your e-mail address.  It should be something like fred@isp.kom or something similar.

PLEASE NOTE! The tutorial section does not include information on using the classic command-line.  The classic command-line required that four basic options needed to be specified in special positions on the command-line.

The new command-line format provides much more flexibility.  As such, it will be easier and more beneficial for the MailSend user to discuss only the format for these options.

General rules

Certain command-line options expect an argument ( such as -msg ).  Since the command-line options are separated by spaces, you must enclose any argument containing spaces in double-quotes ( i.e.  -msg "Hi there" ).

Any new format command-line arguments can now be specified in an external file.  MailSend will process this file if you specify it with the "@" symbol in front of the filename on the command-line.  See the section titled Specifying  options in an external file below.

Sending an e-mail message

MailSend -from fred@isp.kom -smtp mail.isp.kom -to whoever@whatever.com -msg "Hi there!"

This message "Hi there" is sent immediately to whoever@whatever.kom from fred@isp.kom.

Sending an e-mail message with a subject

MailSend -s "This is a subject" -from fred@isp.kom -smtp mail.isp.kom -to whoever@whatever.com -msg "Hi there!"

Specifying options in an external file

The most useful new feature of MailSend is the ability to specify ANY new format option in an external text file.  This can shorten MailSend command-lines by specifying frequently used options in this file.

Create a text file called M.CFG in the same directory where MailSend.EXE resides.  This file should contain YOUR EQUIVALENT of the following:

-smtp mail.isp.kom

-from fred@.isp.kom

Then, on the command-line specify the following:

Mailsend @m.cfg -to user@wherever.kom

All options in the M.CFG file will act as though you've entered them on the command-line.

Sending an e-mail text file

MailSend  -file SOMEFILE.TXT -from fred@isp.kom -smtp mail.isp.kom -to whoever@whatever.com

The above example sends the contents of the text file SOMEFILE.TXT to the recipient.  Prior examples have depended on the -msg option.

Sending an e-mail from a stdin pipe

If you don't know what this is, don't worry.  It's likely that you won't need it.

To send the output of one program via e-mail, the -filter option can be used. Suppose we want to send the output of a DIR command to someone via e-mail.  This can be achieved using a command-line similar to the following:

DIR | MailSend  -filter -from fred@isp.kom -smtp mail.isp.kom -to whoever@whatever.com

Sending an attachment

A single attachment can be sent using the -a option.  Suppose we want to attach a file named SOMEFILE.ZIP as an attachment.  The command-line would be similar to the following:

MailSend  -a SOMEFILE.ZIP -from fred@isp.kom -smtp mail.isp.kom -to whoever@whatever.com  -msg "Here's your attachment"

Sending a block of attachments

To send a block of attachments, you must specify a text file which contains the names of all files you wish to attach using the -f option.

Suppose you have a list of files you want to attach in a file called ATTACH.TXT. The command-line for attaching each file to the mail message would be similar to the following:

MailSend  -f ATTACH.TXT -from fred@isp.kom -smtp mail.isp.kom -to whoever@whatever.com  -msg "Here's your attachments"

Please note that this does not send the file ATTACH.TXT itself.

Sending a blind-carbon-copy

To send a blind-carbon-copy ( a duplicate of the e-mail item where the original recipient does not see the copied user's e-mail address ), use a command-line similar to the following:

MailSend  -bcc hidden@somewhere.kom -from fred@isp.kom -smtp mail.isp.kom -to whoever@whatever.com  -msg "Here's your attachments"

The above will send one e-mail item to whoever@whatever.kom and will also send a copy to hidden@somewhere.kom.  The recipient at hidden@somewhere.kom will see the original recipient's ID in the 'To:' field.

If the original message contains an attachment and you do not intend to send the attachment to the copied user, use the -bccna option.

Sending multiple blind-carbon-copies

To send blind-carbon-copies to multiple recipients, you must create a text file containing the e-mail addresses of each recipient.  Suppose this file is called MAILLIST.TXT.  The command-line to send blind copies of an e-mail to the list of recipients would look similar to the following:

MailSend  -bccf MAILLIST.TXT -from fred@isp.kom -smtp mail.isp.kom -to whoever@whatever.com  -msg "Here's your attachments"

Each copied recipient will see the original recipient's ID in the 'To:' field.

To avoid sending attachments to copied recipients, use the -bccfna option.

To send each recipient's e-mail ID in the 'To:' field, omit the -to option and its argument.

Suppressing output

MailSend output can be suppressed by using the -suppress option.

MailSend -suppress -from fred@isp.kom -smtp mail.isp.kom -to whoever@whatever.com -msg "Hi there!"

Routing output to an external file

To route the output normally displayed on the screen to an external file, use the -out option.  Suppose we want to route the output to a file called OUTPUT.TXT.  The MailSend command-line would look similar to the following:

MailSend -out OUTPUT.TXT -from fred@isp.kom -smtp mail.isp.kom -to whoever@whatever.com -msg "Hi there!"

Forcing 'Date:' header generation

MailSend -date -from fred@isp.kom -smtp mail.isp.kom -to whoever@whatever.com -msg "Hi there!"

This will cause a 'Date:' header to be generated.  MailSend does not currently send a date header that conforms to appropriate e-mail standards.  Please use this option only if your SMTP server requires it.

Standard session output

MailSend displays response messages from the SMTP server unless the -suppress option is used.  Standard output from a MailSend session might look something like the following:

MailSend v6.00 attempting connection to mail.isp.kom

Connection successful.

*** 250 mail.isp.kom Hello dial24.isp.kom [0.0.0.0],

 pleased to meet you

*** 250 <fred@isp.kom>... Sender ok

*** 250 <whoever@wherever.kom>... Recipient ok

*** 354 Enter mail, end with "." on a line by itself

Send complete!


Frequently Asked Questions

Q: I've run out of room on the command-line.  What alternatives are available?

This will occur when running a 16-bit shell under Win95/98/NT such as COMMAND.COM.

If you're running under NT, you may opt for using CMD.EXE.

The easiest way to ensure lean command-lines is to specify all of your default information in a "@" file.  Defaults that are likely to stay the same are your SMTP server address and your e-mail "From:" address.

Suppose that your e-mail address is fred@isp.kom and your ISP's SMTP server is named mail.isp.kom.  Create a text file called M.CFG in the same directory where MailSend.EXE resides.  This file should contain YOUR EQUIVALENT of the following:

-smtp mail.isp.kom

-from fred@.isp.kom

Then, on the command-line specify the following:

Mailsend @m.cfg -to user@wherever.kom

All options in the M.CFG file will act as though you've entered them on the command-line.Please refer to the tutorial section for more information.

Q: Can MailSend be used to send mail to multiple people?

Yes.  The -bcc, -bccna, -bccf, and -bccfna options allow one to send "blind" carbon-copies of the given e-mail item to multiple people.  The -bccf and -bccfna options process a file that contains a list of e-mail addresses.

The e-mail address specified in the -to parameter will be displayed to each recipient unless this parameter is omitted.  If the -to parameter is omitted, each recipient will receive their own e-mail address in the 'To:' field.

Q: Can one send attachments with MailSend?

Yes.  Please refer to the -a and the -f options in the tutorial section.

Q: Is MailSend 'crippleware'?

The trial version of mailsend has limitations which will not hinder testing, but will likely render MailSend unusable for a full production environment. Please refer to the limitations section for more information.

Q: How do I upgrade from a prior version of MailSend?

Currently, all upgrades have been free.  If you have registered any previous version of MailSend, please contact me at jimbo@radiks.net to receive the newest registered version.

Q: Help!  What if I encounter problems?

Please contact me immediately at:

jimbo@radiks.net

Q: Do you have a MS-DOS, OS/2, Linux, or Mac version of MailSend?

At this time, no.

I have no plans to make a pure MS-DOS version.

Please see the What's Next section pertaining to other platforms.

Q: How do I use MailSend to automatically log-on / log-off of my Internet Provider Service?

You can't.  MailSend is not prepackaged with a supplemental tool for automating control of dial-up networking.


How does one use MailSend?

MailSend is used at a Win95/Win98/NT command prompt.  Most customers realize the potential of MailSend either by incorporating MailSend into batch files or by calling MailSend as a child process from their own software.

The tutorial section contains information on how to use each MailSend option.


What's new in version 6.00?

One of the first things existing users will notice is this help file.  MailSend has outgrown the old-fashioned text file used for documenting all features and functionality.

This help file will automatically appear if a user clicks on MailSend from Explorer or another graphical shell or if MailSend is invoked on a command-line with no arguments.

Bug fixes

New features


What features are forthcoming?

I have a number of ideas that I want to pursue.  If any of them sound like something that would interest you please let me know.  I have no way of knowing how to prioritize the development of these new features at this time.  Your feedback is appreciated.

MailScript The biggest feature I want to add to MailSend is a scripting language. I welcome your suggestions on scripting language features.

MailGrab Several of you have asked for a POP3 counterpart to MailSend that will allow you to read your mail, storing it in files for processing.

MailSend/Java I would like to create a Java class version of MailSend.  This would allow me to immediately explore Linux, OS/2, and the Macintosh  as potential platforms for MailSend.

MailSend/Linux I am interested in developing a version of MailSend for Linux.  Since I don't currently have a Linux machine for development of the tool, this version may take a while to realize.


Why was MailSend temporarily removed from the market?

Many of you had tried to register MailSend last fall and found that my credit-card processor (RegSoft) was no longer accepting registration payments for MailSend.

Last summer, an ISP in Italy was receiving incredible volumes of junk e-mail from a spammer using the trial version of MailSend.  I had never intended for MailSend to be a spammer's tool.

Last fall, a couple of people accidentally blasted an e-mail to nearly 12,000 people.  This particular e-mail contained an attachment; a trial version of MailSend 5.11.

The problem was caused by an e-mail address that was actually an autoremailer for a mailing list.  The sender of the original e-mail accidentally sent a copy of his e-mail to this remailer, where it went to 12,000 people.  Numerous recipients replied to the e-mail thinking that they were being spammed.

A bigger problem arose when many recipients began to reply to ALL other recipients.  These replies went to the same remailer and thousands of e-mails were again launched ... still with MailSend attached.

After this avalanche of unsolicited e-mail, I found that people were beginning to think that I had something to do with it since my software package was attached to the offensive e-mail item.

I became aware of this when I received an e-mail from one of the recipients of the avalanche who blamed me for it.  I called him by telephone and with his help, managed to track the problem to its source.

The next day, however, I found that someone was apparently attempting a retaliatory action against me ( although I had nothing to do with the original incident ).  They were mail-bombing me by subscribing me to a number of Internet mailing lists.  My mailbox was slowly filling with all sorts of e-mail items from various mailing lists.

At this point, I asked RegSoft to halt processing on the product.

I did this so that the original offenders who had begun the avalanche of e-mail wouldn't be able to register.

I also wanted to ensure that no one thought I was trying to do this as an advertisement for the product.  What better way to make it clear that I wasn't involved in some kind of commercial e-mail than to remove my product from the market?

The time consumed in fighting these issues took away valuable development time.  It also took away my desire to create counterpart MailSend products which had been in the planning stages ( a Java version of MailSend and a Linux version as well ... but they're back on the drawing board.  SeeWhat's Next? for details ).

The fallout from the incident is over.  RegSoft is again processing credit-card payments.

I apologize for any inconvenience this has caused.


Limitations in the trial version of Mailsend

The trial version of MailSend has two limitations.

1.	 A message appears at the beginning of each e-mail item indicating that it has been sent with a trial version of MailSend.

2.	 MailSend will only send about 15 mail items successfully before ceasing to operate.  To make MailSend function again, the user will need to reboot their system.

The prefixed message has been with the product since version 5.x.

The 15-mail limit was imposed to prevent users from abusing the trial version of MailSend.  It also allows you to test MailSend as much as you want ... you may have to reboot a few times in the process ... but this should still allow appropriate evaluation of the product.


How to register or pay for use of MailSend

Dislcaimer:

I claim no responsibility nor liability for damages incurred to hardware / software during usage of MailSend.  Nor am I responsible for any monetary losses related to use of MailSend.  Use MailSend at your own risk.

MailSend is shareware.

It is not free.

You may use it for a trial period of 30 days.  If you continue to use it after 30 days you are required to register the software.

The registration fee for the software is $10.00 in U.S. funds for each copy that has a potential to be used ( i.e. if you have 5 people in your company and 4 of them may need to use MailSend, you are required to pay 4 registration fees ).

Perhaps MailSend will be installed on an autonomous server machine for use as an automatic mailer.  In this case, a registration is due for each machine upon which MailSend will be installed.

If you choose to register MailSend via credit-card, you may do so via the RegSoft services:

http://www.regsoft.com

You may register by voice phone toll-free ( in the U.S. ) by calling

1-877-REGSOFT ( 1-877-734-7638 )

International registration can be made via voice phone by calling

1-770-497-9126

You may register by FAX by faxing your order to

1-770-497-9234

NOTE! To register via FAX or voice phone, you must use MailSend'sproduct ID which is 9583.

Otherwise, please remit payment by check  drawn on a U.S. bank  to:

James K. Lawless

2414 4th Avenue

Council Bluffs, IA 51501


Bug fixes

The SMTP date-header format is still incorrect.  What I've done is removed the code that generates a 'Date:' header unless the -date command-line parameter is specified.

Most SMTP server automatically generate a date-header if you don't supply one.

Fixed a MAJOR bug that kept some versions of Netscape and Internet Explorer from seeing the message body when attachments were present.

Fixed attachment bug when using carbon-copy options.

Fixed incompatibility with MS Exchange SMTP gateway.

Changed blind-carbon-copy options so that if a primary recipient is not specified, the "To" e-mail address is the address of the recipient from the copy list.

Added command-line parameter processing that alleviate command-line spacing limitations.


New features

The command-line formats for MailSend are:

MailSend text file smtpServerName toEmailAddress fromEmailAddress [ options ]

or

MailSend [ options ]

The first command-line format is the "classic" format.  The second format ( or "new" format ) is more flexible.

New options are as follows:

-smtp      address of SMTP server

-to        "to" address

-from      "from" address

-file      name of text file to send

-msg       immediate message to send via the command-line

-filter    Take text file input from the standard console input device

-out       Redirect output to specified filename

-suppress  Suppress output

-date      Force date header generation

An important new feature is the option to specify parameters in separate text files.  This can be accomplished by placing the "@" character followed by the text file name on the MailSend command-line.

Please see the tutorial section for more information.