DESCRIPTION
A configuration file consists of zero or more blocks. There are two kinds of these blocks: Global and VirtualHost. Global block begins with <Global> and ends with </Global> line. VirtualHost block begins with one of:
-
- <VirtualHost xx.xx.xx.xx>
- <VirtualHost host.name.com>
- <VirtualHost xx.xx.xx.xx host.name.com>
lines, where xx.xx.xx.xx is an IPv4 (or IPv6) address and host.name.com is a virtual domain name (read VIRTUALS file). VirtualHost block ends with </VirtualHost> line. Each such block consists of zero or more options. Each option is specified in separate line and has 2 parts: option name and option argument, separated by a white space character (one or more). There are 4 types of options:
-
- boolean
- its argument can be "yes" (or "true") and "no" (or "false")
- string
- its argument is string. String should be quoted (read the section BUGS).
- period
- its argument is number which can be followed by one of these suffixes: s (for seconds), m (for minutes), h (for hours), d (for days), w (for weeks). This argument specifies some period of time or some number.
- expire
- exactly the same as period, but its argument can also be never.
Every text between /* and */ is treated as a comment and is ignored, unless it's inside quoted string.
Options from all Global and some VirtualHost (when their IPv4 (or IPv6) address is equal to socket address or their block virtual domain name is equal to virtual domain name specified by user) blocks are used. Options from left VirtualHost blocks are ignored. Configuration file is parsed two times, if user specify virtual domain name (read VIRTUALS file).
Following options are recognized:
-
- AllowRootLogin boolean
-
Allow root login. It's disabled by default and shouldn't be changed.
Debian Note: This option is not available in the Debian package. - UserOverride boolean
- Allow users specify their maildrops (path and type) and APOP secrets. It's enabled by default.
- UserMailDropDelimiter string
- Specify character used to separate different maildrops for user. If set, user can access different maildrops, as defined in their ~/.spop3d file, logging as "user_nameUserMailDropDelimitermaildrop_name" (e.g. user+private, if the UserMailDropDelimiter is set to +) Default is empty (disables support for multiple mailboxes per user).
- AllowAPOP boolean
- Users can authenticate themselves with APOP scheme. It's enabled by default.
- MailDropName string
- Specify path to maildrop. The format is the same as for -n option in solid-pop3d (8). Default value is /var/mail/%s
- MailDropType string
- Specify type of maildrop. The allowed values are mailbox and maildir. Default value is mailbox (or maildir if support for mailbox isn't compiled in server).
- APOPServerName string
- Specify the server name which is used for APOP authentication. Default value is a name obtained from gethostname() call.
- AutoLogoutTime period
- Specify the autologout time. The server quit when client is idle for specified period. Default value is 2 minutes.
- ChangeGID boolean
- If enabled server changes his GID to GID of logged user. It's enabled by default.
- WrongCommandsLimit period
- Specify the limit of wrong commands. The server quit when this limit is exceeded. Limit is ignored when 0 is specified. Default value is 5.
- ReadExpire expire
- Expire read (in this instance of daemon) messages that are older than expire. Default value is never.
- UnreadExpire expire
- Expire unread (in this instance of daemon) messages that are older than expire. Default value is never.
- DoMapping boolean
- If enabled mapping of user names (read VIRTUALS file) is allowed. Option is disabled by default.
- UserMapFile string
- Specify path to user names mapping file (read VIRTUALS file). There is no default value.
- UserMapPrefix string
-
Specify a set of characters which should be prefixed to the username before
it is looked up in the user mapping file.
For example, given a username of "bar", and a UserMapPrefix of "foo-", there should be an entry in the user mapping file for "foo-bar".
This option has no effect when DoMapping is disabled, and is a blank string by default. - AllowNonIP boolean
- If enabled user is allowed to specify virtual domain name in when logging. Read VIRTUALS file for details. Option is enabled by default.
- UserBullFile string
- Specify path to user bulletin file (read the section BULLETINS in README). The format is the same as for -n option in solid-pop3d (8). Default value is .spop3d-bull.
- BulletinDirectory string
- Specify path to bulletin directory. Default value is /var/lib/solid-pop3d/bulletins.
- LogPriority string
- Set logging facility and priority. Default value is local0.notice. Known facilities: daemon, local0, local1, ..., local7, mail, user. Known priorities: emerg, alert, crit, err, warning, notice, info, debug. facility or facility.priority combination are recognized.
- AddBulletins boolean
- Server checks for new bulletins in BulletinDirectory if enabled. Option is enabled by default.
- RequiredMapping boolean
- If DoMapping and RequiredMapping are enabled user _MUST_ have entry in user mapping file. If DoMapping is enabled and RequiredMapping is disabled user needn't have entry in user mapping file (no mapping is performed then). Option has no effect when DoMapping is disabled. Option is enabled by default.
- AuthMappedUser boolean
-
Controls whether authentication is performed on the username given by
the user, or the username looked up in the user mapping file.
The option is enabled by default, meaning that the user from the mapping file is used. The option has no effect when DoMapping is disabled. - LogStatistics boolean
- If enabled qpopper-like statistics are logged. At the end of each session username, number of deleted messages, size (in bytes) of deleted messages, number of messages left on server, size (in bytes) of messages left on server are logged. Option is enabled by default.
- CreateMailDrop boolean
- If enabled maildrop (mailbox or maildir) will be created, when it doesn't exist. Option is disabled by default.
- AllowUser boolean
- Allow USER/PASS authentication. This option is enabled by default. It's the standard method of user authentication and you probably don't need to disable it. You must have at least one authentication method enabled (AllowUser or AllowAPOP).
EXAMPLE
-
<Global> LogPriority daemon.info MailDropName Maildir MailDropType maildir UserBullFile .spop3d-blurp /* It's just an example */ ReadExpire 0 UnreadExpire 2w </Global> <VirtualHost 192.168.1.1> LogPriority local0 UserMapFile /etc/pop3/192.168.1.1.mapping DoMapping true UnreadExpire never APOPServerName jakis.tam.host.w.pl MailDropName "/var/mail/%s" /* It is a comment */ MailDropType mailbox AutoLogoutTime 5s UserOverride yes AllowAPOP yes ChangeGID true </VirtualHost>
WARNINGS
spop3d.conf should be readable by "spop3d" user!!! The server exits when syntax error occurs in a configuration file. If a configuration file doesn't exist (stat() failed), the server logs this fact only when in debugging mode.
FILES
- /etc/spop3d.conf
- Global configuration file.