Configuration Settings Specific to DPOP:
This page details only those
dmail.conf settings which apply specifically to DPOP.
For more settings see:
Settings
Common to DPOP and DSMTP,
Settings
Specific to DSMTP and Settings
Specific to DList
Note: After modifying a DPOP setting you should do a
tellpop reload command
or send a reload command to the DPOP server using
DMAdmin.
Compulsory settings:
(If omitted, DPOP may function unpredictably,
or not at all.)
NONE: specific to DPOP, but note there are some
common compulsary
settings
Common Optional settings:
(These settings may be omitted, and all have reasonable
defaults. ! remember - you can
get back to this list after using a hyperlink by using your
browser's 'back' button)
bin_path | Path for user directories containing 'Bin' (i.e. DPOP's ordered drop file format) and msg index files.
|
bulletin_path | Directory to contain bulletin messages of form nnn.txt.
|
bulletin_from | Text to be sent as from line in all bulletins. Default is 'Email System Administrator'.
|
dpop_host | The TCP/IP address of the host DPOP is running on.
|
dpop_path | Installation directory for DPOP and manual pages etc.
|
hash_bindir | (DPOP 2.9f and later) Specifies whether to hash directories contain (default is false).
|
hide_old_bulls | Don't show existing bulletins to new users (default is false).
|
manager_ip_address | IP addresses manager commands can come from (affects tellpop and DMAdmin etc.).
|
manager_ip_name | Domain names that manager commands can come from (affects tellpop and DMAdmin etc.).
|
manager_password | Password for valid manager commands (OBSOLETE after DPOP version 2.0 - no longer in dmail.conf).
|
min_space | (DPOP 2.9g and later) Minimum space (in MB) required by bin files for DPOP to operate.
|
pop_port | Allows the the port number pop3 clients will access to be set to a non-standard value.
/td> |
stats_path | Path for log files of per connection usage statistics, if set turns on statistics logging.
|
use_drop | For converting to maildir.
|
user_ip_address | IP addresses user connections can come from.
|
user_ip_name | Valid domain names user connections can come from.
|
valid_users | Valid usernames to get their mail here.
|
Obscure Optional settings:
(These settings may be omitted, and all have reasonable
defaults.)
authent_cache | Now a common setting - Number of authentication requests to cache, External authentication only.
|
authent_timeout | Now a common setting - Timeout (in seconds) for external authentication requests.
|
bin_pfull | Criteria for compacting. Bins with less than bin_pfull get compacted.
|
check_gid | (UNIX only) Set if gid for drop files should be checked before DPOP accesses drop or bin files. Default is no check and set no group access.
|
check_owner_disable | (Unix only) Set if user id for drop files should not be checked. Default is to check.
|
crlf_stored | Is cr and lf stored at end of lines on this system.
|
drop_ext | Change-over compatibility; Drop file extension. Default is none.
|
drop_kill | Change-over compatibility; File related to drop file to remove after drop file has been burst.
|
drop_old | Change-over compatibility; Process temporary files left by previous popper.
|
drop_prefix | Common Setting!
|
drop_users | Specifies users who need to be able to read mail from another popper as well as DPOP (i.e. convert from bin file back to drop file).
|
expire_age | When expiring old emails from server, remove messages more than expire_age days old.
|
expire_mins | Start a new expire set every this many minutes, unless last one still processing.
|
expire_size | When expiring old email from server, remove messages larger than expire_size bytes.
|
language_file_dpop | Specify a language file for DPOP to use.
|
log_status | Time (in mins) between logging DPOP status to log file.
|
lowercase_username | Now a common setting to both DSMTP and DPOP (2.4e and above).
|
lowercase_password | If true, DPOP will always set passwords to lower case before using them for authentication (auth module must have lower case passwords or be case insensitive).
|
max_log_size | Max size, in bytes, for DPOP log file before renaming and starting new one.
|
max_sessions | Limit on number of concurrent sessions connected at one time, DPOP will try to make this many available.
|
msg_separator | Change-over compatibility; Message separator character if not defined then we don't use one.
|
pop_timeout |
How long DPOP waits (in seconds) before assuming a connection has gone and close TCPIP channel.
|
pop_event_log |
Allows you to specify which POP events get logged: last,uidl,burst,list,listn,stat,user,pass,quit,retr,dele,rset.
|
pop_welcome |
Allows you to specify a welcome message that is displayed when a user connects to DPOP.
|
retr_chunk |
Max bytes to send in one chunk for retrv command. Default is 10000.
|
set_user_owned |
Specifies whether DPOP should set ownership of bin path and contents to that of the user. Default is false.
|
slave_number |
Sets the number of DSlave processes (sub processes of DPOP) for handling burst of large drop files (we recommend 4).
|
slave_burst_size |
Burst drop files of this size (in bytes) or larger with a DSlave process.
|
slave_timeout |
Timeout (in seconds) for commands (e.g. burst) given to DSlave processes. Default 100 seconds.
|
tellpop_host |
specifies the address that tellpop should connect to for talking to DPOP.
|
DPOP configuration settings
This setting specifies the directory for user work files,
that is, the username.bin sub directories. These contain bin
files for processed messages and message index files. The
bin_path defaults to the same as the work_path. It is often
set to be the same as the drop_path. In this case, a user with
a drop file /var/mail/fred would have a bin directory
/var/mail/fred.bin
Examples:
bin_path drop_path
bin_path /usr/local/bins
This setting controls the criteria for compacting message
storage bin files. Files with less than bin_pfull bytes used
/ total size are compacted when a user connection is closed.
The default setting is 0.5
Examples:
bin_pfull 0.9 |
# This would make compacting
happen more often |
bin_pfull 0.1 |
# This would make compacting
happen less often |
bin_pfull 0 |
# This would stop bins ever being
compressed |
Path for user directories containing the bin and message
index files. Each user's bins and msg index files are stored
in a subdirectory /username.bin below the bin_path. The
default is the same as the work_path. The usual choice is to
either store the bin files in the same place as the drop
files or all together in the DPOP work_path.
Examples:
bin_path work_path |
# will set it to same as work_path |
bin_path drop_path |
# will set it to same as drop_path |
bin_path path/for/binfiles |
# will set it to path/for/binfiles |
In addition to mailing lists, DMail provides a bulletin
facility. This setting determines what text will be sent in
the FROM: field of bulletin messages. The default setting is
Email Administrator.
- A bulletin directory is specified in the dmail.conf
file with a setting: e.g. bulletin_path
/var/mail/bulletins
- This directory contains files with names of the form
nnn.txt, where nnn is the bulletin id number
- Any user connecting to DPOP will receive any of these
files they have not already seen as an email message
- For each user, DPOP stores the id number of the
last bulletin seen by this user.
Click here for more detail: Description
of Bulletin Facility
Examples:
bulletin_from Your lord and master
In addition to mailing lists, DMail provides a bulletin
facility. This is useful when you need to send a email
message to all users but without the overheads of duplicating
and sending the same message to all users. The bulletins are
organized as follows:
- A bulletin directory is specified in the dmail.conf
file with a setting: e.g. bulletin_path
/var/mail/bulletins
- This directory contains files with names of the form
nnn.txt, where nnn is the bulletin id number
- Any user connecting to DPOP will receive any of these
files they have not already seen as an email message
- For each user, DPOP stores the id number of the
last bulletin seen by this user.
Click here for more detail: Description
of Bulletin Facility
Examples:
bulletin_path /var/mail/bulletins
check_gid Unix Platforms Only
Set if Unix group id for drop files should be checked by
DPOP and set by DSMTP when writing to drop files.
The default is for no check to be done and the drop
file's group ID to be set to the gid for the user (or the gid for
the uid which is returned from the external authentication
routine).
Note: if check_gid is not specified, the file protection
on the drop file is always set to no group access (0600) by DPOP.
DPOP always sets the owner of the drop file to the user.
NB: If set, DSMTP sets the group ID for the drop file to the specified
GID if it exists.
No check is ever made on Windows platforms.
NOTE: you must RE-START DPOP after changing this setting, a tellpop
reload is not sufficient.
This setting may be required so that your SMTP server can access
the drop files - this should not be necessary for DSMTP, but may be
for non-Netwin SMTP servers.
Example:
check_gid |
mail |
(would
check group was mail and set group to mail) |
check_gid |
netmail |
(would
check group was netmail and set group to netmail) |
no check_gid setting |
|
(would
set to no group access) |
DPOP normally checks that a user's drop file is owned by
the user. If it is not, it reports an error in bursting the drop
file. If you do not wish DPOP to make this check, set
check_owner_disable to true. Think carefully before setting this!
No check is ever made on Windows platforms.
Example:
check_owner_disable true
This should be set true if cr and lf are normally stored
at the end of each line in a text file. DPOP will normally
choose the correct default for the system it is running on.
Thus, the default is true for Windows NT and false for Unix.
In some rare cases it may be necessary to use this setting
explicitly.
Examples:
crlf_stored true
crlf_stored false
The TCP/IP address of the machine DMail/DPOP is running
on.
- Do not use this setting anymore, use tellpop_host
- There is no default for this setting so it must be
specified in dmail.conf. In recent versions (2.5f and above),
the default is the first host_domain setting, so you
do not need to set this setting.
Examples:
dpop_host fred.dr.ac.nz
or
dpop_host 161.39.22.44
Specifies the installation directory for DPOP. The manual
and utility applications are stored here. The default when
DPOP is running as part of DMail is a directory called DMail,
e.g. for Unix the default is /usr/local/dmail and the default
for NT is C:\dmail. The DMSetup
installation wizard creates the DMail directory and points
all of the server's home directories at it, i.e. dpop_path,
dsmtp_path and dlist_path are all made to point to the
directory called DMail by default.
Examples:
dpop_path /path/for/dpop
dpop_path d:\network_apps\dmail
If drop filenames have a standard extension then it can be
specified with this setting. For example if all drop files
had a .mail extension then you would use the setting drop_ext
.mail
The default setting is no extension. If using DSMTP then
drop_ext is not required.
Example:
Specifies a file related to the drop file to delete after
processing the drop file.
On some systems, some form of index file has to be killed
after a drop file has been processed. For example, for user
Fred there may be a Fred.idx which needs to be killed.
The default setting is none.
Example:
drop_kill |
.idx |
(will delete
Fred.idx after processing drop file Fred) |
Process temporary files left by previous popper.This
setting normally only needs to be set for a short time after
changeover to DPOP from some other popper. It tells DPOP to
look for and process files with a particular extension before
processing the normal drop files. For example, a previous POP
server may have copied some messages into a temporary file
called username.pop and these will need to be processed
before the normal drop file is processed.
The default is none, i.e. don't process any old temporary
files.
NB: In version 2.7m, if the drop_old setting contains a
separator, DPOP will use the given path rather than
thinking it is a suffix and tacking it onto the drop file name.
So DPOP will read drop files from another path given by this setting,
as well as reading its ones in the hash directory. This lets
you move to another hashing method. NB: this does not mean
old bin files will be checked so you have
to drop all users first, e.g. tellpop drop_all.
Examples:
drop_old |
.oldone |
(Before
processing drop file for user fred process
fred.oldone) |
drop_old |
.~.pop |
(Before
processing drop file for user fred process file
.fred.pop) |
NB: Do NOT use this setting unless you understand it! :-)
A wild card list of users who access their mail from pop3
AND the Unix command line.
For these users we have to convert any undeleted mail back to
a drop file
after each connection. This degrades pop3 performance for
those users so use sparingly.
Note: This is not needed if users ONLY read mail from a Unix command
line client and never get their mail through DPOP or if they
always collect their mail using DPOP.
The default is none.
Examples:
drop_users |
unixman |
|
drop_users |
fred,john,bill |
|
drop_users |
uni*,JSmith |
|
drop_users |
billsmith |
|
When expiring old emails from server, remove messages more than expire_age days old if they are
also bigger than the expire_size setting.
Default is, 366 days, i.e. older than 1 year.
Example:
expire_age 180
would expire any messages older than 180 days old if the expire_size criteria was also met.
Start a new expire set every x minutes, unless the last one is still processing.
Default is 0, which means to never expire rather than expire continously. To expire continously (not recommended) set
it to 1.
See, expire_age and expire_size for setting
the expire conditions.
NB: the expire conditions are ANDed together, i.e. the message must be older than expire_age and larger
than expire_size to be deleted.
When a message is expired, DPOP will leave the user one small (translatable) message stating the details of the
mail expired. Each user can have no more than one such message. See the manual tellpop
expire command for further details.
Example:
expire_mins 180
would expire any messages older than 180 days old.
When expiring old email from server, remove messages larger than expire_size bytes if they are
also older than expire_age days old.
Default is, 1000 bytes, i.e. delete messages greater than 1Kbyte.
Example:
expire_size 500000
would expire any messages bigger than 500Kbytes if the expire_age criteria was also met.
Versions of DPOP prior to 2.9f did not hash directories containing binfiles if the bin directory specified by the user was different to the drop directory.
This problem, and other inconsistencies with the hashing algorithms, were fixed in 2.9f. This means that in certain circumstances, new locations will be used for bin files.
-
If you were previously using a bindir setting that was not the same as your drop path, users will loose mail in their old bindirs the first time they log in. This can be avoided by setting hash_bindir to false, which is the default setting. If you would rather hash_bindir was true, you can correct the problem with the latest version of the fixhash utility.
-
If you were previously using a bindir setting that was the same as your drop path, you can ignore the hash_bindir setting. The only users who may lose mail are those whose bin filenames would change with the new hashing algorithm. These users can be identified and corrrected with the latest version of the fixhash utility.
If set to true, DPOP will not show existing bulletins to new users.
The default is false, that is, DPOP will by default show all existing bulletins to
a user the first time he/she checks mail.
Example:
hide_old_bulls true
If set to true, DPOP will use the specified file for language
translation. DPOP will use information in the language file to replace
certain phrases which it generates. See
http://www.netwinsite.com/dmail/language.htm for details.
Example:
language_file_dpop german.dat
Sets the time between logging DPOP status to the log file
in minutes.
The default is 10 hourly, i.e. 600
Example:
log_status 120 |
(for logging every 120 minutes) |
If set to true, DPOP will always set passwords to lowercase,
so that case is essentially ignored. The default setting is
false - i.e. passwords are case sensitive.
NB: if you set this setting then you need to ensure that
all passwords are added to your user database in lowercase.
Example:
lowercase_password true
This setting specifies a wildcard list of IP addresses
which manager commands can come from. Specified in NetWin
wildcard format: (*-wild, !-NOT, separated by commas. NO SPACES ALLOWED). Often set to * as manager
commands must also contain the manager password. When
Tellpop
or the DMAdmin package are used remotely, a
challenge-encrypted-password response sequence is used.
It is
recommended that you include the '127.0.0.1' address and your server's
address in order for the remote manager tools to be allowed to connect.
Note: This setting will not allow access unless either of the
user_ip_address or
user_ip_name settings also allow access.
Examples:
manager_ip_address *
manager_ip_address 127.0.0.1, your.local.machine.name
manager_ip_address 161.29.2.*
manager_ip_address 161.29.2.37
This setting specifies a wildcard list of domains from
which manager commands can come. Specified in NetWin
wildcard format: (*-wild, !-NOT, separated by commas. NO SPACES ALLOWED). Often set to * as manager
commands must also contain the manager password. When
Tellpop
or the DMAdmin package are used remotely, a
challenge-encrypted-password response sequence is used. It is
recommended that you include the 'localhost' name and your server's
name in order for the remote manager tools to be allowed to connect.
Note:
1. This setting will not allow access unless either of the
user_ip_address or
user_ip_name settings also allow access.
2. This setting can only work if you have allowed reverse name lookups,
i.e. lookup_names true.
Examples:
manager_ip_name localhost, your_machine_name
manager_ip_name *
manager_ip_name *.fred
Specifies the password to be used for manager commands.
This setting is now obsolete (from DPOP 2.0) Use command
Tellpop password xyz instead. The password is no longer sent
as clear text and is stored encrypted in a separate file
tellpass.dat
Example:
#manager_password xyz
Specifies the minimum drive space (in MB) required by DPOP to operate correctly. DPOP will monitor the available space on the drive where bin files are created.
If the free space falls below 1.2 times the minimum space required, warnings will be logged. If the free space falls below the minimum, no users will be permitted to log in until more free space is provided. The default value for min_space is 10MB.
E.g. a setting of min_space 10 will make DPOP start logging warnings when free space falls under 12MB, and prevent users logging in when free space falls under 10MB.
Example:
min_space 10
This setting can be used to limit the number of concurrent
POP users. The default setting is 200. The number of
concurrent connections is sometimes limited by other factors
such as the number of available file handles. DPOP needs
several file_handles per connection and on some versions of
Unix, file_handles per process are limited to 256. On NT and
other versions of Unix this limit may be many thousands.
NB: DSMTP has its own setting to limit TCPIP channels used,
tcp_max.
NB: you must be careful when changing these settings that your OS can
support the number of file handles needed by them. You should estimate that
2 file handles will be needed per TCPIP connection in both DSMTP and DPOP, and another 2 for
every authent_process that they run. Also
both processes need about 10 file handles for things like log files.
On UNIX platforms you usually set the number of file descriptors available with a setting
like, ulimit -n x, so you may need to set this in the startup scripts, dpop_start.sh and
dm_start.sh.
When DPOP starts up on log_level debug, it will log a series of messages where it calculates the
number of file handles which it thinks are available. It will then modify your settings if they are
set too high for what it can get. However, it cannot check for file handles being used by other processes
at peak times, so be careful when setting this setting to higher values - you should monitor the
effects.
File handle problems are often evident by errors about 'SELECT CALL' failures in the DPOP and
DSMTP log files.
Examples:
max_sessions 99
This sets the maximum size, in bytes, for the log file
before it is renamed and a new one started.
The default is 3,000 Kbytes (3Mb)
Example:
max_log_size |
3000000 |
(for
a maximum log size of 3Mb) |
Message separator character. This allows you to make DPOP read
non 'sendmail' type drop files which use a separator character to
separate messages within the drop file. If not defined, we do not
use one, and depend on a blank line followed by a valid 'From'
line as a message separator (as per Sendmail drop file format).
Also, the syntax x\n for this setting can be used to
imply that separator character stuffing should be carried out, i.e.
email message lines in the drop file which start
with the character x will be stored as xxtext and that a line
which contains just the character x is used as a message
separator. For example, the setting msg_separator .\n would
mean lines starting with a dot would be stored as ..line and
a line containing just . would signify the end of a message.
Examples:
msg_separator .\n (separator is '.' and dot stuffing should be done)
msg_separator |
This setting specifies the POP3 events that should be logged to dpop.log. The default is that no commands are logged.
NB: DPOP will not necessarily log exactly the command given, it will log the command name and
any useful debugging information from the command.
The setting syntax is,
pop_event_log <command_name>,<command_name>,<command_name>...
where command_name can be any of,
last,uidl,burst,list,listn,stat,user,pass,quit,retr,dele,rset
It is intended that you will use this setting in addition to log_level debug.
This setting was added to DPOP in DMail version 2.8b
Example:
pop_event_log user,pass,quit
might result in the following log lines,
29 09:55:59 [0] Debug: >Got {USER test0}
29 09:55:59 [0] Debug: >Got {PASS xxxxxx}
29 09:55:59 [0] Debug: >Got {QUIT }
where '[0]' indicates the TCPIP channel that the event occurred on.
This sets the port number that DPOP will accept POP3
client connections on. The default is 110. This can be set to
something other than 110 for testing DPOP while leaving
another pop server running on the normal POP3 port.
Examples:
pop_port 1100
How long we wait (in seconds) before assuming connection
has gone. If this setting is too long then a session left
running will prevent the user from connecting from elsewhere.
If it is set too short then the connection could be
terminated while the user is just thinking what to do next.
The default setting is 600 seconds or 10 minutes NB: this
is the minimum value required by the RFC1939, so you should
not set it lower than this except for testing.
NB: Setting this setting to something
small could have unpredictable results. Be sure that you set this setting
longer than your authent_timeout setting!
DSMTP has the equivalent setting, tcp_timeout.
Example:
pop_timeout 1200
This setting allows you to specify an alternative greeting message for DPOP. The message must be one
line, containing text and optional variables. These variables are in the form $VARIABLE, and are
evaluated prior to the message being displayed. These variables are:
-
$DATE
The current date.
-
$HOST
The host name of the server running DPOP.
-
$ADMIN
The email address of the DMail administrator.
-
$VERSION
The version number of DPOP. For security reasons, it is best that this is not used.
-
$WHOIP
The IP address of the client.
-
$WHONAME
The host name of the client.
DSMTP has the equivalent setting, smtp_welcome.
Example:
pop_welcome Welcome to DPOP - system $HOST, administrator is $ADMIN
Specifies whether DPOP should set ownership of bin path and contents to that of the user. This setting is available in DPOP 2.9i and later.
The default is false.
Example:
Sets the maximum number of bytes to send in one chunk for
the retrv command.
The default is 10000, i.e. 10kb.
Example:
retr_chunk 5000 |
(for a maximum chunk size of 5kb) |
Specifies the number of DSlave processes to use for
handling bursts of large drop files. The default is 0, i.e.
no slave processes will be used. If you have a large number
of concurrent users and some with large drop files or a slow
file system then it is generally worth setting up several
slave processes.
In version 2.5g and above DMSetup will set this to 4
when installing DMail.
Examples:
slave_number 2
slave_number 10
This setting determines when DPOP will use a slave process
for bursting mail drop files. DPOP will use a slave process
for any drop files larger than the specified size in bytes.
The default for this setting is 1,000,000, i.e. 1Mb. Note that
DPOP will only use slave processes if the setting for
slave_number is 1 or more.
In version 2.5g and above DMSetup will set this to
500,000 (500 Kbytes) when installing DMail.
Examples:
slave_burst_size 1
slave_burst_size 10000000
Sets the timeout value for slave commands such as burst
drop file. The default is 100 seconds. If the timeout is
exceeded then the slave process is killed and a new one
started. The operation that timed out is aborted.
Example:
slave_timeout 123
Specifies the path for files containing a log of per
connection usage statistics. One file is produced each day
and they can be analyzed and summarized with the Tellpop
stats command. The default is to place these stats files in
the dpop_path. If no stats records are required then a blank
path can be specified.
Examples:
stats_path |
# implies don't log usage
statistics |
stats_path c:\pop_stats |
# place stats files in
c:\pop_stats |
Sets the address that tellpop should use to talk to dpop.
Example:
tellpop_host 127.0.0.1
For use in converting to maildir. See use_maildir .
Specifies IP addresses that user connections can come
from. Specified using NetWin wildcard format: (*-wild, !-NOT,
separated by commas. NO SPACES ALLOWED).
The default setting allows connection from any ip address.
This is only one of several ways of limiting access, see
Controlling Access
Note: This setting applies to any incoming TCPIP
connections, even manager (DMAdmin or
tellpop) commands, so you
should include, 127.0.0.1
Examples:
user_ip_address 127.0.0.1
user_ip_address 130.123.*.*
user_ip_address 130.123.24.*,!130.123.24.25
user_ip_address 130.123.*.*
user_ip_address *
Specifies valid ip names that user connections can come
from. Specified in NetWin wildcard format: (*-wild, !-NOT,
separated by commas. NO SPACES ALLOWED).
The default setting allows connections from anyone. This is only one of several ways of limiting access, see
Controlling Access
Note:
1. This setting applies to any incoming TCPIP
connections, even manager (DMAdmin or
tellpop) commands, so you
should include, localhost, and probably your machine name, in order
for DMAdmin to work.
2. This setting can only work if you have allowed reverse name lookups,
i.e. lookup_names true.
Examples:
user_ip_name localhost
user_ip_name massey.ac.nz
user_ip_name massey.ac.nz,otago.ac.nz,fred.john.bill
user_ip_name *.ac.nz,bill.*.nz
user_ip_name *
Wildcard list of valid usernames. Only users whose
usernames match will be able to connect to DPOP. The list is
specified in NetWin wildcard format: (*-wild, !-NOT,
separated by commas. NO SPACES ALLOWED)
The default allows any username to connect. Note this is only
one of several ways of limiting access.
Examples
valid_users *, !*smith*,fred,john,bill
valid_users *
Setting not found?!
You probably got here by using a link on our Complete Settings List page.
That page lists all settings at the time of the latest compile, so we probably have not documented
the setting you are looking for yet.
Please contact DMail Support with a list
of any settings you want described and we will add them to these pages.
(Back
to Top of List)
|