Files
Leonidas Spyropoulos 578b93395f mailman: throttle arch-commits delivery and block ai crawlers
- Route arch-commits through a slow lane (1 msg/s per domain) so Gmail
  isn't throttling, bump queue_lifetime to 14d
- Block scraper user-agents and rate-limit the search endpoint in nginx

Signed-off-by: Leonidas Spyropoulos <artafinde@archlinux.org>
2026-07-13 14:03:01 +01:00

63 lines
1.7 KiB
Django/Jinja

#
# {{ansible_managed}}
#
compatibility_level = 3.6
biff = no
smtputf8_enable = no
smtpd_tls_cert_file = /etc/letsencrypt/live/{{ lists_domain }}/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/{{ lists_domain }}/privkey.pem
smtpd_tls_loglevel = 1
smtpd_tls_security_level = may
smtp_tls_loglevel = 1
smtp_tls_security_level = may
mydomain = {{ lists_domain }}
myorigin = {{ lists_domain }}
mydestination = {{ lists_domain }}
mynetworks =
127.0.0.0/8
[::1]/128
[fe80::]/64
# fatal: configuration error: mailbox_size_limit is smaller than message_size_limit
message_size_limit = 104857600
mailbox_size_limit = $message_size_limit
recipient_delimiter = +
disable_vrfy_command = yes
strict_rfc821_envelopes = yes
# enable for testing new config
soft_bounce = no
debug_peer_list =
smtpd_relay_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
smtpd_reject_footer = For assistance contact <postmaster@archlinux.org>. Please provide the following information in your problem report: time ($localtime) and client ($client_address).
# rspamd
smtpd_milters = inet:localhost:11332
non_smtpd_milters = $smtpd_milters
alias_maps = lmdb:/etc/postfix/aliases
local_recipient_maps = lmdb:/var/lib/mailman/data/postfix_lmtp $alias_maps
alias_database = $alias_maps
transport_maps = lmdb:/var/lib/mailman/data/postfix_lmtp
# Throttle high-volume arch-commits via the slow transport (see master.cf).
sender_dependent_default_transport_maps = pcre:/etc/postfix/sender_transport.pcre
milter_header_checks = pcre:/etc/postfix/milter_header_checks
delay_warning_time = 4h
# Bump for backlog drain from the 5d default.
bounce_queue_lifetime = 14d
maximal_queue_lifetime = 14d