# inbucket.conf
# Configuration for Inbucket inside of Docker
#
# These should be reasonable defaults for a production install of Inbucket

#############################################################################
[DEFAULT]

# Not used directly, but is typically referenced below in %()s format.
install.dir=/opt/inbucket
default.domain=inbucket.local

#############################################################################
[logging]

# Options from least to most verbose: ERROR, WARN, INFO, TRACE
level=INFO

#############################################################################
[smtp]

# IPv4 address to listen for SMTP connections on.
ip4.address=0.0.0.0

# IPv4 port to listen for SMTP connections on.
ip4.port=10025

# used in SMTP greeting
domain=%(default.domain)s

# optional: mail sent to accounts at this domain will not be stored,
# for mixed use (content and load testing)
domain.nostore=bitbucket.local

# Maximum number of RCPT TO: addresses we allow from clients, the SMTP
# RFC recommends this be at least 100.
max.recipients=100

# How long we allow a network connection to be idle before hanging up on the
# client, SMTP RFC recommends at least 5 minutes (300 seconds).
max.idle.seconds=300

# Maximum allowable size of message body in bytes (including attachments)
max.message.bytes=2048000

# Should we place messages into the datastore, or just throw them away
# (for load testing): true or false
store.messages=true

#############################################################################
[pop3]

# IPv4 address to listen for POP3 connections on.
ip4.address=0.0.0.0

# IPv4 port to listen for POP3 connections on.
ip4.port=10110

# used in POP3 greeting
domain=%(default.domain)s

# How long we allow a network connection to be idle before hanging up on the
# client, POP3 RFC requires at least 10 minutes (600 seconds).
max.idle.seconds=600

#############################################################################
[web]

# IPv4 address to serve HTTP web interface on
ip4.address=0.0.0.0

# IPv4 port to serve HTTP web interface on
ip4.port=10080

# Name of web theme to use
theme=bootstrap

# Prompt displayed between the mailbox entry field and View button. Leave
# empty or comment out to hide the prompt.
mailbox.prompt=@inbucket

# Path to the selected themes template files
template.dir=%(install.dir)s/themes/%(theme)s/templates

# Should we cache parsed templates (set to false during theme dev)
template.cache=true

# Path to the selected themes public (static) files
public.dir=%(install.dir)s/themes/%(theme)s/public

# Path to the greeting HTML displayed on front page, can be moved out of
# installation dir for customization
greeting.file=/con/configuration/greeting.html

# Key used to sign session cookie data so that it cannot be tampered with.
# If this is left unset, Inbucket will generate a random key at startup
# and previous sessions will be invalidated.
#cookie.auth.key=secret-inbucket-session-cookie-key

# Enable or disable the live message monitor tab for the web UI. This will let
# anybody see all messages delivered to Inbucket.  This setting has no impact
# on the availability of the underlying WebSocket.
monitor.visible=true

# How many historical message headers should be cached for display by new
# monitor connections.  It does not limit the number of messages displayed by
# the browser once the monitor is open; all freshly received messages will be
# appended to the on screen list.  This setting also affects the underlying
# API/WebSocket.
monitor.history=30

#############################################################################
[datastore]

# Path to the datastore, mail will be written into subdirectories
path=/con/data

# How many minutes after receipt should a message be stored until it's
# automatically purged.  To retain messages until manually deleted, set this
# to 0
retention.minutes=4320

# How many milliseconds to sleep after purging messages from a mailbox.
# This should help reduce disk I/O when there are a large number of messages
# to purge.
retention.sleep.millis=100

# Maximum number of messages we will store in a single mailbox. If this
# number is exceeded, the oldest message in the box will be deleted each
# time a new message is received for it.
mailbox.message.cap=300
