On 2024/07/28 00:39, Mark Sapiro wrote:
On 7/27/24 15:16, Roland Giesler via Mailman-users wrote:
The server runs power-mailinabox, which uses Postfix indeed. All my mail, and quite a few others' mail is sent from the using SMTP-Auth on port 465. Actually, this message is sent via that server too. So it's clear to me that MM3 is not authenticating for some reason.
What do you see in Mailman's smtp.log and in the mail.log on the mail server?
The smtp log is in syslog...
Jul 28 12:48:19 mailman postfix/smtpd[63855]: connect from localhost[::1] Jul 28 12:48:19 mailman postfix/smtpd[63855]: NOQUEUE: reject: RCPT from localhost[::1]: 454 4.7.1 <roland@giesler.za.net>: Relay access denied; from=<postorius@giesler.za.net> to=<roland@giesler.za.net> proto=ESMTP helo=<mailman.fast.za.net> Jul 28 12:48:19 mailman postfix/smtpd[63769]: lost connection after RSET from localhost[::1] Jul 28 12:48:19 mailman postfix/smtpd[63769]: disconnect from localhost[::1] ehlo=1 mail=1 rcpt=0/1 rset=1 commands=3/4 Jul 28 12:48:19 mailman postfix/smtpd[63769]: connect from localhost[::1] Jul 28 12:48:19 mailman postfix/smtpd[63769]: 4D0DE120A5B: client=localhost[::1] Jul 28 12:48:19 mailman postfix/cleanup[63291]: 4D0DE120A5B: message-id=<172217089931.2150.9004701361968608890@mailman.fast.za.net> Jul 28 12:48:19 mailman postfix/qmgr[330]: 4D0DE120A5B: from=<root@giesler.za.net>, size=21782, nrcpt=1 (queue active) Jul 28 12:48:19 mailman postfix/smtpd[63769]: disconnect from localhost[::1] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5 Jul 28 12:48:19 mailman postfix/local[63575]: 4D0DE120A5B: to=<root@localhost>, relay=local, delay=0.01, delays=0.01/0/0/0, dsn=2.0.0, status=sent (delivered to mailbox) Jul 28 12:48:19 mailman postfix/qmgr[330]: 4D0DE120A5B: removed
I think I see what's going on here. The mail is being sent from postorius@giesler.za.net and there is no log entry on box2.gtahardware.co.za that shows this logon attempt. So it seems it's not going to that server, but rather to the local postfix.
A mail was sent to root on the localhost with the following content:
Return-Path: <root@giesler.za.net> X-Original-To: root@localhost Delivered-To: root@localhost Received: from mailman.fast.za.net (localhost [IPv6:::1]) by mailman.localdomain (Postfix) with ESMTP id 2174A120A5B for <root@localhost>; Sun, 28 Jul 2024 13:11:03 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: [Django] ERROR (EXTERNAL IP): Internal Server Error: /accounts/login/ From: root@giesler.za.net To: root@localhost Date: Sun, 28 Jul 2024 13:11:03 -0000 Message-ID: <172217226313.2150.10895652368679013629@mailman.fast.za.net>
Internal Server Error: /accounts/login/
SMTPRecipientsRefused at /accounts/login/ {'roland@giesler.za.net': (454, b'4.7.1 <roland@giesler.za.net>: Relay acce= ss denied')}
Request Method: POST Request URL: http://192.168.161.103/accounts/login/ Django Version: 3.2.12 Python Executable: /usr/bin/uwsgi-core Python Version: 3.10.12 Python Path: ['.', '', '/usr/lib/python310.zip', '/usr/lib/python3.10', '/u= sr/lib/python3.10/lib-dynload', '/usr/local/lib/python3.10/dist-packages', = '/usr/lib/python3/dist-packages', '/usr/lib/python3.10/dist-packages'] Server time: Sun, 28 Jul 2024 15:11:03 +0200 Installed Applications: ('hyperkitty', 'postorius', 'django_mailman3', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'django_gravatar', 'compressor', 'haystack', 'django_extensions', 'django_q', 'allauth', 'allauth.account', 'allauth.socialaccount', 'django_mailman3.lib.auth.fedora') Installed Middleware: ('django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django_mailman3.middleware.TimezoneMiddleware', 'postorius.middleware.PostoriusMiddleware')
Traceback (most recent call last): File "/usr/lib/python3/dist-packages/django/core/handlers/exception.py", line 47, in inner response =3D get_response(request) File "/usr/lib/python3/dist-packages/django/core/handlers/base.py", line 181, in _get_response response =3D wrapped_callback(request, *callback_args, **callback_kwargs) File "/usr/lib/python3/dist-packages/django/views/generic/base.py", line 70, in view return self.dispatch(request, *args, **kwargs) File "/usr/lib/python3/dist-packages/django/utils/decorators.py", line 43, in _wrapper return bound_method(*args, **kwargs) File "/usr/lib/python3/dist-packages/django/views/decorators/debug.py", line 89, in sensitive_post_parameters_wrapper return view(request, *args, **kwargs) File "/usr/lib/python3/dist-packages/allauth/account/views.py", line 146, in dispatch return super(LoginView, self).dispatch(request, *args, **kwargs) File "/usr/lib/python3/dist-packages/allauth/account/views.py", line 74, in dispatch response =3D super(RedirectAuthenticatedUserMixin, self).dispatch( File "/usr/lib/python3/dist-packages/django/views/generic/base.py", line 98, in dispatch return handler(request, *args, **kwargs) File "/usr/lib/python3/dist-packages/allauth/account/views.py", line 102, in post response =3D self.form_valid(form) File "/usr/lib/python3/dist-packages/allauth/account/views.py", line 159, in form_valid return form.login(self.request, redirect_url=3Dsuccess_url) File "/usr/lib/python3/dist-packages/allauth/account/forms.py", line 196, in login ret =3D perform_login( File "/usr/lib/python3/dist-packages/allauth/account/utils.py", line 175, in perform_login send_email_confirmation(request, user, signup=3Dsignup, email=3Demail) File "/usr/lib/python3/dist-packages/allauth/account/utils.py", line 346, in send_email_confirmation email_address.send_confirmation(request, signup=3Dsignup) File "/usr/lib/python3/dist-packages/allauth/account/models.py", line 62, in send_confirmation confirmation.send(request, signup=3Dsignup) File "/usr/lib/python3/dist-packages/allauth/account/models.py", line 169, in send get_adapter(request).send_confirmation_mail(request, self, signup) File "/usr/lib/python3/dist-packages/allauth/account/adapter.py", line 464, in send_confirmation_mail self.send_mail(email_template, emailconfirmation.email_address.email, ctx) File "/usr/lib/python3/dist-packages/allauth/account/adapter.py", line 136, in send_mail msg.send() File "/usr/lib/python3/dist-packages/django/core/mail/message.py", line 284, in send return self.get_connection(fail_silently).send_messages([self]) File "/usr/lib/python3/dist-packages/django/core/mail/backends/smtp.py", line 109, in send_messages sent =3D self._send(message) File "/usr/lib/python3/dist-packages/django/core/mail/backends/smtp.py", line 125, in _send self.connection.sendmail(from_email, recipients, message.as_bytes(linesep=3D'\r\n')) File "/usr/lib/python3.10/smtplib.py", line 901, in sendmail raise SMTPRecipientsRefused(senderrs)
Exception Type: SMTPRecipientsRefused at /accounts/login/ Exception Value: {'roland@giesler.za.net': (454, b'4.7.1 <roland@giesler.za.net>: Relay access denied')} Request information: USER: AnonymousUser
GET: No GET data
POST: csrfmiddlewaretoken =3D '41gp97hhfO2FhiEzOFLf1c5P3WLxk5TZvOgF0Qske6zI3EHtk8YK3w6wlEhLQAVS' login =3D 'roland@giesler.za.net' password =3D '********************' next =3D '/postorius/lists/'
FILES: No FILES data
COOKIES: csrftoken =3D 'aW8mw1heNIcuQ1YTMwnWMzi9DMaDFES6BJ8CnKshM0JxCn1NiZArOTjQVuGRb9UZ'
META: CONTENT_LENGTH =3D '164' CONTENT_TYPE =3D 'application/x-www-form-urlencoded' CSRF_COOKIE =3D 'aW8mw1heNIcuQ1YTMwnWMzi9DMaDFES6BJ8CnKshM0JxCn1NiZArOTjQVuGRb9UZ' DOCUMENT_ROOT =3D '/usr/share/nginx/html' HTTP_ACCEPT =3D 'text/html,application/xhtml+xml,application/xml;q=3D0.9,image/avif,image/webp,image/apng,*/*;q=3D0.8' HTTP_ACCEPT_ENCODING =3D 'gzip, deflate' HTTP_ACCEPT_LANGUAGE =3D 'en-GB,en' HTTP_CACHE_CONTROL =3D 'max-age=3D0' HTTP_CONNECTION =3D 'keep-alive' HTTP_CONTENT_LENGTH =3D '164' HTTP_CONTENT_TYPE =3D 'application/x-www-form-urlencoded' HTTP_COOKIE =3D 'csrftoken=3DaW8mw1heNIcuQ1YTMwnWMzi9DMaDFES6BJ8CnKshM0JxCn1NiZArOTjQVuGRb9UZ' HTTP_HOST =3D '192.168.161.103' HTTP_ORIGIN =3D 'http://192.168.161.103' HTTP_REFERER =3D 'http://192.168.161.103/accounts/login/?next=3D/postorius/lists/' HTTP_SEC_GPC =3D '1' HTTP_UPGRADE_INSECURE_REQUESTS =3D '1' HTTP_USER_AGENT =3D 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36' PATH_INFO =3D '/accounts/login/' QUERY_STRING =3D '' REMOTE_ADDR =3D '192.168.131.150' REMOTE_PORT =3D '60098' REQUEST_METHOD =3D 'POST' REQUEST_SCHEME =3D 'http' REQUEST_URI =3D '/accounts/login/' SCRIPT_NAME =3D '' SERVER_NAME =3D '' SERVER_PORT =3D '80' SERVER_PROTOCOL =3D 'HTTP/1.1' uwsgi.core =3D 1 uwsgi.node =3D b'mailman' uwsgi.version =3D b'2.0.20-debian' wsgi.errors =3D <_io.TextIOWrapper name=3D2 mode=3D'w' encoding=3D'ANSI_X3.4-1968'> wsgi.file_wrapper =3D <built-in function uwsgi_sendfile> wsgi.input =3D <uwsgi._Input object at 0x7facb44bd530> wsgi.multiprocess =3D False wsgi.multithread =3D True wsgi.run_once =3D False wsgi.url_scheme =3D 'http' wsgi.version =3D '(1, 0)'
Settings: Using settings module settings ABSOLUTE_URL_OVERRIDES =3D {} ACCOUNT_AUTHENTICATION_METHOD =3D 'username_email' ACCOUNT_DEFAULT_HTTP_PROTOCOL =3D 'https' ACCOUNT_EMAIL_REQUIRED =3D True ACCOUNT_EMAIL_VERIFICATION =3D 'mandatory' ACCOUNT_UNIQUE_EMAIL =3D True ADMINS =3D "(('Mailman Suite Admin', 'root@localhost'),)" ALLOWED_HOSTS =3D ['*'] APPEND_SLASH =3D True AUTHENTICATION_BACKENDS =3D "('django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBackend')" AUTH_PASSWORD_VALIDATORS =3D '********************' AUTH_USER_MODEL =3D 'auth.User' BASE_DIR =3D '/usr/share/mailman3-web' CACHES =3D {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} CACHE_MIDDLEWARE_ALIAS =3D 'default' CACHE_MIDDLEWARE_KEY_PREFIX =3D '********************' CACHE_MIDDLEWARE_SECONDS =3D 600 COMPRESSORS =3D {'css': 'compressor.css.CssCompressor', 'js': 'compressor.js.JsCompressor'} COMPRESS_CACHEABLE_PRECOMPILERS =3D '()' COMPRESS_CACHE_BACKEND =3D 'default' COMPRESS_CACHE_KEY_FUNCTION =3D '********************' COMPRESS_CLEAN_CSS_ARGUMENTS =3D '' COMPRESS_CLEAN_CSS_BINARY =3D 'cleancss' COMPRESS_CLOSURE_COMPILER_ARGUMENTS =3D '' COMPRESS_CLOSURE_COMPILER_BINARY =3D 'java -jar compiler.jar' COMPRESS_CSS_HASHING_METHOD =3D 'mtime' COMPRESS_DATA_URI_MAX_SIZE =3D 1024 COMPRESS_DEBUG_TOGGLE =3D None COMPRESS_ENABLED =3D True COMPRESS_FILTERS =3D {'css': ['compressor.filters.css_default.CssAbsoluteFilter'], 'js': ['compressor.filters.jsmin.JSMinFilter']} COMPRESS_JINJA2_GET_ENVIRONMENT =3D <function CompressorConf.JINJA2_GET_ENVIRONMENT at 0x7facb6a52b00> COMPRESS_MINT_DELAY =3D 30 COMPRESS_MTIME_DELAY =3D 10 COMPRESS_OFFLINE =3D True COMPRESS_OFFLINE_CONTEXT =3D {'STATIC_URL': '/mailman3/static/'} COMPRESS_OFFLINE_MANIFEST =3D 'manifest.json' COMPRESS_OFFLINE_TIMEOUT =3D 31536000 COMPRESS_OUTPUT_DIR =3D 'CACHE' COMPRESS_PARSER =3D 'compressor.parser.AutoSelectParser' COMPRESS_PRECOMPILERS =3D '()' COMPRESS_REBUILD_TIMEOUT =3D 2592000 COMPRESS_ROOT =3D '/var/lib/mailman3/web/static' COMPRESS_STORAGE =3D 'compressor.storage.CompressorFileStorage' COMPRESS_TEMPLATE_FILTER_CONTEXT =3D {'STATIC_URL': '/mailman3/static/'} COMPRESS_URL =3D '/mailman3/static/' COMPRESS_URL_PLACEHOLDER =3D '/__compressor_url_placeholder__/' COMPRESS_VERBOSE =3D False COMPRESS_YUGLIFY_BINARY =3D 'yuglify' COMPRESS_YUGLIFY_CSS_ARGUMENTS =3D '--terminal' COMPRESS_YUGLIFY_JS_ARGUMENTS =3D '--terminal' COMPRESS_YUI_BINARY =3D 'java -jar yuicompressor.jar' COMPRESS_YUI_CSS_ARGUMENTS =3D '' COMPRESS_YUI_JS_ARGUMENTS =3D '' CSRF_COOKIE_AGE =3D 31449600 CSRF_COOKIE_DOMAIN =3D None CSRF_COOKIE_HTTPONLY =3D False CSRF_COOKIE_NAME =3D 'csrftoken' CSRF_COOKIE_PATH =3D '/' CSRF_COOKIE_SAMESITE =3D 'Lax' CSRF_COOKIE_SECURE =3D False CSRF_FAILURE_VIEW =3D 'django.views.csrf.csrf_failure' CSRF_HEADER_NAME =3D 'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS =3D [] CSRF_USE_SESSIONS =3D False DATABASES =3D {'default': {'ENGINE': 'django.db.backends.mysql', 'NAME': 'mailman3web', 'USER': 'mailman3web', 'PASSWORD': '********************', 'HOST': 'localhost', 'PORT': '', 'OPTIONS': {'init_command': "SET sql_mode=3D'STRICT_TRANS_TABLES'"}, 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}}} DATABASE_ROUTERS =3D [] DATA_UPLOAD_MAX_MEMORY_SIZE =3D 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS =3D 1000 DATA_UPLOAD_MAX_NUMBER_FILES =3D 100 DATETIME_FORMAT =3D 'N j, Y, P' DATETIME_INPUT_FORMATS =3D ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M'] DATE_FORMAT =3D 'N j, Y' DATE_INPUT_FORMATS =3D ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'] DEBUG =3D False DEBUG_PROPAGATE_EXCEPTIONS =3D False DECIMAL_SEPARATOR =3D '.' DEFAULT_AUTO_FIELD =3D 'django.db.models.AutoField' DEFAULT_CHARSET =3D 'utf-8' DEFAULT_EXCEPTION_REPORTER =3D 'django.views.debug.ExceptionReporter' DEFAULT_EXCEPTION_REPORTER_FILTER =3D 'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE =3D 'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL =3D 'postorius@giesler.za.net' DEFAULT_HASHING_ALGORITHM =3D 'sha256' DEFAULT_INDEX_TABLESPACE =3D '' DEFAULT_TABLESPACE =3D '' DISALLOWED_USER_AGENTS =3D [] EMAILNAME =3D 'giesler.za.net' EMAIL_BACKEND =3D 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST =3D 'localhost' EMAIL_HOST_PASSWORD =3D '********************' EMAIL_HOST_USER =3D '' EMAIL_PORT =3D 25 EMAIL_SSL_CERTFILE =3D None EMAIL_SSL_KEYFILE =3D '********************' EMAIL_SUBJECT_PREFIX =3D '[Django] ' EMAIL_TIMEOUT =3D None EMAIL_USE_LOCALTIME =3D False EMAIL_USE_SSL =3D False EMAIL_USE_TLS =3D False FILE_UPLOAD_DIRECTORY_PERMISSIONS =3D None FILE_UPLOAD_HANDLERS =3D ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE =3D 2621440 FILE_UPLOAD_PERMISSIONS =3D 420 FILE_UPLOAD_TEMP_DIR =3D None FILTER_VHOST =3D False FIRST_DAY_OF_WEEK =3D 0 FIXTURE_DIRS =3D [] FORCE_SCRIPT_NAME =3D None FORMAT_MODULE_PATH =3D None FORM_RENDERER =3D 'django.forms.renderers.DjangoTemplates' HAYSTACK_CONNECTIONS =3D {'default': {'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine', 'PATH': '/var/lib/mailman3/web/fulltext_index'}} HOSTNAME =3D 'localhost.local' IGNORABLE_404_URLS =3D [] INSTALLED_APPS =3D "('hyperkitty', 'postorius', 'django_mailman3', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'django_gravatar', 'compressor', 'haystack', 'django_extensions', 'django_q', 'allauth', 'allauth.account', 'allauth.socialaccount', 'django_mailman3.lib.auth.fedora')" INTERNAL_IPS =3D [] LANGUAGES =3D [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ar-dz', 'Algerian Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('ig', 'Igbo'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('ky', 'Kyrgyz'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokm=C3=A5l'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('tg', 'Tajik'), ('th', 'Thai'), ('tk', 'Turkmen'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('uz', 'Uzbek'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] LANGUAGES_BIDI =3D ['he', 'ar', 'ar-dz', 'fa', 'ur'] LANGUAGE_CODE =3D 'en-za' LANGUAGE_COOKIE_AGE =3D None LANGUAGE_COOKIE_DOMAIN =3D None LANGUAGE_COOKIE_HTTPONLY =3D False LANGUAGE_COOKIE_NAME =3D 'django_language' LANGUAGE_COOKIE_PATH =3D '/' LANGUAGE_COOKIE_SAMESITE =3D None LANGUAGE_COOKIE_SECURE =3D False LOCALE_PATHS =3D [] LOGGING =3D {'version': 1, 'disable_existing_loggers': False, 'filters': {'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'}}, 'handlers': {'mail_admins': {'level': 'ERROR', 'filters': ['require_debug_false'], 'class': 'django.utils.log.AdminEmailHandler'}, 'file': {'level': 'INFO', 'class': 'logging.handlers.RotatingFileHandler', 'filename': '/var/log/mailman3/web/mailman-web.log', 'formatter': 'verbose'}, 'console': {'class': 'logging.StreamHandler', 'formatter': 'simple'}}, 'loggers': {'django.request': {'handlers': ['mail_admins', 'file'], 'level': 'INFO', 'propagate': True}, 'django': {'handlers': ['file'], 'level': 'INFO', 'propagate': True}, 'hyperkitty': {'handlers': ['file'], 'level': 'INFO', 'propagate': True}, 'postorius': {'handlers': ['file'], 'level': 'INFO', 'propagate': True}}, 'formatters': {'verbose': {'format': '%(levelname)s %(asctime)s %(process)d %(name)s %(message)s'}, 'simple': {'format': '%(levelname)s %(message)s'}}} LOGGING_CONFIG =3D 'logging.config.dictConfig' LOGIN_REDIRECT_URL =3D 'list_index' LOGIN_URL =3D 'account_login' LOGOUT_REDIRECT_URL =3D None LOGOUT_URL =3D 'account_logout' MAILMAN_ARCHIVER_FROM =3D "('127.0.0.1', '::1')" MAILMAN_ARCHIVER_KEY =3D '********************' MAILMAN_REST_API_PASS =3D '********************' MAILMAN_REST_API_URL =3D '********************' MAILMAN_REST_API_USER =3D '********************' MANAGERS =3D [] MEDIA_ROOT =3D '' MEDIA_URL =3D '/' MESSAGE_STORAGE =3D 'django.contrib.messages.storage.fallback.FallbackStorage' MESSAGE_TAGS =3D {40: 'danger'} MIDDLEWARE =3D "('django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django_mailman3.middleware.TimezoneMiddleware', 'postorius.middleware.PostoriusMiddleware')" MIGRATION_MODULES =3D {} MONTH_DAY_FORMAT =3D 'F j' NUMBER_GROUPING =3D 0 PASSWORD_HASHERS =3D '********************' PASSWORD_RESET_TIMEOUT =3D '********************' PASSWORD_RESET_TIMEOUT_DAYS =3D '********************' POSTORIUS_TEMPLATE_BASE_URL =3D 'http://localhost/mailman3/' PREPEND_WWW =3D False Q_CLUSTER =3D {'timeout': 300, 'save_limit': 100, 'orm': 'default', 'poll': 5} ROOT_URLCONF =3D 'urls' SECRET_KEY =3D '********************' SECURE_BROWSER_XSS_FILTER =3D False SECURE_CONTENT_TYPE_NOSNIFF =3D True SECURE_HSTS_INCLUDE_SUBDOMAINS =3D False SECURE_HSTS_PRELOAD =3D False SECURE_HSTS_SECONDS =3D 0 SECURE_PROXY_SSL_HEADER =3D None SECURE_REDIRECT_EXEMPT =3D [] SECURE_REFERRER_POLICY =3D 'same-origin' SECURE_SSL_HOST =3D None SECURE_SSL_REDIRECT =3D False SERVER_EMAIL =3D 'root@giesler.za.net' SESSION_CACHE_ALIAS =3D 'default' SESSION_COOKIE_AGE =3D 1209600 SESSION_COOKIE_DOMAIN =3D None SESSION_COOKIE_HTTPONLY =3D True SESSION_COOKIE_NAME =3D 'sessionid' SESSION_COOKIE_PATH =3D '/' SESSION_COOKIE_SAMESITE =3D 'Lax' SESSION_COOKIE_SECURE =3D False SESSION_ENGINE =3D 'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE =3D False SESSION_FILE_PATH =3D None SESSION_SAVE_EVERY_REQUEST =3D False SESSION_SERIALIZER =3D 'django.contrib.sessions.serializers.PickleSerializer' SETTINGS_MODULE =3D 'settings' SHORT_DATETIME_FORMAT =3D 'm/d/Y P' SHORT_DATE_FORMAT =3D 'm/d/Y' SIGNING_BACKEND =3D 'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS =3D [] SITE_ID =3D 1 SOCIALACCOUNT_PROVIDERS =3D {} STATICFILES_DIRS =3D '()' STATICFILES_FINDERS =3D "('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'compressor.finders.CompressorFinder')" STATICFILES_STORAGE =3D 'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT =3D '/var/lib/mailman3/web/static' STATIC_URL =3D '/mailman3/static/' TEMPLATES =3D [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.template.context_processors.csrf', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'django_mailman3.context_processors.common', 'hyperkitty.context_processors.common', 'postorius.context_processors.postorius']}}] TEST_NON_SERIALIZED_APPS =3D [] TEST_RUNNER =3D 'django.test.runner.DiscoverRunner' THOUSAND_SEPARATOR =3D ',' TIME_FORMAT =3D 'P' TIME_INPUT_FORMATS =3D ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] TIME_ZONE =3D 'Africa/Johannesburg' USE_I18N =3D True USE_L10N =3D True USE_THOUSAND_SEPARATOR =3D False USE_TZ =3D True USE_X_FORWARDED_HOST =3D True USE_X_FORWARDED_PORT =3D False WSGI_APPLICATION =3D 'wsgi.application' X_FRAME_OPTIONS =3D 'DENY' YEAR_MONTH_FORMAT =3D 'F Y'