Re: Unknown attribute: max_message_size
by Alexander Klotz
Hi,
just encountering the same problem in postorious, how are the chances of
a fix being released soon? Otherwise, we will try the workaround
mentioned here:
https://gitlab.com/mailman/postorius/commit/f86ab7fb5cc6edeb23c43336b677c24…
Regards,
Alex
Am 06.12.17 um 20:03 schrieb Abhilash Raj:
>
>
> On Wed, Dec 6, 2017, at 08:25 AM, Simon Hanna wrote:
>> On 12/06/2017 11:40 AM, Thor Atle Rustad wrote:
>>> If I make changes here:
>>> https://example.com/postorius/lists/test2.example.com/settings/message_acce…,
>>> I get a warning that the Maximum Message Size field at the bottom is
>>> mandatory. However, if I put a number in that field and save, I get
>>> "Unknown attribute: max_message_size". That makes sense, since Mark states
>>> in
>>> https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message…
>>> that max_messages_size is not exposed in REST.
>> It is. https://gitlab.com/mailman/mailman/merge_requests/329
>
> I have added a backport-candidate tag to the MR and will get it out in
> 3.1.2 release, if that happens.
>
>>
>>>
>>> What to do?
>
> I understand that it might not be the best answer, but `rolling` tags
> for images do have this problem fixed, they are based on Git-heads.
>
>>>
>>> I have Maxking mailman-docker but can easily copy files into the image if
>>> necessary.
>> Are you sure you have up to date images?
>> _______________________________________________
>> Mailman-users mailing list
>> mailman-users(a)mailman3.org
>> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
>
>
--
Mit freundlichen Grüßen,
Alexander Klotz
(redaktion kulturserver)
mailto:alexk@kulturserver.de
Stiftung kulturserver.de gGmbH
Lothringerstraße 23
D-52062 Aachen
http://ggmbh.kulturserver.de
Geschäftsführer: Wolfgang Knauff
Amtsgericht Aachen* *Handelsregister-Nr.:B 10515
Umsatzsteuer-Identifikations-Nr.:DE DE 230868040
8 years, 3 months
Re: spanish localization
by Guillermo Hernandez (Oldno7)
On 13/2/21 11:55, Victoriano Giralt wrote:
> On Fri, 2021-02-12 at 12:24 -0800, Mark Sapiro wrote:
>> If the manage.py in the directory in which you ran this is the
>> correct one for your Mailman Django project, I don't know why it
>> didn't work.
> Me neither :-( That's why I asked, and probably Guillermo, as well.
>
>> Is your Mailman installed in a virtualenv? If so, was the virtualenv
>> activated?
> No virtualenv. Mine is deployed using system python on a CentOS 7
> system, toghether with another in house developed low requirements
> Django project, both served by uWSGI vassals.
And mine, as well, in a FreeBSD 12.2-RELEASE, no virtualenv and uWSGI
approach with apache24 server.
>
> And then, all of a sudden, while I was writting this, it dawned on me!
>
> Postorius, Hyperkitty and django-mailman are installed with pip, so,
> the end up in the site-packages directory (usually
> /usr/local/lib/python3.x/site-packages),
That is my case, too.
> but, normally, django projects
> are deployed somewhere in the web server hierarchy (/var/ww/django in
> my case, due to old personal tastes), and applications properly defined
> in the settings.py for the project.
>
> So, the message files are out of reach for manage.py.
>
> Changing to /usr/local/lib/python3.x/site-packages/X
> (with X being postorius, hyperkitty and django_mailman3) and using
> django-admin compilemessages all works!
And for me as well. Thanks a lot Victoriano, I owe you a beer
>
> Thanks for pushing my thoughts in the right direction!
>
>
> _______________________________________________
> Mailman-users mailing list -- mailman-users(a)mailman3.org
> To unsubscribe send an email to mailman-users-leave(a)mailman3.org
> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
5 years, 7 months
Re: Verification links to localhost
by Odhiambo Washington
On Sun, Feb 5, 2023 at 10:23 AM Lars Bjørndal <lars(a)lamasti.net> wrote:
> Hi, and than you for your quick reply!
>
> You wrote:
>
> > On Sun, Feb 5, 2023 at 9:51 AM Lars Bjørndal <[1]lars(a)lamasti.net>
> wrote:
> >
> > The verification link I get back when trying to add an account,
> referes
> > to localhost, e.g.
> >
> > To confirm this is correct, go to [2]
> https://localhost:8000/accounts/
> > confirm-email/Mw:1...
> >
> > Where do I change that?
> >
> >
> > What do you have as POSTORIUS_TEMPLATE_BASE_URL value in settings?
>
> I don't have this variable anywhere in /etc/mailman3. However, I found it
> here:
>
> ./venv/lib/python3.10/site-packages/mailman_web/settings/mailman.py:POSTORIUS_TEMPLATE_BASE_URL
> = 'http://localhost:8000'
>
> In which config file should that variable be set, and how do I set it so
> that mailman can works for multiple domains?
>
Because it is still too early in your quest to get to run Mailman3, I'd
advise that you take your time to follow this guide:
https://docs.mailman3.org/en/latest/install/virtualenv.html#
It is the official installation guide.
There is a step where it tells you to create a file named settings.py, in a
particular path. You really need that step.
Regarding your question about multiple domains, that is already well taken
care of when you create a list either via Postorius or the cli:
(venv) [mailman@gw /opt/mailman]$mailman create list1(a)domain1.name
(venv) [mailman@gw /opt/mailman]$mailman create another-lis(a)domain2.name
Mailman will know how to handle this in conjunction with your MTA.
--
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254 7 3200 0004/+254 7 2274 3223
"Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-)
3 years, 7 months
Hacking attempts?
by Lists
Hi,
We are seeing thousands of these emails every day, looks like someone is trying to hack our Mailman3 but would appreciate someone with more knowledge of MM3 to confirm.
Is this a problem with our setup? i.e. the “Internal Server Error” bit, or are the hackers just sending bad data that is causing the error? also how do we stop/block this?
TIA and here is a typical email:
Subject: [Django] ERROR (EXTERNAL IP): Internal Server Error: /mailman3/accounts/fedora/login/
Internal Server Error: /mailman3/accounts/fedora/login/
TypeError at /accounts/fedora/login/
_openid_consumer() missing 2 required positional arguments: 'provider' and 'endpoint'
Request Method: GET
Request URL: https://mailman.ardc.net/mailman3/accounts/fedora/login/?process=login&next… <https://mailman.ardc.net/mailman3/accounts/fedora/login/?process=login&next…>
Django Version: 2.2.26
Python Executable: /usr/bin/uwsgi-core
Python Version: 3.9.2
Python Path: ['.', '', '/usr/lib/python39.zip', '/usr/lib/python3.9', '/usr/lib/python3.9/lib-dynload', '/usr/local/lib/python3.9/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3.9/dist-packages']
Server time: Thu, 14 Jul 2022 02:34:04 -0400
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:
File "/usr/lib/python3/dist-packages/django/core/handlers/exception.py" in inner
34. response = get_response(request)
File "/usr/lib/python3/dist-packages/django/core/handlers/base.py" in _get_response
115. response = self.process_exception_by_middleware(e, request)
File "/usr/lib/python3/dist-packages/django/core/handlers/base.py" in _get_response
113. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python3/dist-packages/django/views/generic/base.py" in view
71. return self.dispatch(request, *args, **kwargs)
File "/usr/lib/python3/dist-packages/django/views/generic/base.py" in dispatch
97. return handler(request, *args, **kwargs)
File "/usr/lib/python3/dist-packages/django_mailman3/lib/auth/fedora/views.py" in get
56. return self.post(request, *args, **kwargs)
File "/usr/lib/python3/dist-packages/django_mailman3/lib/auth/fedora/views.py" in post
67. client = _openid_consumer(request)
Exception Type: TypeError at /accounts/fedora/login/
Exception Value: _openid_consumer() missing 2 required positional arguments: 'provider' and 'endpoint'
Request information:
USER: AnonymousUser
GET:
process = 'login'
next = '/mailman3/hyperkitty/list/44net(a)mailman.ampr.org <mailto:mailman3/hyperkitty/list/44net@mailman.ampr.org>/message/O5Z2YZBJZXFPH2ACAORN6BST7B2S3M3P/'
POST: No POST data
FILES: No FILES data
COOKIES: No cookie data
META:
CONTEXT_DOCUMENT_ROOT = '/var/www/html'
CONTEXT_PREFIX = ''
DOCUMENT_ROOT = '/var/www/html'
GATEWAY_INTERFACE = 'CGI/1.1'
HTTPS = 'on'
HTTP_ACCEPT = 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
HTTP_ACCEPT_ENCODING = 'gzip,deflate'
HTTP_CONNECTION = 'Keep-Alive'
HTTP_HOST = 'mailman.ardc.net <http://mailman.ardc.net/>'
HTTP_USER_AGENT = 'Mozilla/5.0 (compatible; BLEXBot/1.0; +http://webmeup-crawler.com/ <http://webmeup-crawler.com/>)'
PATH = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
PATH_INFO = '/accounts/fedora/login/'
QUERY_STRING = 'process=login&next=/mailman3/hyperkitty/list/44net(a)mailman.ampr.org <mailto:process=login&next=/mailman3/hyperkitty/list/44net@mailman.ampr.org>/message/O5Z2YZBJZXFPH2ACAORN6BST7B2S3M3P/'
REMOTE_ADDR = '157.90.177.212'
REMOTE_PORT = '63384'
REQUEST_METHOD = 'GET'
REQUEST_SCHEME = 'https'
REQUEST_URI = '/mailman3/accounts/fedora/login/?process=login&next=/mailman3/hyperkitty/list/44net(a)mailman.ampr.org <mailto:mailman3/accounts/fedora/login/?process=login&next=/mailman3/hyperkitty/list/44net@mailman.ampr.org>/message/O5Z2YZBJZXFPH2ACAORN6BST7B2S3M3P/'
SCRIPT_FILENAME = 'proxy:uwsgi://localhost//accounts/fedora/login/' <uwsgi://localhost//accounts/fedora/login/'>
SCRIPT_NAME = '/mailman3'
SERVER_ADDR = '44.1.1.29'
SERVER_ADMIN = 'postmaster(a)ardc.net <mailto:postmaster@ardc.net>'
SERVER_NAME = 'mailman.ardc.net <http://mailman.ardc.net/>'
SERVER_PORT = '443'
SERVER_PROTOCOL = 'HTTP/1.1'
SERVER_SIGNATURE = '<address>Apache/2.4.53 (Debian) Server at mailman.ardc.net <http://mailman.ardc.net/> Port 443</address>\n'
SERVER_SOFTWARE = 'Apache/2.4.53 (Debian)'
SSL_TLS_SNI = 'mailman.ardc.net <http://mailman.ardc.net/>'
uwsgi.core = 1
uwsgi.node = b'mailman'
uwsgi.version = b'2.0.19.1-debian'
wsgi.errors = <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'>
wsgi.file_wrapper = ''
wsgi.input = <uwsgi._Input object at 0x7f8e0b4a0410>
wsgi.multiprocess = False
wsgi.multithread = True
wsgi.run_once = False
wsgi.url_scheme = 'https'
wsgi.version = '(1, 0)'
Settings:
Using settings module settings
ABSOLUTE_URL_OVERRIDES = {}
ACCOUNT_AUTHENTICATION_METHOD = 'username_email'
ACCOUNT_DEFAULT_HTTP_PROTOCOL = 'https'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_UNIQUE_EMAIL = True
ADMINS = "(('Mailman Suite Admin', 'postmaster(a)ardc.net <mailto:postmaster@ardc.net>'),)"
ALLOWED_HOSTS = ['*']
APPEND_SLASH = True
AUTHENTICATION_BACKENDS = "('django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBackend')"
AUTH_PASSWORD_VALIDATORS = '********************'
AUTH_USER_MODEL = 'auth.User'
BASE_DIR = '/usr/share/mailman3-web'
CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS = 'default'
CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
CACHE_MIDDLEWARE_SECONDS = 600
COMPRESSORS = {'css': 'compressor.css.CssCompressor', 'js': 'compressor.js.JsCompressor'}
COMPRESS_CACHEABLE_PRECOMPILERS = '()'
COMPRESS_CACHE_BACKEND = 'default'
COMPRESS_CACHE_KEY_FUNCTION = '********************'
COMPRESS_CLEAN_CSS_ARGUMENTS = ''
COMPRESS_CLEAN_CSS_BINARY = 'cleancss'
COMPRESS_CLOSURE_COMPILER_ARGUMENTS = ''
COMPRESS_CLOSURE_COMPILER_BINARY = 'java -jar compiler.jar'
COMPRESS_CSS_HASHING_METHOD = 'mtime'
COMPRESS_DATA_URI_MAX_SIZE = 1024
COMPRESS_DEBUG_TOGGLE = None
COMPRESS_ENABLED = True
COMPRESS_FILTERS = {'css': ['compressor.filters.css_default.CssAbsoluteFilter'], 'js': ['compressor.filters.jsmin.JSMinFilter']}
COMPRESS_JINJA2_GET_ENVIRONMENT = <function CompressorConf.JINJA2_GET_ENVIRONMENT at 0x7f8e17d7a670>
COMPRESS_MINT_DELAY = 30
COMPRESS_MTIME_DELAY = 10
COMPRESS_OFFLINE = True
COMPRESS_OFFLINE_CONTEXT = {'STATIC_URL': '/mailman3/static/'}
COMPRESS_OFFLINE_MANIFEST = 'manifest.json'
COMPRESS_OFFLINE_TIMEOUT = 31536000
COMPRESS_OUTPUT_DIR = 'CACHE'
COMPRESS_PARSER = 'compressor.parser.AutoSelectParser'
COMPRESS_PRECOMPILERS = '()'
COMPRESS_REBUILD_TIMEOUT = 2592000
COMPRESS_ROOT = '/var/lib/mailman3/web/static'
COMPRESS_STORAGE = 'compressor.storage.CompressorFileStorage'
COMPRESS_TEMPLATE_FILTER_CONTEXT = {'STATIC_URL': '/mailman3/static/'}
COMPRESS_URL = '/mailman3/static/'
COMPRESS_URL_PLACEHOLDER = '/__compressor_url_placeholder__/'
COMPRESS_VERBOSE = False
COMPRESS_YUGLIFY_BINARY = 'yuglify'
COMPRESS_YUGLIFY_CSS_ARGUMENTS = '--terminal'
COMPRESS_YUGLIFY_JS_ARGUMENTS = '--terminal'
COMPRESS_YUI_BINARY = 'java -jar yuicompressor.jar'
COMPRESS_YUI_CSS_ARGUMENTS = ''
COMPRESS_YUI_JS_ARGUMENTS = ''
CSRF_COOKIE_AGE = 31449600
CSRF_COOKIE_DOMAIN = None
CSRF_COOKIE_HTTPONLY = False
CSRF_COOKIE_NAME = 'csrftoken'
CSRF_COOKIE_PATH = '/'
CSRF_COOKIE_SAMESITE = 'Lax'
CSRF_COOKIE_SECURE = False
CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS = []
CSRF_USE_SESSIONS = False
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql', 'NAME': 'mailman', 'USER': 'mailman', 'PASSWORD': '********************', 'HOST': ‘X.X.X.X', 'PORT': '', 'OPTIONS': {'init_command': "SET sql_mode='STRICT_TRANS_TABLES'", 'charset': 'utf8mb4'}, 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
DATABASE_ROUTERS = []
DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
DATETIME_FORMAT = 'N j, Y, P'
DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
DATE_FORMAT = 'N j, Y'
DATE_INPUT_FORMATS = ['%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 = False
DEBUG_PROPAGATE_EXCEPTIONS = False
DECIMAL_SEPARATOR = '.'
DEFAULT_CHARSET = 'utf-8'
DEFAULT_CONTENT_TYPE = 'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL = 'postorius(a)mailman.ardc.net <mailto:postorius@mailman.ardc.net>'
DEFAULT_INDEX_TABLESPACE = ''
DEFAULT_TABLESPACE = ''
DISALLOWED_USER_AGENTS = []
EMAILNAME = 'mailman.ardc.net <http://mailman.ardc.net/>'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_HOST_PASSWORD = '********************'
EMAIL_HOST_USER = ''
EMAIL_PORT = 25
EMAIL_SSL_CERTFILE = None
EMAIL_SSL_KEYFILE = '********************'
EMAIL_SUBJECT_PREFIX = '[Django] '
EMAIL_TIMEOUT = None
EMAIL_USE_LOCALTIME = False
EMAIL_USE_SSL = False
EMAIL_USE_TLS = False
FILE_CHARSET = 'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
FILE_UPLOAD_PERMISSIONS = None
FILE_UPLOAD_TEMP_DIR = None
FILTER_VHOST = False
FIRST_DAY_OF_WEEK = 0
FIXTURE_DIRS = []
FORCE_SCRIPT_NAME = None
FORMAT_MODULE_PATH = None
FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
HAYSTACK_CONNECTIONS = {'default': {'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine', 'PATH': '/var/lib/mailman3/web/fulltext_index'}}
HOSTNAME = 'localhost.local'
IGNORABLE_404_URLS = []
INSTALLED_APPS = "('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 = []
LANGUAGES = [('af', 'Afrikaans'), ('ar', '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'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('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'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')]
LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
LANGUAGE_CODE = 'en-us'
LANGUAGE_COOKIE_AGE = None
LANGUAGE_COOKIE_DOMAIN = None
LANGUAGE_COOKIE_NAME = 'django_language'
LANGUAGE_COOKIE_PATH = '/'
LOCALE_PATHS = []
LOGGING = {'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 = 'logging.config.dictConfig'
LOGIN_REDIRECT_URL = 'list_index'
LOGIN_URL = 'account_login'
LOGOUT_REDIRECT_URL = None
LOGOUT_URL = 'account_logout'
MAILMAN_ARCHIVER_FROM = "('127.0.0.1', '::1', '10.4.16.129', '44.1.1.29')"
MAILMAN_ARCHIVER_KEY = '********************'
MAILMAN_REST_API_PASS = '********************'
MAILMAN_REST_API_URL = '********************'
MAILMAN_REST_API_USER = '********************'
MANAGERS = []
MEDIA_ROOT = ''
MEDIA_URL = ''
MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
MESSAGE_TAGS = {40: 'danger'}
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')"
MIGRATION_MODULES = {}
MONTH_DAY_FORMAT = 'F j'
NUMBER_GROUPING = 0
PASSWORD_HASHERS = '********************'
PASSWORD_RESET_TIMEOUT_DAYS = '********************'
POSTORIUS_TEMPLATE_BASE_URL = 'http://localhost/mailman3/ <http://localhost/mailman3/>'
PREPEND_WWW = False
Q_CLUSTER = {'timeout': 300, 'save_limit': 100, 'orm': 'default', 'poll': 5}
ROOT_URLCONF = 'urls'
SECRET_KEY = '********************'
SECURE_BROWSER_XSS_FILTER = False
SECURE_CONTENT_TYPE_NOSNIFF = False
SECURE_HSTS_INCLUDE_SUBDOMAINS = False
SECURE_HSTS_PRELOAD = False
SECURE_HSTS_SECONDS = 0
SECURE_PROXY_SSL_HEADER = None
SECURE_REDIRECT_EXEMPT = []
SECURE_SSL_HOST = None
SECURE_SSL_REDIRECT = False
SERVER_EMAIL = 'root(a)mailman.ardc.net <mailto:root@mailman.ardc.net>'
SESSION_CACHE_ALIAS = 'default'
SESSION_COOKIE_AGE = 1209600
SESSION_COOKIE_DOMAIN = None
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_NAME = 'sessionid'
SESSION_COOKIE_PATH = '/'
SESSION_COOKIE_SAMESITE = 'Lax'
SESSION_COOKIE_SECURE = False
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
SESSION_FILE_PATH = None
SESSION_SAVE_EVERY_REQUEST = False
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'
SETTINGS_MODULE = 'settings'
SHORT_DATETIME_FORMAT = 'm/d/Y P'
SHORT_DATE_FORMAT = 'm/d/Y'
SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS = []
SITE_ID = 1
SOCIALACCOUNT_PROVIDERS = {}
STATICFILES_DIRS = '()'
STATICFILES_FINDERS = "('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'compressor.finders.CompressorFinder')"
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT = '/var/lib/mailman3/web/static'
STATIC_URL = '/mailman3/static/'
TEMPLATES = [{'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 = []
TEST_RUNNER = 'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR = ','
TIME_FORMAT = 'P'
TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_THOUSAND_SEPARATOR = False
USE_TZ = True
USE_X_FORWARDED_HOST = True
USE_X_FORWARDED_PORT = False
WSGI_APPLICATION = 'wsgi.application'
X_FRAME_OPTIONS = 'SAMEORIGIN'
YEAR_MONTH_FORMAT = 'F Y’
4 years, 2 months
Re: digest summary heavily cluttered with hrml code
by Mark Sapiro
On 10/14/20 8:46 AM, Mohsen Masoudfar wrote:
> Hi,
>
> I am running Mailman 3.1.1 on Ubuntu 18.04.
>
> The user complains that the digest summary is cluttered with HTML code.
What does 'summary' mean in this context? Are you referring to the
'Today's Topics:' list or the messages themselves?
Is this perhaps <https://gitlab.com/mailman/mailman/-/issues/473>?
> I thought, I may fix it by:
> Members > {user} > Member options > Delivery mode set to [Plain Text Digest]. After setting the value and clicking [save changes], I tried to check the value by getting back to Members setting for the user, it shows the value as "Regular", which was the value before I tried to update it.
There are actually 3 sets of user preferences. They are in order of
priority, list based, address based and global. You can see these if you
are logged in to the web UI as the user and go to 'Mailman settings' in
the pull down at the top right.
There are issues in Postorius if a user is a member of a list with more
than one role - see <https://gitlab.com/mailman/mailman/-/issues/659>.
> Question 1: How may I be sure that the value is set, if it is set?
Examine the settings with `mailman shell`
> Question 2: How may set it for all members of the list?
Create a `mailman shell` script.
> Question 3: Is there a CLI way to do this? I tried "mailman members " command. But it seems not supporting this option.
Again, `mailman shell`, but this is low level and requires some
knowledge of Mailman internals.
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
5 years, 11 months
Re: Mailman installation results in KeyError: 'env_py'
by Abhilash Raj
On Sun, Oct 22, 2017, at 11:23 AM, Simon Hanna wrote:
>
>
>
> >Thanks. Applying this patch makes it work. Now I've got a different
> >problem, though. I can't get it to connect to Postfix for sending
> >emails it appears. After I created a superuser account using
> >
> > $ python manage.py createsuperuser
> >
> >as described on <http://postorius.readthedocs.io/en/latest/setup.html>,
> >I tried to login using this credentials into Postorius. It then
> >reported
> >it sent a confirmation email to me (for an account I created on
> >commandline?!), but Postfix' logs reveal that it didn't; there's not
> >even a sign of an attempted delivery in /var/log/mail.log. I've
> >configured the Postfix configuration in mailman.cfg like this:
>
> >
> >mailman-suite's settings.py contains:
> >
> > # Change this when you have a real email backend
> > EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
> > EMAIL_HOST = 'localhost'
> > EMAIL_PORT = 25
> >
> There is a second occurrence of EMAIL_BACKEND in the settings file. Try
> commenting it, or setting DEBUG to True
> IIRC I have created an issue for that on gitlab.
Setting DEBUG=True will use the 2nd `EMAIL_BACKEND` defined in settings
file [1], which I think is the problem.
Try setting DEBUG=False to use
'django.core.mail.backends.emtp.EmailBackend' backend, also, please feel
free to remove the 2nd definition of EMAIL_BACKEND [1] if you have
Postfix already setup to send emails. That extra option is left there so
that people can debug their Django installation even without having to
setup Postfix.
[1]:
https://gitlab.com/mailman/mailman-suite/blob/master/mailman-suite_project/…
--
Abhilash Raj
maxking(a)asynchronous.in
8 years, 11 months
Re: getting all registered users and their lists
by IOhannes m zmoelnig
On 1/26/22 17:19, Mark Sapiro wrote:
> On 1/26/22 00:16, IOhannes m zmoelnig wrote:
>
> You can do this in mailman shell[...]> ```
> >>> from datetime import datetime
> >>> um = getUtility(IUserManager)
> >>> for usr in um.users:
> ... if len(list(usr.memberships.members)) > 0:
> ... continue
> ... if usr.created_on < datetime(2022, 1, 1):
> ... continue
> ... adr = usr.addresses[0]
> ... print(f'Name: {adr.display_name}, Email: {adr.email}, Created:
> {usr.created_on}')
> ...
> ```
>
perfect. that did the trick, thanks a lot.
>> is there a scriptable way to get all users that have registered in my
>> mailman3 (3.2.1) instance and which lists they are subscribed to (if
>> any)?
>
> It's in Postorius >= 1.3.6
i'm not entirely sure how this relates to the above (working) snippet.
is it, that with postorious>=1.3.6 i would be able to perform that task
from the webinterface, rather than having to resort to 'mailman shell'?
in any case, this might be related:
before i received your email with the 'mailman shell' snippet, i scraped
some bits of my django knowledge and visited
<https://lists.example.com/admin> (the django admin interface), and
noticed the list of users there.
so i scraped that page for users (assuming that this was the list of
registered users).
then i get myself a list of all subscribers in my instance, using a
crude `mailman lists | grep "@" | while read l; do mailman members
"${l}"; done | sort -u`.
finally i calculated the difference between the two sets.
interestingly the results are quite different from the ones i got from
your script: both sets contain users that are not in the other set.
how come?
gfmdras
IOhannes
4 years, 7 months
confirm-email: error NoReverseMatc
by Peter Münster
Hi,
When confirming the email address after sign-up, I get this error:
--8<---------------cut here---------------start------------->8---
ERROR 2018-01-31 09:31:57,143 28537 django.request Internal Server Error: /accounts/confirm-email/Ng:1egno5:_T5eipR8TTan-zWjLK8EhYuetjQ/
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 132, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.7/site-packages/django/views/generic/base.py", line 71, in view
return self.dispatch(request, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/django/views/generic/base.py", line 89, in dispatch
return handler(request, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/django_allauth-0.34.0-py2.7.egg/allauth/account/views.py", line 283, in post
resp = self.login_on_confirm(confirmation)
File "/usr/lib/python2.7/site-packages/django_allauth-0.34.0-py2.7.egg/allauth/account/views.py", line 332, in login_on_confirm
redirect_url=self.get_redirect_url)
File "/usr/lib/python2.7/site-packages/django_allauth-0.34.0-py2.7.egg/allauth/account/utils.py", line 157, in perform_login
get_login_redirect_url(request, redirect_url))
File "/usr/lib/python2.7/site-packages/django_allauth-0.34.0-py2.7.egg/allauth/account/utils.py", line 50, in get_login_redirect_url
url = url()
File "/usr/lib/python2.7/site-packages/django_allauth-0.34.0-py2.7.egg/allauth/account/views.py", line 362, in get_redirect_url
self.request)
File "/usr/lib/python2.7/site-packages/django_allauth-0.34.0-py2.7.egg/allauth/account/adapter.py", line 176, in get_email_confirmation_redirect_url
return self.get_login_redirect_url(request)
File "/usr/lib/python2.7/site-packages/django_allauth-0.34.0-py2.7.egg/allauth/account/adapter.py", line 156, in get_login_redirect_url
return resolve_url(url)
File "/usr/lib/python2.7/site-packages/django/shortcuts.py", line 205, in resolve_url
return urlresolvers.reverse(to, args=args, kwargs=kwargs)
File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py", line 579, in reverse
return force_text(iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)))
File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py", line 496, in _reverse_with_prefix
(lookup_view_s, args, kwargs, len(patterns), patterns))
NoReverseMatch: Reverse for '' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
ERROR 2018-01-31 09:31:57,143 28537 django.request Internal Server Error: /accounts/confirm-email/Ng:1egno5:_T5eipR8TTan-zWjLK8EhYuetjQ/
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 132, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.7/site-packages/django/views/generic/base.py", line 71, in view
return self.dispatch(request, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/django/views/generic/base.py", line 89, in dispatch
return handler(request, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/django_allauth-0.34.0-py2.7.egg/allauth/account/views.py", line 283, in post
resp = self.login_on_confirm(confirmation)
File "/usr/lib/python2.7/site-packages/django_allauth-0.34.0-py2.7.egg/allauth/account/views.py", line 332, in login_on_confirm
redirect_url=self.get_redirect_url)
File "/usr/lib/python2.7/site-packages/django_allauth-0.34.0-py2.7.egg/allauth/account/utils.py", line 157, in perform_login
get_login_redirect_url(request, redirect_url))
File "/usr/lib/python2.7/site-packages/django_allauth-0.34.0-py2.7.egg/allauth/account/utils.py", line 50, in get_login_redirect_url
url = url()
File "/usr/lib/python2.7/site-packages/django_allauth-0.34.0-py2.7.egg/allauth/account/views.py", line 362, in get_redirect_url
self.request)
File "/usr/lib/python2.7/site-packages/django_allauth-0.34.0-py2.7.egg/allauth/account/adapter.py", line 176, in get_email_confirmation_redirect_url
return self.get_login_redirect_url(request)
File "/usr/lib/python2.7/site-packages/django_allauth-0.34.0-py2.7.egg/allauth/account/adapter.py", line 156, in get_login_redirect_url
return resolve_url(url)
File "/usr/lib/python2.7/site-packages/django/shortcuts.py", line 205, in resolve_url
return urlresolvers.reverse(to, args=args, kwargs=kwargs)
File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py", line 579, in reverse
return force_text(iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)))
File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py", line 496, in _reverse_with_prefix
(lookup_view_s, args, kwargs, len(patterns), patterns))
NoReverseMatch: Reverse for '' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
--8<---------------cut here---------------end--------------->8---
What could be the reason, and how could I solve this issue please?
Since it's perhaps related, here is my urls.py:
--8<---------------cut here---------------start------------->8---
from django.conf.urls import include, url
from django.contrib import admin
from postorius.views.list import list_index
urlpatterns = [
url(r'^postorius/', include('postorius.urls')),
url(r'^archives/', include('hyperkitty.urls')),
url(r'', include('django_mailman3.urls')),
url(r'^accounts/', include('allauth.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^$', list_index, name='list_index'),
]
--8<---------------cut here---------------end--------------->8---
TIA for any help,
--
Peter
8 years, 7 months
Re: MM3 Docker
by Mark Sapiro
On 1/7/19 1:18 AM, Odhiambo Washington wrote:
> On Sun, 6 Jan 2019 at 23:39, Mark Sapiro <mark(a)msapiro.net> wrote:
>>
>> Please help me understand what steps are missing and I will try to
>> provide the information.
>
>
> Okay.
>
> At the installation stage, you say the following:
> "I already had some things set up in /opt/mailman including a git
> subdirectory containing clones of the GitLab mailman, mailmanclient,
> mailman-hyperkitty, hyperkitty, django-mailman3 and
> postorius projects. On the third server I have added mailman-suite
> because I use the settings.py from that project as the basis for mine."
>
> Please assume that the reader is a newbie to python3 virtualenv and give the
> details of the commands they need to execute to (a) clone all the projects
> needed
> and (b) create the virtualenv.
>
> The next steps are:
> mkdir /opt/mailman/mm
>
> Then you say "I then created a /opt/mailman/mm directory and within that a
> Python 3.6 virtualenv"
> What happens here is something that needs clarification, because you are
> specific about "python3.6".
> I have googled and realized that one has to be specific about the python
> version they want to use in their virtualenv
> as shown here ->
> https://stackoverflow.com/questions/45293436/how-to-specify-python-version-…
>
> exact command to execute to create the /opt/mailman/mm/venv
> exact command to execute to activate virtualenv
I have added a comment to the page which I hope gives you what you want.
I also added a section on templates instead of referring to a prior
version of the page.
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
7 years, 8 months
Re: [Mailman-Users] mailman 3 and freeipa
by Abhilash Raj
On Mon, Mar 18, 2019, at 12:16 AM, Stephen J. Turnbull wrote:
> Crossposting and redirecting replies to mailman-users(a)mailman3.org.
>
> Steven Jones writes:
>
> > I cant find anything on this so far but can Mailman3's webui use
> > freeipa as the authentication mechanism?
>
> Hi Steve,
>
> I don't have a complete answer offhand (and right now I'm just
> reducing my inbox so a single google search is as much as I can do),
> but searching for "freeipa django" indicates that there are
> "connectors" for Django and FreeIPA. The nicest option would be a
> plugin for Django's socialauth application.
>
> If that doesn't seem to exist, perhaps you can just add a FreeIPA
> application to the Django configuration. You would need to add it to
> both Postorius and HyperKitty configurations.
Here is a list of all the providers Django-allauth(and hence us) support[1].
You can definitely add more providers and if Django-allauth isn't ready
to merge that, you could create a completely separate python package
that providers that functionality.
If you need examples, here is a custom provider we have in our source
code to authenticate using Fedora's auth management system[2].
[1]: https://django-allauth.readthedocs.io/en/latest/providers.html
[2]: https://gitlab.com/mailman/django-mailman3/tree/master/django_mailman3/lib/…
>
> Steve
>
>
> --
> Associate Professor Division of Policy and Planning Science
> http://turnbull.sk.tsukuba.ac.jp/ Faculty of Systems and Information
> Email: turnbull(a)sk.tsukuba.ac.jp University of Tsukuba
> Tel: 029-853-5175 Tennodai 1-1-1, Tsukuba 305-8573 JAPAN
> _______________________________________________
> Mailman-users mailing list -- mailman-users(a)mailman3.org
> To unsubscribe send an email to mailman-users-leave(a)mailman3.org
> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
>
--
thanks,
Abhilash Raj (maxking)
7 years, 6 months