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


bin_path

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

bin_pfull

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

bin_path

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

bulletin_from

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

bulletin_path

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)

check_owner_disable Unix Platforms Only

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


crlf_stored

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

dpop_host

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

dpop_path

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

drop_ext

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:

drop_ext .mbx

drop_kill

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)

drop_old

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)

drop_users

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  

expire_age

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.


expire_mins

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.


expire_size

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.


hash_bindir

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.


hide_old_bulls

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

language_file_dpop

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

log_status

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)

lowercase_password

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

manager_ip_address

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

manager_ip_name

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

manager_password

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

min_space

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

max_sessions

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

max_log_size

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)

msg_separator

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 |


pop_event_log

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.

pop_port

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

pop_timeout

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

pop_welcome

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
	

set_user_owned

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:

set_user_owned true

retr_chunk

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)

slave_number

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


slave_burst_size

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

slave_timeout

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


stats_path

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

tellpop_host

Sets the address that tellpop should use to talk to dpop.

Example:
tellpop_host 127.0.0.1


use_drop

For use in converting to maildir. See use_maildir .

user_ip_address

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 *

user_ip_name

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     *

valid_users

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)