Internet Shopper will be providing all documentation on line in a form that can be read by WWW browsers. This way we can keep the documentation up to date and improve any points that are not clear. If you find any points unclear please email us and we will try to clarify the issue.
1.1 Features
1.1.1 Features of NTMAIL
This is a full list of features for the mail servers and the
associated programs.
1.1.2 50+ User Version Additional Features
Note: We are currently working on creating a new user privilidge which will
be "Mail User" to allow only the minimum privilidges to be given to a user
rather than a more generic "Logon" privilidge.
1.1.3 List server
The list server is an additional option to NTMAIL and not part of the basic
package.
1.2 Requirements
NTMAIL has the following requirements:
1.3 Release Policy
The current version can be found with all our
other software. This code is the
latest code with all features listed above. However, you will need to get a
key. The key is used to allow features and set the maximum
number of users of the mail server. The key has
a special page all to itself.
To continue using the software once the key has expired you will have two options
When you register we will provide you with a key that will not
expire, e-mail support and details of all new releases of the
software as features are added. In addition the requests of
registered users for new features will achieve the most
attention.
The SMTP Service can handle an indefiniate number of mail boxes
with up to 30 aliases each. This means you could set up a mail box
for "david" which will receive mail to "dave" or "david". It can
also handle an indefinate number of "receivers" of the same mail
message (e.g. when you select multiple receipients of the same mail
message or Carbon Copies in your mail client).
In this case the mail message is broken up into lots
of individual mail messages then each message is treated
individually.
There are two optional commands which have been implemented,
VRFY will succeed if the following address is local and EXPN
will expand mail lists (when they have passed test).
SMTP can log the source, destination and size of all mail messages
it handles. This can be useful for spotting unusually high use
of the mail service by individuals within an organisation.
The Service is multi-threaded. This means that the service can
handle multiple connections from other mail servers at the same
time and distribute the messages correctly. The number of threads
is configurable although we have only five.
The SMTP service also provides all the list server functionality.
You may set up a "list manager" which will accept the JOIN, LEAVE and
HELP commands. The list manager may control one or more lists. When
a user mails a list, the mail is duplicated and forwarded to every member
of the list. The people who can join and post to a list may be resitricted
or left open. This allows several different types of lists to be
created:
On successful connection the entire mail box is read and
re-written after the
POP Server has finished with it. While the mail box is held for
reading, no mail can be accepted for the user (but it will not be
lost since the sending post will try again later).
The POP Server is multi-threaded. This means that more than one
client can access the mail at the same time. The number of threads
required is surprisingly small since most clients take about
0.5 seconds to check the mailbox and only do it every (say) 10
minutes then potentially you could have 10*60*2 = 1200 clients using
only one POP thread. Obviously you are going to run into problems at
that point especially if you have some clients on a slower network
connection (e.g. PPP or SLIP). Therefore we suggest five threads and
if you have complaints, simply increase the number!
The post daemon can be configured to attempt to send mail on any
(or none) of the following events:
POST is multi-threaded and the most difficult to configure regarding
the optimum number of threads. The optimum number of threads depends
upon your link to your outbound mail server. If you have a low speed
link (e.g. 64Kbaud) you will need to have fewer threads because you
may have a couple of large mail messages waiting and each will time
out. If there is no link restriction - this is not a problem!
We recommend three POST threads for a 64Kbaud line and five otherwise.
1.5 In the Pipeline
The mail server software will continually be developed. Currently
the following major additions are being written:
Further development
of this software will be taking place. To see the latest
suggestions, please check out our
development page.
If you wish to see other things added to the software,
please check here first and if you still don't see
your idea, please let us know.
1.6 Copyright and Legal Stuff
Internet Shopper Ltd retain the copyright on
all the code and documentation supplied. We are open
to ideas about enhancements to the product. Money is an
inducement to
getting options added but if you could add another 3 days to
the week that would be even better!
All
software is provided on an "asis" basis and with no
warranty implied (for software or spelling mistakes).2. The Programs
This section details about what the servers are and what they do.
2.1 SMTP Service
This is the most complicated part of the set of mail servers. This
service waits for incoming mail from any source. It checks the mail
as it comes in to work out whether it is mail for a local or
remote destination. Once the mail has been received, it will be
written to either a local mail box or re-send queue.
SMTP can be configured to accept any mail for the local domain and
place it into a specific local mailbox. This is useful if you
simply want to accept any mail arriving at your machine.
2.2 POP Service
The Post Office Protocol Server will accept connections from all
remote clients and then insist on username and password being
correct before details of mail are released. Each time a username and
password are incorrect the details are logged. Note that two users with
different usernames and passwords
may have access to the same mail box (if that's how you want to
set it up).2.3 POST Service
The post daemon handles all out going mail. It checks the
directory for messages that have yet to be sent, reads the
destination of the mail and then attempts to connect to the
destination mail server. If it fails, it will try the gateway.
Once a connection has been made the mail will be sent onbound. Any
error after the connection has been made (e.g. User unknown) will
cause the message to be re-routed back to the message source
with the error message inserted to inform the sender of the mail.
(If this has already happened, we have infinitly bouncing mail, so
the POST services will re-route the mail to the root account).
We recommend having the Timed option set to (say) 9 minutes.2.4 LOADMAIL Utility
This is a program that will read a script and load the contents
into the Mail's registry entries. The script will need to have
the following format:
2.5 KICKPOST program
This program will tell the post service to attempt to send
any mail that is waiting in the mail directory. The program
returns immediatley POST has been kicked.
This is designed to be used in a
batch file for remote
connection to the internet provider. KICKPOST will wait
five seconds before kicking the POST service so that if
any communications protocol still needs to be eastablished, it
will not cause the POST to fail because there is no connection.
2.6 WAITPOST program
This program will wait for POST to finish sending all outbound
mail and for SMTP to complete receiving all inbound mail.
It will check for mail transfers every 30 seconds and terminate
as soon as no mail transfers are taking place.
This is designed to be used in a
batch file for remote
connection to the internet provider. WAITPOST will
always wait for 30 seconds before checking on SMTP and POST
so that if any communications protocol still needs to be
established, it will not time out too early.