171 lines
4.6 KiB
TOML
171 lines
4.6 KiB
TOML
host = "127.0.0.1"
|
|
port = 8080
|
|
environment = "production"
|
|
default_language = "en"
|
|
base_path = "/"
|
|
|
|
[database]
|
|
backend = "mysql" # mysql | pgsql | sqlite
|
|
host = "localhost"
|
|
port = 3306
|
|
user = "postfix"
|
|
password = "" # set POSTFIXADMIN_RS__DATABASE__PASSWORD in .env
|
|
name = "postfix"
|
|
# path = "/etc/postfix/sqlite/postfixadmin.db"
|
|
use_ssl = false
|
|
verify_server_cert = true
|
|
prefix = ""
|
|
max_connections = 10
|
|
read_only = false
|
|
|
|
[password]
|
|
scheme = "php_crypt:MD5"
|
|
doveadm = "/usr/bin/doveadm"
|
|
authlib_default_flavor = "md5raw"
|
|
min_length = 5
|
|
min_letters = 3
|
|
min_digits = 2
|
|
|
|
[smtp]
|
|
host = "localhost"
|
|
port = 25
|
|
kind = "plain" # plain | starttls | tls
|
|
username = ""
|
|
password = ""
|
|
client_name = ""
|
|
admin_email = ""
|
|
admin_name = "Postmaster"
|
|
|
|
[features]
|
|
quota = true
|
|
domain_quota = true
|
|
transport = false
|
|
vacation = true
|
|
vacation_control = true
|
|
vacation_control_admin = true
|
|
edit_alias = true
|
|
alias_control = true
|
|
alias_control_admin = true
|
|
special_alias_control = false
|
|
alias_domain = true
|
|
backup = false
|
|
sendmail = true
|
|
sendmail_all_admins = false
|
|
logging = true
|
|
fetchmail = true
|
|
fetchmail_extra_options = false
|
|
emailcheck_resolve_domain = true
|
|
emailcheck_localaliasonly = false
|
|
show_status = true
|
|
show_undeliverable = true
|
|
show_popimap = true
|
|
show_vacation = false
|
|
show_disabled = false
|
|
show_expired = false
|
|
totp = false
|
|
app_passwords = false
|
|
dkim = true
|
|
dkim_all_admins = false
|
|
forgotten_user_password_reset = true
|
|
forgotten_admin_password_reset = false
|
|
used_quotas = true
|
|
new_quota_table = true
|
|
xmlrpc = false
|
|
password_expiration = false
|
|
domain_dns_status_check = 1
|
|
smtp_active_flag = false
|
|
generate_password = true
|
|
show_password = false
|
|
# PostfixAdmin 4.x master: mailbox users may change their own display name.
|
|
edit_mailbox_name = false
|
|
domain_list_hide_maxquota = false
|
|
domain_list_hide_password_expiry = false
|
|
|
|
[defaults]
|
|
aliases = 10
|
|
mailboxes = 10
|
|
maxquota_mb = 10
|
|
domain_quota_mb = 2048
|
|
quota_multiplier = 1024000
|
|
quota_level_med_pct = 55
|
|
quota_level_high_pct = 90
|
|
page_size = 10
|
|
domain_path = true
|
|
domain_in_mailbox = false
|
|
maildir_template = ""
|
|
create_mailbox_subdirs = []
|
|
create_mailbox_subdirs_prefix = ""
|
|
transport_default = "virtual"
|
|
transport_options = ["virtual", "local", "relay"]
|
|
vacation_domain = "autoreply.change-this-to-your.domain.tld"
|
|
default_aliases = { abuse = "abuse@change-this-to-your.domain.tld", hostmaster = "hostmaster@change-this-to-your.domain.tld", postmaster = "postmaster@change-this-to-your.domain.tld", webmaster = "webmaster@change-this-to-your.domain.tld" }
|
|
welcome_text = "Hi,\n\nWelcome to your new account.\n"
|
|
recipient_delimiter = ""
|
|
show_undeliverable_exceptions = ["unixmail.domain.ext", "exchangeserver.domain.ext"]
|
|
show_custom_domains = ["subdomain.domain.ext", "domain2.ext"]
|
|
motd_user = ""
|
|
motd_admin = ""
|
|
motd_superadmin = ""
|
|
|
|
[security]
|
|
session_timeout_minutes = 1440
|
|
cookie_secure = true
|
|
hsts = true
|
|
# nginx on the same host forwards the client address.
|
|
trusted_proxies = ["127.0.0.1", "::1"]
|
|
login_attempts = 8
|
|
login_window_seconds = 300
|
|
request_body_limit_mb = 2
|
|
allow_legacy_shell_hooks = false
|
|
allow_unsafe_alias_destinations = false
|
|
|
|
[hooks]
|
|
mailbox_postcreation = []
|
|
mailbox_postedit = []
|
|
mailbox_postdeletion = []
|
|
mailbox_postpassword = []
|
|
mailbox_post_totp_change = []
|
|
mailbox_post_totp_exception_add = []
|
|
mailbox_post_totp_exception_delete = []
|
|
mailbox_post_app_password = []
|
|
domain_postcreation = []
|
|
domain_postedit = []
|
|
domain_postdeletion = []
|
|
|
|
[backup]
|
|
mysql_dump = "/usr/bin/mysqldump"
|
|
pg_dump = "/usr/bin/pg_dump"
|
|
|
|
[sieve]
|
|
# Dovecot/Pigeonhole ManageSieve on the same mail host.
|
|
# In workstation development dev.sh tunnels 127.0.0.1:14190 -> remote 127.0.0.1:4190.
|
|
enabled = true
|
|
host = "127.0.0.1"
|
|
port = 14190
|
|
tls_mode = "none"
|
|
allow_insecure_auth = true # loopback-only in development tunnel
|
|
timeout_secs = 10
|
|
read_only = false
|
|
|
|
[dkim]
|
|
# UI opened first when both implementations are enabled: postfixadmin | rspamd
|
|
default_backend = "postfixadmin"
|
|
# Mailbox users can see public DNS records for their own domain, but cannot modify DKIM.
|
|
# Keys/selectors remain per-domain in PostfixAdmin or Rspamd; there is no shared DKIM key.
|
|
user_read_only = true
|
|
|
|
[rspamd_dkim]
|
|
enabled = true
|
|
rspamadm = "/usr/bin/rspamadm"
|
|
key_dir = "/var/lib/rspamd/dkim"
|
|
signing_config = "/etc/rspamd/local.d/dkim_signing.conf"
|
|
selector_map = "/var/lib/rspamd/dkim/postfixadmin-rs-selectors.map"
|
|
path_map = "/var/lib/rspamd/dkim/postfixadmin-rs-paths.map"
|
|
default_selector = "mail"
|
|
key_bits = 2048
|
|
# Do not use a shell here. Configure a narrowly-scoped sudoers rule if the service user
|
|
# needs to reload Rspamd, for example:
|
|
# reload_command = ["/usr/bin/sudo", "-n", "/usr/bin/systemctl", "reload", "rspamd"]
|
|
reload_command = []
|
|
dev_mock = false
|