mailman/templates/mailman.cfg.j2

256 lines
9.7 KiB
Django/Jinja

# AUTOMATICALLY GENERATED BY MAILMAN ON 2020-01-20 11:51:47 UTC
#
# This is your GNU Mailman 3 configuration file. You can edit this file to
# configure Mailman to your needs, and Mailman will never overwrite it.
# Additional configuration information is available here:
#
# https://mailman.readthedocs.io/en/latest/src/mailman/config/docs/config.html
#
# For example, uncomment the following lines to run Mailman in developer mode.
#
# [devmode]
# enabled: yes
# recipient: your.address@your.domain
[mailman]
# This address is the "site owner" address. Certain messages which must be
# delivered to a human, but which can't be delivered to a list owner (e.g. a
# bounce from a list owner), will be sent to this address. It should point to
# a human.
site_owner: {{ mailman_site_owner }}
# This is the local-part of an email address used in the From field whenever a
# message comes from some entity to which there is no natural reply recipient.
# Mailman will append '@' and the host name of the list involved. This
# address must not bounce and it must not point to a Mailman process.
noreply_address: {{ mailman_noreply_addr }}
layout: {{ mailman_layout }}
[database]
{% if mailman_db == 'postgresql' %}
class: mailman.database.postgresql.PostgreSQLDatabase
url: postgres://{{ mailman_db_user }}:{{ mailman_db_pwd }}@{{ mailman_db_host }}/{{ mailman_db_name }}
{% endif %}
[mta]
incoming: {{ mailman_mta_incoming }}
outgoing: {{ mailman_mta_outgoing }}
lmtp_host: {{ mailman_lmtp_host }}
lmtp_port: {{ mailman_lmtp_port }}
smtp_host: {{ mailman_smtp_host }}
# How to connect to the outgoing MTA. If smtp_user and smtp_pass is given,
# then Mailman will attempt to log into the MTA when making a new connection.
smtp_port: {{ mailman_smtp_port }}
{% if mailman_smtp_auth %}
smtp_user: {{ mailman_smtp_user }}
smtp_pass: {{ mailman_smtp_pwd }}
{% endif %}
{% if mailman_smtp_secure_mode == 'starttls' %}
smtp_secure_mode: {{ mailman_smtp_secure_mode }}
{% endif %}
configuration: {{ mailman_smtp_conf }}
[paths.master]
# Important directories for Mailman operation. These are defined here so that
# different layouts can be supported. For example, a developer layout would
# be different from a FHS layout. Most paths are based off the var_dir, and
# often just setting that will do the right thing for all the other paths.
# You might also have to set spool_dir though.
#
# Substitutions are allowed, but must be of the form $var where 'var' names a
# configuration variable in the paths.* section. Substitutions are expanded
# recursively until no more $-variables are present. Beware of infinite
# expansion loops!
#
# This is the root of the directory structure that Mailman will use to store
# its run-time data.
var_dir: /opt/mailman/var
# This is where the Mailman queue files directories will be created.
queue_dir: $var_dir/queue
# All list-specific data.
list_data_dir: $var_dir/lists
# Directory where log files go.
log_dir: /var/log/mailman
# Directory for system-wide locks.
lock_dir: $var_dir/locks
# Directory for system-wide data.
data_dir: $var_dir/data
# Cache files.
cache_dir: $var_dir/cache
# Directory for configuration files and such.
etc_dir: $var_dir/etc
# Directory containing Mailman plugins.
ext_dir: $var_dir/ext
# Directory where the default IMessageStore puts its messages.
messages_dir: $var_dir/messages
# Directory for archive backends to store their messages in. Archivers should
# create a subdirectory in here to store their files.
archive_dir: $var_dir/archives
# Root directory for site-specific template override files.
template_dir: $var_dir/templates
# There are also a number of paths to specific file locations that can be
# defined. For these, the directory containing the file must already exist,
# or be one of the directories created by Mailman as per above.
#
# This is where PID file for the master runner is stored.
pid_file: $var_dir/master.pid
# Lock file.
lock_file: $lock_dir/master.lck
[paths.fhs]
var_dir: {{ mailman_var_dir }}
# This is where the Mailman queue files directories will be created.
queue_dir: {{ mailman_spool_dir }}
log_dir: {{ mailman_log_dir }}
lock_dir: {{ mailman_lock_dir }}
# Directory for configuration files and such.
etc_dir: {{ mailman_conf_dir }}
list_data_dir: $var_dir/lists
data_dir: $var_dir/data
cache_dir: $var_dir/cache
ext_dir: $var_dir/ext
messages_dir: $var_dir/messages
archive_dir: $var_dir/archives
template_dir: $var_dir/templates
# This is where PID file for the master runner is stored.
pid_file: $var_dir/master.pid
[passwords]
# When Mailman generates them, this is the default length of passwords.
password_length: {{ mailman_password_length }}
[webservice]
# The hostname at which admin web service resources are exposed.
hostname: {{ mailman_webservice_hostname }}
# The port at which the admin web service resources are exposed.
port: {{ mailman_webservice_port}}
# Whether or not requests to the web service are secured through SSL.
use_https: {{ mailman_webservice_https }}
# Whether or not to show tracebacks in an HTTP response for a request that
# raised an exception.
show_tracebacks: {{ mailman_webservice_tracebacks }}
# The API version number for the current (highest) API.
api_version: 3.1
# The administrative username.
admin_user: {{ mailman_api_user }}
# The administrative password.
admin_pass: {{ mailman_rest_api_pwd }}
# Number of workers to start.
# http://docs.gunicorn.org/en/stable/settings.html#workers
workers: {{ ansible_processor_count * 2 }}
[ARC]
# This section defines email authetication parameters, in particular, with
# respect to the ARC(Authenticated-Recieved-Chain) protocol. See
# http://arc-spec.org/ for reference.
#
# The DMARC protocol is the industry standard for cryptographically validating
# both the content and originating source of email. However it is regularly
# the case that mailing lists break this source of authentication via modifying
# the From, and possibly other headers, and altering the contents of
# emails by, say, adding a common footer to outgoing mail.
# The ARC protocol is the industry standard for rectify this.
# ARC cryptographically seals the outgoing emails by adding a collection
# of headers. These headers act quite analagously to a chain of DKIM
# signatures, where each intermediary validates the ARC signature(if one exists)
# of the incomming message, and then appends its own collection of header fields.
# Enabling this protocol makes it possible for email service providers
# to validate the content & originator of an email, even if it has taken multiple
# steps from the originator to the recipient.
#
# The general implementation of ARC within Mailman is addition of two
# additional handlers to the pipeline. One, ate the very beginning of the
# pipeline cryptographically validaties the incomming ARC headers before the
# message has been modified, and appends its results to the
# Authentication-Results header.
#
# The second handler is at the end of the pipeline. It cryptographically
# signs the message, with all modifications that have been made, along
# with the analysis of the validation handler, and adds its output as
# a new set of ARC header fields.
# This flag globally enables ARC signing & validation. To enable, set this to
# yes.
enabled: {{ mailman_arc_enabled }}
# DKIM & DMARC authentication checks on incoming email is critical to using ARC
# successfully. Mailman can do these check on its own, but if you already perform
# these checks earlier in your pipeline, say via a milter previous to Mailman,
# they can be used instead, as long as you specify your domain as a trusted
# domain below. If those checks are not placed in an Authentication-Results
# header from a trusted domain they will be ignored.
dmarc: {{ mailman_dmarc_enabled }}
dkim: {{ mailman_dkim_enabled }}
# TRUSTED DOMAINS
#
# This is the domain name of your mailserver. Necessary to set correctly.
# authserv_id: your_domain.com
authserv_id:
# This list should include all additional domains
# that you manage that may be handling your incoming mail
# Only necessary to update if there are local domains or subdomains
# that are performing DKIM, DMARC, or SPF checks.
# trusted_authserv_ids: subdomain.your_domain.com, trusted_other_domain.com
trusted_authserv_ids:
# KEY MANAGEMENT
#
# In order for your server to be able to cryptographical sign its messages
# a DKIM public/private key pair will need to be created.
# See: http://www.gettingemaildelivered.com/dkim-explained-how-to-set-up-and-use-domainkeys-identified-mail-effectively
# for reference. The following parameters let the software find your
# private & public keys
# privkey: /some/location/yourprivatekey.pem
# selector: test
# domain: your_domain.com
privkey:
selector:
domain:
[antispam]
# This section defines basic antispam detection settings.
# This value contains lines which specify RFC 822 headers in the email to
# check for spamminess. Each line contains a `key: value` pair, where the key
# is the header to check and the value is a Python regular expression to match
# against the header's value. Multiple checks should be entered as multiline
# value with leading spaces:
#
# header_checks:
# X-Spam: (yes|maybe)
# Authentication-Results: mail.example.com; dmarc=(fail|quarantine)
#
# The header value and regular expression are always matched
# case-insensitively.
header_checks:
{% for h in mailman_antispam_header_checks %}
{{ h }}
{% endfor %}
# The chain to jump to if any of the header patterns matches. This must be
# the name of an existing chain such as 'discard', 'reject', 'hold', or
# 'accept', otherwise 'hold' will be used.
jump_chain: hold
[runner.nntp]
class: mailman.runners.nntp.NNTPRunner
start: {{ mailman_start_nntp_runner }}
{% if mailman_use_hyperkitty_archiver | bool %}
[archiver.hyperkitty]
class: mailman_hyperkitty.Archiver
enable: yes
configuration: {{ mailman_conf_dir }}/mailman-hyperkitty.cfg
{% endif %}