
/etc/postfix/main.cf
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no append_dot_mydomain = no readme_directory = no compatibility_level = 2 TLS parameters section _OBFUSCATED_ SMTP Auth Section _OBFUSCATED_ smtpd_recipient_restrictions = reject_non_fqdn_recipient reject_non_fqdn_sender reject_unknown_sender_domain reject_unknown_recipient_domain mydomain = _OBFUSCATED_ smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination myhostname = _OBFUSCATED_ myorigin = /etc/mailname mydestination = $myhostname, $mydomain, _OBFUSCATED_, localhost, _OBFUSCATED_ relayhost = _OBFUSCATED_ mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 129.27.2.197 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = all alias_maps = hash:/etc/aliases, hash:/opt/mailman/data/aliases alias_database = hash:/etc/aliases, hash:/opt/mailman/data/aliases message_size_limit = _OBFUSCATED_ initial_destination_concurrency = 20 queue_run_delay = _OBFUSCATED_ minimal_backoff_time = _OBFUSCATED_ default_destination_concurrency_limit = 80 unknown_local_recipient_reject_code = 550 owner_request_special = no transport_maps = hash:/opt/mailman/mm/var/data/postfix_lmtp local_recipient_maps = proxy:unix:passwd.byname $alias_maps, hash:/opt/mailman/mm/var/data/postfix_lmtp relay_domains = hash:/opt/mailman/mm/var/data/postfix_domains
/etc/mailman3/mailman.cfg (status: before changes suggested in https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message/...) (i will change [paths.local] to var_dir: /opt/mailman/mm/var)
[mailman] layout: local site_owner: _OBFUSCATED_ [database] class: mailman.database.mysql.MySQLDatabase url: mysql+pymysql://mailman:_OBFUSCATED_@localhost/mailman?charset=utf8mb4&use_unicode=1 [archiver.prototype] enable: yes [archiver.hyperkitty] class: mailman_hyperkitty.Archiver enable: yes configuration: /etc/mailman3/mailman-hyperkitty.cfg [shell] history_file: $var_dir/history.py [mta] incoming: mailman.mta.postfix.LMTP outgoing: mailman.mta.deliver.deliver lmtp_host: 127.0.0.1 lmtp_port: 8024 smtp_host: localhost smtp_port: 25 configuration: /etc/mailman3/postfix.cfg verp_confirmations: yes verp_personalized_deliveries: yes verp_delivery_interval: 1 [webservice] hostname: localhost port: 8001 use_https: no admin_user: _OBFUSCATED_ admin_pass: _OBFUSCATED_ api_version: 3.1
/etc/mailman3/settings.py
from mailman_web.settings.base import * from mailman_web.settings.mailman import * ADMINS = ( ('Mailman Suite Admin', '_OBFUSCATED_', '_OBFUSCATED_'), ) DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mailmanweb', 'USER': '_OBFUSCATED_', 'PASSWORD': '_OBFUSCATED_', 'HOST': 'localhost', 'PORT': '_OBFUSCATED_', 'OPTIONS': {'charset': 'utf8mb4'}, } } STATIC_ROOT = '/opt/mailman/web/static' COMPRESS_ENABLED = True LOGGING['handlers']['file']['filename'] = '/opt/mailman/web/logs/mailmanweb.log' ALLOWED_HOSTS = [ "127.0.0.1", "_OBFUSCATED_", ] CSRF_TRUSTED_ORIGINS = [ "_OBFUSCATED_", ] SITE_ID = 2 SECRET_KEY = '_OBFUSCATED_' MAILMAN_ARCHIVER_KEY = '_OBFUSCATED_' DEFAULT_FROM_EMAIL = '_OBFUSCATED_' SERVER_EMAIL = '_OBFUSCATED_' EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'localhost' EMAIL_PORT = 25 Q_CLUSTER = { 'retry': 360, 'timeout': 300, 'save_limit': 100, 'orm': 'default', } HAYSTACK_CONNECTIONS = { 'default': { 'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine', 'PATH': '/opt/mailman/web/whoosh/fulltext_index', }, } ACCOUNT_LOGIN_METHODS = {'email', 'username'} ACCOUNT_EMAIL_REQUIRED = True ACCOUNT_EMAIL_VERIFICATION = 'mandatory' ACCOUNT_DEFAULT_HTTP_PROTOCOL = 'http' ACCOUNT_UNIQUE_EMAIL = True ACCOUNT_EMAIL_UNKNOWN_ACCOUNTS = False MAILMAN_REST_API_URL = 'http://localhost:8001/' MAILMAN_REST_API_USER = '_OBFUSCATED_' MAILMAN_REST_API_PASS = '_OBFUSCATED_' MAILMAN_ARCHIVER_KEY = '_OBFUSCATED_' LOGIN_URL = 'account_login' LOGIN_REDIRECT_URL = 'list_index' LOGOUT_URL = 'account_logout' STATICFILE_FINDERS = 'compressor.finders.CompressorFinder' COMPRESS_CSS_HASHING_METHOD = 'content' COMPRESS_PRECOMPILERS = ( ('text/x-scss', 'sassc -t compressed {infile} {outfile}'), ('text/x-sass', 'sassc -t compressed {infile} {outfile}'), ) POSTORIUS_TEMPLATE_BASE_URL = 'http://localhost:8000' TIME_FORMAT = '%H:%M:%S' DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S'