
---
###############################################################
# A ponymail.yaml is needed to run this project. This sample config file was
# originally generated by tools/setup.py.
# 
# Run the tools/setup.py script and a ponymail.yaml which looks a lot like this
# one will be generated. If, for whatever reason, that script is not working
# for you, you may use this ponymail.cfg as a starting point.
# 
# Contributors should strive to keep this sample updated. One way to do this
# would be to run the tools/setup.py, rename the generated config to
# ponymail.cfg.sample, and then pasting this message or a modified form of
# this message at the top.
###############################################################

###############################################################
# Pony Mail Configuration file


##############################################################
# THIS IS AN EXAMPLE FOR TESTING - RUN setup.py PLEASE       #
##############################################################

# Main ES configuration
elasticsearch:
    hostname:               localhost
    dbname:                 ponymail
    port:                   9200
    ssl:                    false
    #uri:                   url_prefix
    #user:                  username
    #password:              password
    #wait:                  active shard count
    #backup:                database name

archiver:
    #generator:             full|dkim|other (dkim recommended)
    generator:              dkim
    # nonce:                optional secret salt ('pepper')
    policy:                 default   # message parsing policy: default, compat32, smtputf8

debug:
    #cropout:               string to crop from list-id
    # e.g. Strip out incubator except at top level
    # cropout:                (\w+\.\w+)\.incubator\.apache\.org \1.apache.org
