Originally the MAILMAN_ARCHIVER_KEY field in settings.py was not present, added as listed above and I'm still not seeing messages added to the archives in the admin list where I have been testing. before I started looking into the issue all of the lists were set to use the prototype archiver which was in the default config on the virtualenv install guide, hyperkitty was absent from that guide entirely actually. I added most of what you had mentioned just this morning while troubleshooting.
here are the current configs and the files in spool.
in var/archives/hyperkitty/spool/
-rw-rw---- 1 mailman mailman 5.9K Jul 8 13:55 1625777713.5186543+0b1e6ae782342e699116994a4cc5968e8e01701c.pck -rw-rw---- 1 mailman mailman 5.8K Jul 8 13:55 1625777713.642453+2e79e4d69d3f91f72646af26822566116a98f92e.pck
mailman.cfg:
# /etc/mailman3/mailman.cfg [paths.here] var_dir: /opt/mailman/mm/var
[mailman] layout: here # 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: xxxx
[database] class: mailman.database.postgresql.PostgreSQLDatabase url: postgres://mailman:xxxxxxxx@localhost/mailman
[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] verp_confirmations: yes verp_personalized_deliveries: yes verp_delivery_interval: 1
mailman-hyperkitty.cfg
# This is the mailman extension configuration file to enable HyperKitty as an # archiver. Remember to add the following lines in the mailman.cfg file: # # [archiver.hyperkitty] # class: mailman_hyperkitty.Archiver # enable: yes # configuration: /path/to/here/mailman-hyperkitty.cfg #
[general]
# This is your HyperKitty installation, preferably on the localhost. This # address will be used by Mailman to forward incoming emails to HyperKitty # for archiving. It does not need to be publicly available, in fact it's # better if it is not. # However, if your Mailman installation is accessed via HTTPS, the URL needs # to match your SSL certificate (e.g. https://lists.example.com/hyperkitty). base_url: https://lists.siteurl.org/archives/
# Shared API key, must be the identical to the value in HyperKitty's # settings. api_key: thisisnotreallymykey
settings.py
# Mailman Web configuration file. # /etc/mailman3/settings.py
from mailman_web.settings.base import * from mailman_web.settings.mailman import *
#: Default list of admins who receive the emails from error logging. ADMINS = ( ('Mailman Suite Admin', 'root@localhost'), )
# Postgresql database setup. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'mailmanweb', 'USER': 'mailman', # TODO: Replace this with the password. 'PASSWORD': 'xxxxxxxx', 'HOST': 'localhost', 'PORT': '5432', } }
# 'collectstatic' command will copy all the static files here.
# Alias this location from your webserver to /static
STATIC_ROOT = '/var/www/docroot'
# Make sure that this directory is created or Django will fail on start. LOGGING['handlers']['file']['filename'] = '/opt/mailman/web/logs/mailmanweb.log'
#: See https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts ALLOWED_HOSTS = [ "*", # Archiving API from Mailman, keep it. # "lists.your-domain.org", # Add here all production domains you have. ]
#: Current Django Site being served. This is used to customize the web host #: being used to serve the current website. For more details about Django #: site, see: https://docs.djangoproject.com/en/dev/ref/contrib/sites/ SITE_ID = 2
# Set this to a new secret value. SECRET_KEY = 'notreallymyotherkey'
MAILMAN_ARCHIVER_KEY = 'thisisnotreallymykey'
#email configuration EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'localhost' EMAIL_PORT = 25 EMAIL_HOST_USER = '' EMAIL_HOST_PASSWORD = ''