# (c) 2000-2006 IC&S, The Netherlands
#
# Configuration file for DBMAIL

[DBMAIL]
#
# Database settings
#
# database connection URI
#dburi                = sqldriver://username:password@hostname:port/db_name
#dburi                = sqlite:///var/tmp/dbmail.db
#dburi                = mysql://dbmail:dbmail@localhost:3306/dbmail
dburi                = mysql://dbmail:dbmail@localhost/dbmail?unix-socket=/var/run/mysql/mysql.sock&charset=utf8

#
# following fields are now DEPRECATED!
#driver               = mysql
#host                 = localhost
#sqlport              = 3306
#sqlsocket            = /var/run/mysql/mysql.sock
#user                 = dbmail
#pass                 = dbmail
#db                   = dbmail
#encoding             = utf8

#
# Number of database connections per threaded daemon
# This also determines the size of the worker threadpool
#
# Do NOT increase this without proper consideration. A
# very large database/worker pool will not only increase
# the connection pressure on the database, but will more
# significantly cause unnecessary context-switching in
# your CPUs.
#
max_db_connections   = 4

#
# Table prefix. Defaults to "dbmail_" if not specified.
#
table_prefix         = dbmail_

#
# Supported drivers are sql, ldap.
#
authdriver           = sql

#
# messages with unknown encoding will be assumed to have
# default_msg_encoding
# i.e. iso8859-1, utf8
default_msg_encoding = utf8

#
# Postmaster's email address for use in bounce messages.
#
postmaster           = MAILER-DAEMON

#
# Sendmail executable for forwards, replies, notifies, vacations.
# You may use pipes (|) in this command, for example:
# dos2unix|/usr/sbin/sendmail  works well with Qmail.
# You may use quotes (") for executables with unusual names.
#
sendmail              = /usr/sbin/sendmail

#
#
# The following items can be overridden in the service-specific sections.
#
#

#
# Logging via stderr/log file and syslog
#
# Logging is broken up into 8 logging levels and each level can be indivually turned on or off.
# The Stderr/log file logs all entries to stderr or the log file.
# Syslog logging uses the facility mail and the logging level of the event for logging.
# Syslog can then be configured to log data according to the levels.
#
# Set the log level to the sum of the values next to the levels you want to record.
#   1 = Emergency
#   2 = Alert
#   4 = Critical
#   8 = Error
#  16 = Warning
#  32 = Notice
#  64 = Info
# 128 = Debug
# 256 = Database -> Logs at debug level
#
# Examples:   0 = Nothing
#            31 = Emergency + Alert + Critical + Error + Warning
#           511 = Everything
#
file_logging_levels       = 1
#
syslog_logging_levels     = 30

#
# Generate a log entry for database queries for the log level at number of seconds of query execution time.
#
query_time_info       = 10
query_time_notice     = 20
query_time_warning    = 30

#
# Throw an exception is the query takes longer than query_timeout seconds
query_timeout         = 300

#
# Root privs are used to open a port, then privs
# are dropped down to the user/group specified here.
#
effective_user        = mail
effective_group       = mail

#
# The IPv4 and/or IPv6 addresses the services will bind to.
# Use * for all local interfaces.
# Use 127.0.0.1 for localhost only.
# Separate multiple entries with spaces ( ) or commas (,).
#
bindip                = 0.0.0.0		# IPv4 only - all IP's
#bindip                = ::		# IPv4 and IPv6 - all IP's (linux)
#bindip                = ::		# IPv6 only - all IP's (BSD)
#bindip                = 0.0.0.0,::	# IPv4 and IPv6 - all IP's (BSD)


#
# The maximum length of the queue of pending connections. See
# listen(2) for more information
#
backlog              = 128

#
# Idle time allowed before a connection is shut off.
#
timeout               = 300

#
# Idle time allowed before a connection is shut off if you have not logged in yet.
#
login_timeout         = 60

#
# If yes, resolves IP addresses to DNS names when logging.
#
resolve_ip            = no

#
# If yes, keep statistics in the authlog table for connecting users
#
authlog               = no

#
# logfile for stdout messages
#
logfile               = /var/log/dbmail.log

#
# logfile for stderr messages
#
errorlog              = /var/log/dbmail.err

#
# directory for storing PID files
#
pid_directory         = /var/run/dbmail

#
# directory for locating libraries (normally has a sane default compiled-in)
#
#library_directory       = /usr/lib/dbmail

#
# SSL/TLS certificates
#
# A file containing a list of CAs in PEM format
tls_cafile            =

# A file containing a PEM format certificate
tls_cert              =

# A file containing a PEM format RSA or DSA key
tls_key               =

# A cipher list string in the format given in ciphers(1)
tls_ciphers           =


# hashing algorithm. You can select your favorite hash type
# for generating unique ids for message parts.
#
# for valid values check mhash(3) but minus the MHASH_ prefix.
#
# if you ever change this value run 'dbmail-util --rehash' to
# update the hash for all mimeparts.
#
# examples: MD5, SHA1, SHA256, SHA512, TIGER, WHIRLPOOL
#
hash_algorithm = SHA256


# header_cache tuning
#
# set header_cache_readonly to 'yes' to prevent new
# unknown header-names from being cached.
#
# header_cache_readonly = yes



[LMTP]
port                  = 24
bindip                = 127.0.0.1
#tls_port              =
banner                = LMTP server ready.

[POP]
port                  = 110
#tls_port              = 995

# You can set an alternate banner to display when connecting to the service
banner                = POP3 server ready.

#
# If yes, allows SMTP access from the host IP connecting by POP3.
# This requires addition configuration of your MTA
#
pop_before_smtp       = no

[HTTP]
port                  = 41380
#
# the httpd daemon provides full access to all users, mailboxes
# and messages. Be very careful with this one!
bindip                = 127.0.0.1
admin                 = admin:secret

[IMAP]
# You can set an alternate banner to display when connecting to the service
# banner = imap 4r1 server (dbmail 2.3.x)

#
# Port to bind to.
#
port                  = 143
#tls_port              = 993

banner                = IMAP server ready.
 
#
# IMAP prefers a longer timeout than other services.
#
timeout               = 4000

#
# If yes, allows SMTP access from the host IP connecting by IMAP.
# This requires addition configuration of your MTA
#
imap_before_smtp      = no

#
# during IDLE, how many seconds between checking the mailbox
# status (default: 30)
#
# idle_timeout          = 30

# during IDLE, how often should the server send an '* OK' still
# here message (default: 10)
#
# the time between such a message is idle_timeout * idle_interval
# seconds
#
# idle_interval         = 10

#
# If TLS is enabled, login before starttls is normally
# not allowed. Use login_disabled=no to change this
#
# login_disabled        = yes

#
# Provide a CAPABILITY to override the default
#
# capability 		= IMAP4 IMAP4rev1 AUTH=LOGIN ACL RIGHTS=texk NAMESPACE CHILDREN SORT QUOTA THREAD=ORDEREDSUBJECT UNSELECT IDLE

# max message size. You can specify the maximum message size
# accepted by the IMAP daemon during APPEND commands.
#
# Supported formats:
#  decimal: 1000000
#  octal:   03777777
#  hex:     0xfffff
#
# max_message_size      =


[SIEVE]
#
# Port to bind to.
#
port                  = 2000
tls_port              =
banner                = SIEVE server ready.


[LDAP]
#port                  = 389
#version               = 3
#hostname              = ldap
#base_dn               = ou=People,dc=mydomain,dc=com

#
# If your LDAP library supports ldap_initialize(), then you can use the
# alternative LDAP server DSN like following.
#
# URI                = ldap://127.0.0.1:389
# URI                = ldapi://%2fvar%2frun%2fopenldap%2fldapi/

#
# Leave blank for anonymous bind.
# example: cn=admin,dc=mydomain,dc=com
#
#bind_dn               =

#
# Leave blank for anonymous bind.
#
#bind_pw               =
#scope                 = SubTree

# AD users may want to set this to 'no' to disable
# ldap referrals if you are seeing 'Operations errors'
# in your logs
#
#referrals             = yes

#user_objectclass      = top,account,dbmailUser
#forw_objectclass      = top,account,dbmailForwardingAddress
#cn_string             = uid
#field_passwd          = userPassword
#field_uid             = uid
#field_nid             = uidNumber
#min_nid               = 10000
#max_nid               = 15000
#field_cid             = gidNumber
#min_cid               = 10000
#max_cid               = 15000

# a comma-separated list of attributes to match when searching
# for users or forwards that match a delivery address. A match
# on any of them is a hit.
field_mail            = mail

# field that holds the mail-quota size for a user.
field_quota           = mailQuota

# field that holds the forwarding address.
field_fwdtarget       = mailForwardingAddress

# override the query string used to search for users
# or forwards with a delivery address.
# query_string          = (mail=%s)

[DELIVERY]
#
# Run Sieve scripts as messages are delivered.
#
SIEVE                 = yes

#
# Use 'user+mailbox@domain' format to deliver to a mailbox.
#
SUBADDRESS            = yes

#
# Turn on/off the Sieve Vacation extension.
#
SIEVE_VACATION        = yes

#
# Turn on/off the Sieve Notify extension
#
SIEVE_NOTIFY          = yes

#
# Turn on/off additional Sieve debugging.
#
SIEVE_DEBUG           = no


# Use the auto_notify table to send email notifications.
#
AUTO_NOTIFY           = no

#
# Use the auto_reply table to send away messages.
#
AUTO_REPLY            = no

#
# Defaults to "NEW MAIL NOTIFICATION"
#
#AUTO_NOTIFY_SUBJECT        =

#
# Defaults to POSTMASTER from the DBMAIL section.
#
#AUTO_NOTIFY_SENDER        =


# If you set this to 'yes' dbmail will check for duplicate
# messages in the relevant mailbox during delivery using
# the Message-ID header
#
suppress_duplicates	= no

#
# Soft or hard bounce on over-quota delivery
#
quota_failure           = hard


# end of configuration file
