Files
PostfixAdminRS/config.from-user.toml
2026-11-04 08:55:53 +01:00

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