In the annoucement mail, the new version is
- Mailman Core 3.3.0 (Tom Swayer)
but on my webpage I see:
Mailman Core Version GNU Mailman 3.3.0 (La Villa Strangiato)
Mailman Core API Version 3.0
Mailman Core Python Version 3.7.3 (default, Apr 3 2019, 05:39:12) [GCC 8.3.0]
Why is the version name from the previous release?
is my setup wrong?
[There are so many issues I keep reporting here about Mailman that get no response that I wonder if there is something fundamentally wrong with my site.]
Andrew
Is it possible for a list admin to modify the welcome message for a list via Postorius? Is the process:
1. Log into Postorious
2. Click on the Templates tab.
3. Select New Template.
4. Select "The notice sent to a member when they are subscribed to the mailing list"
5. Add your text and click the save button.
Is the correct process? I am using the latest Docker release of Mailman 3.
Dear list,
on our Mailman 3 system we are hitting the following error by clicking a link to admin/django_q/ormq/:
Server Error
The Log prints:
---
ERROR 2019-08-26 08:48:01,704 10311 django.request Internal Server Error: /admin/django_q/ormq/
Traceback (most recent call last):
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/db/models/options.py", line 566, in get_field
return self.fields_map[field_name]
KeyError: 'task_id'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/contrib/admin/utils.py", line 276, in lookup_field
f = _get_non_gfk_field(opts, name)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/contrib/admin/utils.py", line 307, in _get_non_gfk_field
field = opts.get_field(name)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/db/models/options.py", line 568, in get_field
raise FieldDoesNotExist("%s has no field named '%s'" % (self.object_name, field_name))
django.core.exceptions.FieldDoesNotExist: OrmQ has no field named 'task_id'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner
response = get_response(request)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/core/handlers/base.py", line 158, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/core/handlers/base.py", line 156, in _get_response
response = response.render()
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/response.py", line 106, in render
self.content = self.rendered_content
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/response.py", line 83, in rendered_content
content = template.render(context, self._request)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/backends/django.py", line 61, in render
return self.template.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 175, in render
return self._render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 167, in _render
return self.nodelist.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 943, in render
bit = node.render_annotated(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated
return self.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/loader_tags.py", line 155, in render
return compiled_parent._render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 167, in _render
return self.nodelist.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 943, in render
bit = node.render_annotated(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated
return self.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/loader_tags.py", line 155, in render
return compiled_parent._render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 167, in _render
return self.nodelist.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 943, in render
bit = node.render_annotated(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated
return self.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/loader_tags.py", line 67, in render
result = block.nodelist.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 943, in render
bit = node.render_annotated(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated
return self.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/loader_tags.py", line 67, in render
result = block.nodelist.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 943, in render
bit = node.render_annotated(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated
return self.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/library.py", line 214, in render
_dict = self.func(*resolved_args, **resolved_kwargs)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/contrib/admin/templatetags/admin_list.py", line 326, in result_list
'results': list(results(cl))}
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/contrib/admin/templatetags/admin_list.py", line 302, in results
yield ResultList(None, items_for_result(cl, res, None))
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/contrib/admin/templatetags/admin_list.py", line 293, in __init__
super().__init__(*items)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/contrib/admin/templatetags/admin_list.py", line 212, in items_for_result
f, attr, value = lookup_field(field_name, result, cl.model_admin)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/contrib/admin/utils.py", line 289, in lookup_field
value = attr()
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django_q/models.py", line 200, in task_id
return self.task()['id']
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django_q/models.py", line 194, in task
return SignedPackage.loads(self.payload)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django_q/signing.py", line 31, in loads
serializer=PickleSerializer)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django_q/core_signing.py", line 38, in loads
return serializer().loads(data)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django_q/signing.py", line 44, in loads
return pickle.loads(data)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 1: ordinal not in range(128)
ERROR 2019-08-26 08:48:01,704 10311 django.request Internal Server Error: /admin/django_q/ormq/
Traceback (most recent call last):
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/db/models/options.py", line 566, in get_field
return self.fields_map[field_name]
KeyError: 'task_id'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/contrib/admin/utils.py", line 276, in lookup_field
f = _get_non_gfk_field(opts, name)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/contrib/admin/utils.py", line 307, in _get_non_gfk_field
field = opts.get_field(name)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/db/models/options.py", line 568, in get_field
raise FieldDoesNotExist("%s has no field named '%s'" % (self.object_name, field_name))
django.core.exceptions.FieldDoesNotExist: OrmQ has no field named 'task_id'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner
response = get_response(request)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/core/handlers/base.py", line 158, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/core/handlers/base.py", line 156, in _get_response
response = response.render()
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/response.py", line 106, in render
self.content = self.rendered_content
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/response.py", line 83, in rendered_content
content = template.render(context, self._request)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/backends/django.py", line 61, in render
return self.template.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 175, in render
return self._render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 167, in _render
return self.nodelist.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 943, in render
bit = node.render_annotated(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated
return self.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/loader_tags.py", line 155, in render
return compiled_parent._render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 167, in _render
return self.nodelist.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 943, in render
bit = node.render_annotated(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated
return self.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/loader_tags.py", line 155, in render
return compiled_parent._render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 167, in _render
return self.nodelist.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 943, in render
bit = node.render_annotated(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated
return self.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/loader_tags.py", line 67, in render
result = block.nodelist.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 943, in render
bit = node.render_annotated(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated
return self.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/loader_tags.py", line 67, in render
result = block.nodelist.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 943, in render
bit = node.render_annotated(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated
return self.render(context)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/template/library.py", line 214, in render
_dict = self.func(*resolved_args, **resolved_kwargs)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/contrib/admin/templatetags/admin_list.py", line 326, in result_list
'results': list(results(cl))}
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/contrib/admin/templatetags/admin_list.py", line 302, in results
yield ResultList(None, items_for_result(cl, res, None))
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/contrib/admin/templatetags/admin_list.py", line 293, in __init__
super().__init__(*items)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/contrib/admin/templatetags/admin_list.py", line 212, in items_for_result
f, attr, value = lookup_field(field_name, result, cl.model_admin)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django/contrib/admin/utils.py", line 289, in lookup_field
value = attr()
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django_q/models.py", line 200, in task_id
return self.task()['id']
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django_q/models.py", line 194, in task
return SignedPackage.loads(self.payload)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django_q/signing.py", line 31, in loads
serializer=PickleSerializer)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django_q/core_signing.py", line 38, in loads
return serializer().loads(data)
File "/opt/mailman/mailman-venv/lib/python3.6/site-packages/django_q/signing.py", line 44, in loads
return pickle.loads(data)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 1: ordinal not in range(128)
---
Any ideas how to see the complete queue an maybe delete some defunct entries?
I have the server TZ set to EST. I have the TZ for Postfix set to EST. I have the following set in my settings_local.py file:
TIME_ZONE = 'America/New_York'
USE_TZ = True
However messages showing up in the pending moderation queue box shows UTC date. I am seeing this behavior in Affinity as well so I figured it is either a Mailman core setting or perhaps database? Can anyone shed light on that?
Brian
Hi Everyone,
I am pleased to announce new stable releases for:
- Postorius: 1.3.3
Changelog: https://docs.mailman3.org/projects/postorius/en/latest/news.html#id1
Download: https://pypi.org/project/postorius/1.3.3/
- Hyperkitty: 1.3.3
Changelog: https://hyperkitty.readthedocs.io/en/latest/news.html#id1
Download: https://pypi.org/project/HyperKitty/1.3.3rc1/
- Mailmanclient: 3.3.1
Changelog: https://docs.mailman3.org/projects/mailmanclient/en/latest/src/mailmanclien…
Download: https://pypi.org/project/mailmanclient/3.3.1/
- Django-mailman3: 1.3.3
Changelog: https://gitlab.com/mailman/django-mailman3/-/blob/master/README.rst
Download: https://pypi.org/project/django-mailman3/1.3.3
Python 3.6+ and Django 2.0+ is supported for all of them. Django 3.0 support for Hyperkitty requires manually upgrading a dependency (django-haystack>=3.0b2, once a stable version of this has been released, it shouldn't require manually upgrading).
There are tons of bug-fixes across the board and some new features.
Biggest visible change is switch to Bootstrap 4, which has been long pending for us. Bootstrap 4 completely changes the CSS grid model using the new Flexbox. There might be some small changes or breakages when using on mobile. Please report such issues to us via Gitlab!
Some other notable changes are in Postorius, which includes many more list settings exposed include content filtering settings, bounce processing (which was added in the previous release of Mailman Core) settings and some other ones. Settings page is also slightly different with all the sections on the vertical menu on left instead of horizontal tabs. You can now also specify a reason when rejecting held messages.
There was also a gnarly bug, which caused the name of some members to be the string "None". For the longest time, I couldn't figure out the reason for it, but it ended up being a simple fix in mailmanclient's json serialization of display_name, which would result in Python's None value being passed as string "None" to Mailman's API for subscription.
There is also better support for filtering visible lists based on the current vhost, which I see a few people are already waiting for from mailman-users list.
A full changelog has been added to each project in the top.
--
thanks,
Abhilash Raj (maxking)
Hi,
I set up the mailman3 services and lists, and we can send mail to the
list successfully. However in the Archive section I couldn't see
anything and all the lists were "inactive" and hence were hidden by default.
I confirmed that api_key set in the /etc/mailman3/mailman-hyperkitty.cfg
and /etc/mailman3/mailman-web.py is the same. I also confirmed that the
apache2 wsgi module has been loaded.
In the mailman.cfg database is set to mysql and in the mailman-web.py
database is set to sqlite3. Does it matter? I tried to search but
couldn't find any further information or discussion about this.
There is no systemd service for Hyperkitty. How can I check if
Hyperkitty is running or not?
Thanks, Franklin
Hi,
I have been working through other threads that indicate the same symptom (500 error when loading held_messages for a list).
These include potential truncation of values in pendedkeyvalue table (don't this is our problem) and error when trying to access a message in /var/lib/mailman3/messages (ran the suggested code to loop through the stored files but no error was thrown.)
Environment:
Ubuntu 18.04
mailman3/bionic,now 3.1.1-9 all [installed,automatic]
mailman3-full/bionic,now 3.1.1-9 all [installed]
mailman3-web/bionic,now 0+20170523-14 all [installed,automatic]
python-django-mailman3/bionic,now 1.1.0-4 all [installed,automatic]
python-mailmanclient/bionic,now 3.1.1-5 all [installed,automatic]
python3-mailman-hyperkitty/bionic,now 1.1.0-4 all [installed,automatic]
Error reported in log with debug enabled:
Traceback (most recent call last):
File "/usr/lib/python3.6/wsgiref/handlers.py", line 137, in run
self.result = application(self.environ, self.start_response)
File "/usr/lib/python3/dist-packages/mailman/database/transaction.py", line 50, in wrapper
rtn = function(*args, **kws)
File "/usr/lib/python3/dist-packages/mailman/rest/wsgiapp.py", line 214, in __call__
return super().__call__(environ, start_response)
File "falcon/api.py", line 215, in falcon.api.API.__call__ (falcon/api.c:2872)
File "falcon/api.py", line 189, in falcon.api.API.__call__ (falcon/api.c:2419)
File "/usr/lib/python3/dist-packages/mailman/rest/post_moderation.py", line 167, in on_get
resource = self._make_collection(request)
File "/usr/lib/python3/dist-packages/mailman/rest/helpers.py", line 159, in _make_collection
for resource in collection]
File "/usr/lib/python3/dist-packages/mailman/rest/helpers.py", line 159, in <listcomp>
for resource in collection]
File "/usr/lib/python3/dist-packages/mailman/rest/post_moderation.py", line 157, in _resource_as_dict
resource = self._make_resource(request.id)
File "/usr/lib/python3/dist-packages/mailman/rest/post_moderation.py", line 78, in _make_resource
resource['msg'] = msg.as_string()
File "/usr/lib/python3.6/email/message.py", line 158, in as_string
g.flatten(self, unixfrom=unixfrom)
File "/usr/lib/python3.6/email/generator.py", line 116, in flatten
self._write(msg)
File "/usr/lib/python3.6/email/generator.py", line 181, in _write
self._dispatch(msg)
File "/usr/lib/python3.6/email/generator.py", line 214, in _dispatch
meth(msg)
File "/usr/lib/python3.6/email/generator.py", line 272, in _handle_multipart
g.flatten(part, unixfrom=False, linesep=self._NL)
File "/usr/lib/python3.6/email/generator.py", line 116, in flatten
self._write(msg)
File "/usr/lib/python3.6/email/generator.py", line 181, in _write
self._dispatch(msg)
File "/usr/lib/python3.6/email/generator.py", line 214, in _dispatch
meth(msg)
File "/usr/lib/python3.6/email/generator.py", line 243, in _handle_text
msg.set_payload(payload, charset)
File "/usr/lib/python3.6/email/message.py", line 315, in set_payload
payload = payload.encode(charset.output_charset)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 8-9: ordinal not in range(128)
I'm sorry if this is a query that's answered already but I have not been able to find matching thread that seems to relate to my error.
Thanks for any advice on where to look next.
Cheers,
Simon.
_
[State Library of NSW]<https://www.sl.nsw.gov.au/>
Simon Handfield
Desktop and Infrastructure Leader
simon.handfield(a)sl.nsw.gov.au<mailto:simon.handfield@sl.nsw.gov.au>
+61 2 9273 1535
Macquarie Street, Sydney NSW 2000, Australia
www.sl.nsw.gov.au<https://www.sl.nsw.gov.au/>
This message is intended for the addressee named and may contain confidential information. If you are not the intended recipient, please delete it and notify the sender. Views expressed in this message are those of the individual sender, and are not necessarily the views of their organisation.
Hi everyone,
i installed mailman3-full on debian 10.
During installation, it asks me to enter the admin user credentials.
After configuration, I restart mailman3 and mailman3-web.
When I try to log in for the first time by entering the admin credentials, a message warns me that the credentials are incorrect.
I looked at the mailman logs, but I find nothing.
It seems that it is a django authentication problem, because even in the django admin panel I can't log in.
Looking at the mailman3web db, in the auth_user table, I see the admin user.
How can I see why it does not accept the credentials?
Thank you in advance
Folks,
I have been trying to set up a mailing list that is mostly for message
distribution, so there is a single sender of messages and multiple
receivers, but the receivers are moderated. I wouldn't mind receiver
messages being explicitly rejected but that's not an issue for now.
I looked around the interface and decided to set up the sender as a
non-member, as that appeared to permit them to be "special" and outside
of the normal access rules for the list. Before I did that I could send
a message from this sender and that would be sent to me as list owner
for moderation, so both incoming (from my mailserver) and outgoing (to
it) can be completed.
However, with a non-member who is auto-accepted the message is passed
from my mailserver to mailman and then disappears. I cannot find
anything in the logs to indicate what happened next. I have tried
setting the default non-member policy to both 'hold' and 'default' with
no change in that behaviour. The logs for the mailserver show the
message being sent to mailman; mailman's "smtp.log" shows an LMTP
message being received ok, and then nothing.
Any ideas how to find out what is going on? I can share config if that
helps but not sure what would be useful.
As a side-issue, at one point I added a regex matching the sender
address to the acceptable members list, but find that I cannot now
delete it (using postorius): If I delete the field and Save, it returns
on page refresh.
Regards,
Ruth
--
Software Manager & Engineer
Blog: http://www.ivimey.org/blog
LinkedIn: http://uk.linkedin.com/in/ruthivimeycook/
I'm running Mailman 3 via maxking's Docker implementation, and had an incident recently where something went badly wrong, and the file uwsgi-error.log filled up. As a consequence, so did the file system where that file resides,and things ground to a halt. The file is visible on the Docker host as /opt/mailman/web/logs/uwsgi-error.log.
I am unsure about how to rotate this file correctly. I could use logrotate on the host, but I can't locate any documentation that describes how to signal the relevant processes inside the mailman-web container. (Maybe this should be done within the container?)
I'd be grateful for any good advice on this.
Stephen