HOWTO-install-Pegasus for use with Demon, MS-DOS version

by Michael Bernardi

Last-Updated: 31 December 2002
Demon-archive-name: /pub/ibmpc/dos/docs/HOWTO-install-Pegasus.txt
Posting-Frequency: Monthly
Version: 2.0

This document was originally conceived to answer two main questions, and is now split into two parts. The first part answering these questions, the second part giving details on HOW to set this combination up.

The change of name to "HOWTO-install-Pegasus for use with Demon, MS-DOS version" was inspired by the equivalent document for the Windows environment.

PART A - What bits are needed

1) Is there a better alternative to the PcElm mail program supplied with the DIS front end for DOS?

The answer to which is, that the Pegasus Mail program for DOS is an excellent mail program, written by David Harris <>. It is continually being updated and can be integrated into the DIS front end and the KA9Q mail and news transport program. It supports MIME and many other encoding formats including UUENCODE and BINHEX.

Pegasus Mail for DOS can be found at

2) What do I need to configure the DIS front end to use Pegasus Mail instead of PcElm?

Pegasus can be configured to use almost any kind of transport system providing an appropriate interface program (called a UDG) can be written. There are a number of UDGs that have been written to work with KA9Q as the transport layer. The one I would recommend is

PM-DEMON the "PMail <-> KA9Q gateway supporting Usenet News" written by Phil Randal <> which can be found at <URL:>.

Its main advantages are that it supports BOTH mail and news, and that it is well supported by its author. It allows centralised configuration ie you can have multiple mailboxes but you need only a single PM-DEMON configuration file. If necessary PM-DEMON will support KA9Q and PMail in a Novell NetWare environment. PM-DEMON is now no longer being developed, but still works well.

One of the features of the DIS front end is the ability to select new mailbox IDs via the F5 key. To include this feature, allowing selection of a PMail mailbox this way, use DISPMAIL from Claire McNab <> which can be found at <URL:>

Combining these two programs allows you to replace PcElm with Pegasus Mail, which is one of the most popular mailers on the Internet. Note: Any and all the programs listed here may be replaced with more recent versions.

PART B - How to actually configure these Programs

It is assumed that you are currently successfully using the DIS front end to send and receive mail using PcElm.


The documentation included with PM-DEMON is very comprehensive and the file README.TXT should be printed out so it can be easily examined when installing. It assumes a standard setup using either KA9Q or WINDIS

The following is taken from this README.TXT with permission.

Somewhere on your hard disk/network drive there is a directory which contains the standard Demon setup KA9Q, etc. The following directory structure is implicit to the Demon setup:

  <DemonDir>    - root directory for Demon installation
       MAIL     - incoming mail files <username>.txt, mail batched into
                  one file
       MQUEUE   - outgoing mail nnnn.txt, nnnn.wrk, sequence.seq
                  sequence.seq holds an ascii number used to generate
                  unique file names for each mail item.  This file must
                  exist before using the gateway.
       NEWS     - Contains NNTP.DAT which has two header lines followed
                  by the list of active news groups, one per line
                  (NNTP.DAT can be used by newsout.exe to determine
                  which noticeboards are to be echoed back to the Internet)
       ARTICLES - Contains a file BATCH.TXT of new downloaded news.
                  Each news item is preceded by a line starting with
                  <NewsHeader> (default "#! rnews").

Usernames are limited to 8 characters and are the NetWare user name for NetWare 3.1x users, or map directly to a DOS directory name for standalone users.

Mail is unbatched into the user's SYS:MAIL directory for NetWare users. Your NetWare shell must support UNC names (file names of the form \\server\vol\mail\nnnnnnnn\xxxxxxxx.cnm). I've tested this with VLM shells, MS Windoze 95 NetWare Client, Novell's 32-bit Client for Windoze 95, and Novell's 32-bit Client for DOS/Windows 3.1x only.

Otherwise it is placed into the <MailDir>\<username> directory (see the enclosed pm-demon.ini for full documentation of the gateway's configuration variables).

News is posted by using Demon Internet's Mail2News gateway. I believe this will work for any Internet user, not just Demon customers.

Important: the outgoing news gateway breaks RFC1036 in the following manner: It is possible to post news items with a subject line "Re: ...." without a "References:" line. Maybe one day David Harris will upgrade PMail to have RFC1036-compliant headers on Noticeboard posts...

If all the above doesn't apply to you, read no further.

To configure the gateway, do the following:

1: Run PCONFIG, selecting "User defined gateway".

Press 'Ins' to create a new gateway.

           Gateway Name : Internet
         *New mail path :
  Is ^ a program to run : N
  *New mail search mask : *.cnm
    *outgoing mail path : C:\temp (you choose)
 *Run for outgoing mail : mailout2  ~c
       *Filename format : ~d~d.CNM
Run to validate address :
  *Reply address format : (~p)
Accepts SMTP addresses? : Y
 Simple Message headers : 'Glue' Headers
   UUEncode attachments : Y
         Burst messages : N              Gateway Processes BCC: Y
     Strip gateway name : Y
 Force all mail through : N

Then copy the generated PMGATE.SYS to the same network directory as pmail, the gateway programs and pif files.

If you want the mailin program to run every time you load pmail, then the first three lines in the above should be:

Gateway Name : Internet
*New mail path : mailin ~8
Is ^ a program to run : Y

2: Edit the DEMON.BAT file to add the lines

cd \demon\spool\mail
cd \demon

(changing \demon to whatever your demon path is)

after the run of NET.EXE. This takes all the incoming mail and distributes it to your users. You should do this even if you've used the second option in the gateway configuration, as that only unbatches the current user's mail. If you only want to unbatch specified users' mail, use the line

mailin.exe user1 user2 user3 user4 ... usern

where user1 ... usern are the user ids of the specified users.

3: Before the run of unbatch,

cd \demon\spool\articles
newsin batch.txt
cd \demon

This takes the incoming news and filters it into your Pegasus Mail noticeboards, which must first be setup within DOS PMAIL. If the "From:" line does not contain a "valid" internet address (I check for the "@") the article is forwarded to your noticeboard with the header line "X-PM-Demon: 0". If the header "X-PM-Demon: <your.machine>" is present on an incoming news item, it is duplicating news already in your noticeboard, so the news item is not posted. Note that newsin.exe does not delete the batch.txt file.

4: Add the line


before the run of NET.EXE in DEMON.BAT. This scans your noticeboards and forwards local items to Items starting with the header line "X-PM-Demon: 0" had 'dodgy' "From:" lines when scanned by newsin.exe and are not echoed back to KA9Q. Otherwise, local items (which are defined as those which do not contain either the "@" symbol or the "." symbol in the "From:" line) are forwarded to KA9Q. Newsout adds the header "X-PM-Demon: <your.machine>" to each article.

5: Edit pm-demon.ini to suit your site, and place in the same directory as mail*.exe and news*.exe.

6: If you're running PMail in Windows, check the mailout2.pif file with the pif editor in windows. It must be set to run in the background. (The .pif files in this archive are already correctly configured).

7: Set up your noticeboards. How to do this is described in PMail's GUIDE.EXE. First, create a base directory NB (I place mine below the directory containing pmail.exe), and set the DOS variable NB=<path to NB directory, e.g. c:\pmail\nb). In that directory create the file NB.ID containing the line

Administrator: <your username>

I suggest using a base noticeboard for your UseNet newsgroups (e.g. NBBase=UseNet), so you know which boards are being echoed to the Internet.

Then, using DOS PMail, create the newsgroup named in NBBase off the root noticeboard.

Then, off that noticeboard, create noticeboards for your newsgroups.

The default naming convention is:
Newsgroup xxx.yyy.z123456789 will be found in
<dos environment variable NB>\<NBBase>\xxx\yyy\z1234567

This can be overridden by an entry in the [NewsGroups] section of pm-demon.ini.

For example,


will look for comp.lang.c++ and comp.lang.c++.sources in
<dos environment variable NB>\<NBBase>\comp\lang\cpp and
<dos environment variable NB>\<NBBase>\comp\lang\cpp\sources

NBBase can point to any noticeboard at any level, so
NBBase=stuff\from\internet is valid. As long as there's a noticeboard in the directory mapped either in the [NewsGroups] section or by default it doesn't matter. The noticeboard can be called whatever you like - NEWSOUT.EXE does a reverse mapping to the newsgroup name and inserts the correct "Newsgroup:" line.

To verify you've configured everything correctly, run pmdchk.exe. PMDChk /p will display a screenful at a time. PMDChk looks for a pmgate.sys file (Pegasus Mail standalone configuration file) in the directory specified by the "PMailDir" entry in the [PMDChk] section of your pm-demon.ini file. If that directory does not exist, it searches the directories specified in your DOS Path for a pmgate.sys file.


The following is taken from this DISPMAIL.DOC with permission.

Unzip the archive, and copy the file DISPMAIL.EXE to your demon root directory: on a standard installation, this will be C:\DEMON.

Use a text editor (not a wordprocessor) to edit DEMON.BAT.

Find the section beginning with the line ":mail", and change the line reading "CD C:\DEMON\PCELM" with "CD C:\DEMON". Alternatively, you may prefer to use CD to change to the directory in which you keep the PMAIL program.

In the next line, replace the command "pcelm" with "dispmail".

Once this is done Pegasus Mail will replace PcElm as your Mail Program.

Suggestion for additions and improvements to this text are always welcome. Note all of the above programs seem to have ceased development, therefore other alternatives might be concidered. However since they still do the job better than most other softwear....

Copyright 1996/2002 by Michael Bernardi <>
This file may be freely distributed provided that it remains unedited from its current form. It may be printed for personal use. Sections may be quoted for reference providing its source is given.


The Pegasus Mail Addons Guide can now be found at:-

Copyright 1996/2002 by Michael Bernardi <>
This file may be freely distributed provided that it remains unedited from its current form. It may be printed for personal use.
Sections may be quoted for reference providing its source is given.

Last Updated: 1 January 2003

Michael Bernardi