The Basics of DMail  
- Email Servers  
This manual describes DPOP a POP3 mail server, DSMTP an SMTP mail server, and DList an email list server. Together they provide a complete email server solution for small and large internet and intranet service providers.

DPOP is a highly efficient scalable POP3 mail server which operates as a single process and can handle a large number of concurrent email client sessions. It is a drop-in replacement for popper and other POP3 servers. It provides an efficient and scalable solution for email providers. It places no unnecessary limits on concurrent connections. Smaller systems may optionally limit concurrent connections to a few hundred. The total number of user or client email accounts may be limited by the type of license. (for example <5, <50, <500 or unlimited versions are available) Systems with 500,000 client accounts and many hundreds of concurrent connections are quite achievable even with relatively modest hardware.

DSMTP is an efficient and scalable SMTP mail delivery server. It operates as a single process and can handle a large number of concurrent connections. It is a drop-in replacement for sendmail. It works with DPOP to provide a complete email solution. When a user sends email their email client package connects to an SMTP server (DSMTP). If the email is for a local user DSMTP writes directly to the dropfile. If the email is for a remote site then DPOP will connect and transfer the email as required.

DList is an easy-to-use and efficient email list server. It allows mailing lists to be easily set up and maintained. It can be entirely controlled via email. A Web based manager for the DList administrator and email list moderators will be available shortly.

Table of Contents:


Introduction to Internet Mail Servers

The provision of internet email depends on a number of software components working together. These days most email users access email by running an email client application such as Eudora or Pegasus mail on a personal computer. This client application talks to two server applications which are normally located on a host machine which is run by an internet service provider or local computer service group.

To provide internet email to computer users, three applications must work together; the client, the collection server and the delivery server. The collection server is what an email client connects to in order to collect or read the user's email. The delivery server is what the client connects to when it wants to send a message. 

An email client sends outgoing mail to an SMTP server which transfers the mail to other SMTP servers and eventually one of them stores it on the machine from which the client will read it. DSMTP is Netwin's SMTP server product. It would often replace applications such as sendmail.

The most common collection servers use the POP or POP3 protocol when interacting with the client. Such a server is referred to as a POP server. DPOP is Netwin's POP3 server product. It would often replace applications such as popper, or qpopper.

A fourth optional component of most email systems is an email list server. Email lists are lists of email users that you can send messages to as a group. For example you might have a group of users all part of the social club organizing committee. When discussing the organization of social events via email you need to be able to send messages to all of the committee members. This is sometimes handled by a simple list of email addresses stored on the user's PC within the email client software. This is very inefficient in that the same message is sent repeatedly form the client PC to the host server and then perhaps from there to various other sites. A more efficient method is to have a list server running alongside the mail server. It accepts messages for a pseudo user named social_cmty, for example, and passes them on to all users listed on its social committee list. This avoids the need to repeatedly send messages, and avoids the need for the users to all maintain a list of people on the committee. It can also provide other features such as an archive of emails to the list, a set of shared files which list members can download etc. DList is Netwin's email list server product. It would often replace such applications as majordomo.

Traditionally the various parts of the email server family, particularly on UNIX platforms have not been designed with efficiency in mind, email was traditionally short test messages and the numbers of users small. Each connection was a sort of pseudo login starting a new process up and interacting with the client software. With much larger numbers of users and larger email messages which often contain file and image attachments more efficient systems are required. The management of the components of an email server system and the gathering of usage statistics was also problematical. The setup and maintenance of mailing lists was often sufficiently complex as to deter many small groups of users from using real mail lists. The NetWin suite of mail products; DSMTP, DPOP and DList were designed to overcome these limitations and to allow the hosting of complete mail systems on quite modest hardware. The ease of management of email servers was also paramount in the design.


DNS (MX) Entries

You add DNS entries that allow other servers on the internet to resolve your IP address from your domain name.

If you have just one domain then you will probably only add a simple DNS entry, called an A name. A names resolve a domain to an ip address, e.g. netwinsite.com to 207.230.97.10 . Try going to a command prompt and entering,
nslookup <cr>
netwinsite.com <cr>
exit <cr>
hopefully it will give you our ip address.

If you have multiple domains on your email server then you will probably add MX records for your virtual domains. These return your main domain which in turn resolves to the IP address of your email server. So again using the nslookup program try,
nslookup <cr>
set type=MX <cr>
netwinsite.com <cr>
exit <cr>
hopefully it will give you the the domain that hosts our site in the United States.

Other things you might want to read up on are Cnames and rotating DNS entries.

Here is a good place to start, DNS Resources Directory.


Stopping, Starting and Re-Starting the DMail Servers

After changing a configuration setting in the configuration file, dmail.conf, the DMail Servers need to be notified.

Reloading a Server
Re-Starting a Server
Stopping a Server:
Problems Stopping a Server?
Starting a Server:
Servers Starting at Startup

Reload:

Most re-configuration changes, e.g. adding forward settings or aliases, to the DMail servers (dmail.conf changes) only require the servers to be instructed to reload the configuration file.

A reload instructs the server to re-read the configuration file without going offline. DSMTP and DPOP can be 'reloaded' separately and DList does not require reloads. To do this you can:

1. enter the reload command at a command prompt using the command line programs tellsmtp and tellpop:

tellsmtp reload
and
tellpop reload

2. Issue the command(s) locally or remotely with the DMAdmin Windows GUI administration tool, by selecting the 'Reload configuration files' command to be sent to each of DSMTP and DPOP. The remote administration using DMAdmin from a windows box is possible no matter whether the servers are running on Windows or a UNIX based platform.

Note: A reload can take up to about 30 seconds for a very large dmail.conf file and require substantial processor useage. So to avoid performance loss with very large dmail.conf files (e.g. 500+ domains) you should probably automate your reloads to a half hourly or hourly interval and notify domain administrators and customers of this buffering of changes.

Re-Start

Here are the suggested ways to restart a server for each platform. More details on starting and stopping the servers is provided in the sections below.

Windows Platforms:
a) CLick 'Stop All' button followed by the 'Start All' button in DMAdmin.
b) CLick on the individual server's 'Start server_name'/'Stop server_name' button on the appropriate server tab in DMAdmin.

UNIX based Platforms:
For DSMTP and DPOP enter,

tellsmtp shutdown
tellpop shutdown

followed by,

/usr/local/dmail/dm_start.sh
/usr/local/dmail/dpop_start.sh

You do not need to restart DList after changing dmail.conf or lists.dat settings.

Stopping a Server:

  1. enter the shutdown command at a command prompt using the command line programs tellsmtp and tellpop:

    tellsmtp shutdown
    and
    tellpop shutdown

  2. Issue the command(s)locally or remotely with the DMAdmin Windows GUI administration tool, by clicking the 'Stop server' button on the appropriate server tab.
To stop DList on UNIX based platforms simply kill the DList process.

Problems Stopping a Server?

On Windows:
You will find that you cannot 'end' DMail server processes in the task manager because they have been started by the DWatch program, which is probably being run as a service. This applies to all programs spawned by the service directly or spawned by a sub-process of the service, e.g. an external authentication program (nwauth.exe etc.)or a dslave program.

So you must stop the dwatch service in the Services dialog of the Control Panel and it will stop all the DMail servers. If one of the servers or a program that it has spawned still appears on the task list after shutting down the dwatch process then you will have to re-start the machine to make it stop.

On UNIX based platforms:
Simply kill the offending process.

Starting a Server:

Windows Platforms:
If you have stopped just the server then you should start it again by clicking the 'Start Server' button on the appropriate server tab with the DMAdmin administration tool.
If you have stopped DWatch then you should start it again either in the Services dialog of Control Panel or by running the executable (e.g. \dmail\dwatch\dwatch.exe) from a command line. Once started DWatch will start up all DMail servers not already running.

UNIX based Platforms:
Use the startup scripts to start the servers individually or the dwatch process which will start and look after the individual servers. Here are the default locations of the startup scripts:

DWatch: /usr/local/dmail/dwatch/dw_start.sh
or
DSMTP: /usr/local/dmail/dm_start.sh
DPOP: /usr/local/dmail/dpop_start.sh
DList: /usr/local/dmail/dlist/dl_start.sh