DList - Quick Overview
DList is a mailing list server that is
part of the DMail package.
General settings for DList are contained in the main
configuration file, dmail.conf.
In order to create a list, simply add a line like,
list listname
setting in the file, lists.dat which you will find in the
dlist_path directory. Then make DSMTP
reload the configuration file, dmail.conf (DList regularly
checks the configuration and lists.dat files for changes, so it does not need to be sent a
reload command).
Generally the sysadmin would set up a list, and then users would send an email to the
'listname-request' address to 'subscribe' themselves to the list.
Users, in general, will only interact with the list by sending emails, either directly
to the list to be 'posted', or to the listname-request address if they wish to join the list
or send it commands. See:
DList mail commands
When users join the list they are normally sent this list of commands so that they know
what the list can do for them.
To modify DList settings you can directly edit dmail.conf and lists.dat with a text
editor, use the windows management utility DMAdmin
or use the web based tool, NetAuth.
Setting |
Default |
Example/options |
Description |
access_join |
anyone |
anyone,*netwinsite.com, |
Controls who can join the mailing list |
access_leave |
anyone |
moderator |
Controls who can unsubscribe from the mailing list,
by default anyone can unsubscribe anyone else.
in version 2.5d (2.4k) and above:
members: (can unsubscribe themselves, moderator can unsubscribe anyone)
moderator: (only moderator can unsubscribe - members cannot
unsubscribe themselves) |
access_post |
members |
moderator |
Controls who can post messages to the mailing list |
access_who |
members |
anyone |
Controls who can retrieve the list of current members |
archive |
false |
true |
If set, DList will record all incoming messages in an
'archive' sub directory, off the list's directory. |
bounce_remove (added in 2.8h) |
false |
true |
If set, DList will log all bounces that it receives, and if it can work out that the
bounce was because of a permanent error, it will remove that address from the mailing list.
DList will also send a summary email to the moderator each day recording any addresses which it has
removed from the list and the bounce error that was the reason for the removal.
This is a new 'beta' setting, so let us know how it goes if you try it. You might like to try
the log_bounce setting as a first step to turning on this setting.
|
domain |
(none> |
domain mydomain.com |
Specifies the domain that this list should exist on where you do not want it to be on
your first host_domain. NB: To allow listname re-use on different domains see the note,
Mailing lists on Virtual Domains
|
footer (version 2.4h and above) |
(none) |
footer
c:\dmail\dlist\listname\footer.txt |
The full path to a file that you want added onto the
end of all messages as a footer. In version 2.8e and above this is
only added onto all TEXT messages, HTML version also added see below. Note that as of 2.9g,
template variables can be used in footers. See Template Footers
for details. |
footer_html (version 2.8e and above) |
(none) |
footer_html
c:\dmail\dlist\listname\footer_html.txt |
The full path to a file that you want added onto the
end of all HTML messages as a footer. Note that as of 2.9g,
template variables can be used in footers. Template Footers
for details. |
join_cookie |
false |
true |
If set, when users join the list they will be asked to respond with a specific cookie
(number) to prove that they are real humans. This setting prevents people from subscribing
other people, or worse, other lists to an existing list. Note: a
cookie will not be sent if the subscriber is a moderator or if access_join
for the list is set to moderator or password. |
language_file (version 2.9d and above) |
(none) |
newproducts.dat |
Used to specify a language file for a particular list.
That language file is used to translate most of the phrases generated by
DList for that list. Documentation on language translation is available
here. |
log_bounce (version 2.8h and above) |
false |
true |
This is a debugging setting that may be more generally useful. It
causes dlist to log all addresses that bounce and the reason for the bounce to
the file, bounces.log, in the list home directory. The log is appended to
for every bounce received when sending any messages to the list. See also,
bounce_remove. |
list |
(none) |
dnews-discussion |
The name of the list, this cannot contain spaces and
must be the first setting for each new list in lists.dat |
max_size |
40 |
100 |
Limits the maximum size of an item that can go
through the mailing list in kbytes. NB: this setting
applies to messages to the -request address as well
as the posting address. |
max_per_user (2.4g and above) |
200 (changed from 50 in vers. 2.5d) |
1000 |
Sets the max number of messages allowed to be
posted to all lists on the server per user per hour.
Note: the count is per user for posts to ALL
lists, whereas the setting is per list. So the count is
global but whether it applies to a list is list
specific (the default is 200). |
moderator |
(none) |
fred@netwinsite.com |
A list of one or more moderator email addresses, a
moderator often has extra access rights, like the ability
to subscribe other people etc. Separate multiple entries
with spaces or tabs (or commas in version 2.5d and above), emails are only
sent to the first moderator in the list, but any moderator can send
moderated messages. |
no_processed_message (version 2.9d and above) |
false |
true |
This setting is very powerful. If set to 'true' for a particular
list, no command processed messages are sent by DList for that list.
This means that users will only see list posts; they will get no response
to any DList commands which they send (i.e. who, lists etc.). This would only
really be useful if you wanted to subscribe users to a list without
them receiving notices.
|
no_welcome_message (version 2.9d and above) |
false |
true |
By default, DList sends a welcome message to each user
directly after that user successfully subscribes to a list. If
set to 'true' for a particular list, then users subscribing to that list
will not be sent a welcome message. |
reply_to_user |
false |
true (also in version 2.5f and above, user@domain) |
If set, the reply-to header in each message will be
pointed to the original poster, rather than the mailing
list, this is recommended for large mailing lists. In
versions 2.5f and above you can specify an address
as the reply address for ALL messages posted to the list, in place of true . If
given, posted messages will have any Reply-To:
header turned into X-Reply-To:, and the address
given is added to a new Reply-To: header. |
status_interval |
7 |
1 |
Period in days between automatic status reports being
sent to the moderator. |
skip_mailer_check |
false |
TRUE |
If TRUE, DList will not ignore messages
from users called, MAILER-DAEMON (all in capitals). These are
normally bounced messages and so would not normally be wanted
as posts to the list. |
skip_postmaster_check |
FALSE |
TRUE |
If TRUE, DList will not ignore messages
from users called, POSTMASTER (all in capitals). These are
normally bounced messages and so would not normally be wanted
as posts to the list. |
subject_prefix |
(none) |
Juggle: |
This string will be added to the front of every
subject line of messages from this list. This makes it
easy for people to sort list messages out from other
messages. |
title |
(none) |
N.Z. Juggling |
A title for the list, shown in headers and lists
output. |
Adding users to a list
Usually users would add themselves to a list by sending a
message to the list request address, e.g. listname-request@domain
with the word subscribe in the message body.
Dlist will then add them to the users.lst file for that list.
Users.lst for each list is stored in that list's directory (named
after the list) off the dlist directory (probably \dmail\dlist\listname\users.lst
or /usr/local/dmail/dlist/listname/users.lst )
To add a number of users you have two options:
- Add yourself as a moderator for the list and send the listname-request
address a message with multiple subscribe lines in the body.
So, as a moderator you send the following email:
To: listname-request@domain
From: your_moderator_address
subscribe bob@domain1.com
subscribe judy@domain1.com
subscribe george@domain99.com
to join up the email addresses,
bob@domain1.com
judy@domain1.com
george@domain99.com
- Directly edit the users.lst text file for the list and add the email
addresses, one per line.
So to add the same three users you might edit the users.lst file to
look like this:
u:tam@1.2.3.4 f:Tam Willacy p:0 t:0
bob@domain1.com
judy@domain1.com
george@domain99.com
where the first line is an existing user on the list.
Don't worry about the format of lines for existing users. The next
time DList has to write anything to the users.lst file
it will add the email addresses that you have pasted/typed in correctly.
Adding Users' Real Names
In version 2.5f and above, enter the user's email address with the full name field as per an
email client to specify the
user's real name when you are subscribing them using either method,
e.g.
sending subscribe commands:
subscribe "bobby" bob@domain1.com
subscribe "Judy Simpson" judy@domain1.com
subscribe george@domain99.com "Georgie Porgy"
directly in users.lst:
u:tam@1.2.3.4 f:Tam Willacy p:0 t:0
"bobby" bob@domain1.com
"Judy Simpson" judy@domain1.com
george@domain99.com "Georgie Porgy"
When the user subscribes themselves, the real name is taken from their
email address (from the 'From' header).
Moderated lists
This is still being written :-)
There are two ways of posting into a moderated list, depending on
whether the access_post setting is set to Password or Moderator:
- Password: DList accepts the message from the user and sends it
to the
moderator, who if they want to approve it then submits it to the list
with the first line of message body being
approve Password
e.g.
approve xxxx
For this to work the access_post setting for the list
in lists.dat
must be set to 'Password' and the list password setting must
match the password given in the approve line, e.g.
access_post Password
password xxxx
- Moderator: The return address of the incoming message matches
that of
the moderator setting and the access_post setting is set to
Moderator in the lists.dat file, e.g.
access_post Moderator
moderator moderator@domain
where moderator@domain is the address that must match.
Notes:
- There must always be a moderator for a list set to password post access
because password is a more secure moderated list.
Archives and Files
This is still being written :-)
DList lists can be set to save an archive of all messages by setting the
list specific setting in lists.dat,
archive true
If this is set then DList will create the archive messages in a subdirectory
called, 'archive' below the list's directory, e.g.
c:\dmail\dlist\listname\archive\1.msg
c:\dmail\dlist\listname\archive\2.msg
etc.
Then if the user sends an email to the listname-request address with the
command 'dir' in the message body, DList will send
back a message telling the user how many archived messages there are.
If the user wants one of the messages, they can send the
'get' command to fetch the archived message.
If you want to provide other files to the list members, you
create your own directory off the list's directory called, files, and
put the files that you want to provide there, e.g.
c:\dmail\dlist\listname\files\picture.jpg
Then, when the user does a 'dir' command, they will also be shown a list
of other files available.
For details on the list commands see,
DList Email Commands
Template Footers
As of DMail 2.9g, DList will treat footer files as templates. This means that you will be able to use variable names in the footer file. These names will be replaced with the actual values as the message is sent.
A variable name is distinguished from plain text by enclosing it between two pairs of pipe ('|') symbols. For example, a template file could contain the following:
---
This message was sent from the ||list_name|| list.
There are four variable names currently available. These can be used in any combination, and repeated any number of times in a template. Note: the larger the template, and the more variable names it contains, the longer each message will take to send. The variables available are:
-
list_request_address
list_request_address is replaced with the address to which users can send commands (e.g. 'subscribe', and 'unsubscribe'). For example:
To unsubscribe from the list, click mailto:||list_request_address||?body=unsubscribe
could become:
To unsubscribe from the list, click mailto:newproducts-request@mydomain.com?body=unsubscribe
-
list_address
list_address is replaced with the address of the list. For example:
To send a message to the list, use the address ||list_address||.
would become:
To send a message to the list, use the address newproducts@mydomain.com.
-
list_name
list_name is replaced with the name of the list. For example:
Welcome to the ||list_name|| mailing list!
would become:
Welcome to the newproducts mailing list!
-
list_member
list_member is replaced with the address of the person to whom the mailing list message has been sent. For example:
Welcome to the ||list_name|| list, ||list_member||!
To unsubscribe, click mailto:||list_request_address||?body=unsubscribe%20||list_member||
would become (note that the %20 will become a space in the email client launched when the user clicks the hyperlink):
Welcome to the newproducts list, test0@mydomain.com!
To unsubscribe, click mailto:newproducts-request@mydomain.com?body=unsubscribe%20test0@mydomain.com