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
I recently imported a number of MM2 lists into MM3. Unfortunately, the person had emergency moderation turned on for these lists. Since EM is not exposed to Postorius what can be done to reverse this?
Thanks,
Brian
Hi folks, I spent many hours last night trying to get Mailman 3 up and running. I am using Ubuntu on a Digital Ocean LAMP droplet (so PHP, Apache, Sql, and Postfix are already installed). The LAMP stack works as I have a successful installation of YOURLS going on.
So, I tried to use this guide (https://docs.google.com/document/d/1xIcSsoNFp2nHi7r4eQys00s9a0k2sHhu1V5Plan…) to install the Mailman3 package and got to the configuration screen (the one with all the DOS-esque GUI). I ran it but it kept saying the DB wasn't installed. Was I supposed to create SQL databases and users before running that and use those usernames/databases in the credentials it asks for? It doesn't seem like that in the way it asks the questions (since it asks to create a password) but I wasn't sure.
Anywho, I tried to remove the package completely and restart but I keep spinning my wheels. So my questions:
1. Does that guide actually work? Did I just foul up the database part?
2. Is there a better way to install mailman3 with some nice step-by-step directions to follow?
3. Is there a way to completely wipe my previous installs without wiping the server? ( I didn't back up...silly I know ). I used apt-get --purge remove to uninstall mailman3 and mailman to start over, did that do the trick?
Sorry for all the questions.
Hi,
I've just upgraded to Mailman 3.2.0 (finally everything Python 3 now,
thanks!) and it appears to work. However, there's a repeating error
message in mailman-suite's logfile for Hyperkitty that looks like this:
ERROR 2018-07-12 14:28:33,895 2742 hyperkitty.lib.utils Failed to update the fulltext index: ord() expected a character, but string of length 0 found
Traceback (most recent call last):
File "/home/mailman/env3/lib/python3.5/site-packages/hyperkitty/lib/utils.py", line 179, in run_with_lock
fn(*args, **kwargs)
File "/home/mailman/env3/lib/python3.5/site-packages/hyperkitty/search_indexes.py", line 115, in update_index
update_cmd.update_backend("hyperkitty", "default")
File "/home/mailman/env3/lib/python3.5/site-packages/haystack/management/commands/update_index.py", line 276, in update_backend
last_max_pk=max_pk)
File "/home/mailman/env3/lib/python3.5/site-packages/haystack/management/commands/update_index.py", line 97, in do_update
backend.update(index, current_qs, commit=commit)
File "/home/mailman/env3/lib/python3.5/site-packages/haystack/backends/whoosh_backend.py", line 178, in update
self.setup()
File "/home/mailman/env3/lib/python3.5/site-packages/haystack/backends/whoosh_backend.py", line 126, in setup
self.index = self.storage.open_index(schema=self.schema)
File "/home/mailman/env3/lib/python3.5/site-packages/whoosh/filedb/filestore.py", line 176, in open_index
return indexclass(self, schema=schema, indexname=indexname)
File "/home/mailman/env3/lib/python3.5/site-packages/whoosh/index.py", line 421, in __init__
TOC.read(self.storage, self.indexname, schema=self._schema)
File "/home/mailman/env3/lib/python3.5/site-packages/whoosh/index.py", line 632, in read
check_size("int", _INT_SIZE)
File "/home/mailman/env3/lib/python3.5/site-packages/whoosh/index.py", line 626, in check_size
sz = stream.read_varint()
File "/home/mailman/env3/lib/python3.5/site-packages/whoosh/filedb/structfile.py", line 191, in read_varint
return read_varint(self.read)
File "/home/mailman/env3/lib/python3.5/site-packages/whoosh/util/varints.py", line 102, in read_varint
b = ord(readfn(1))
TypeError: ord() expected a character, but string of length 0 found
The error repeats every minute, so I suppose it comes from the minutely
cronjob. This cronjob looks like this:
* * * * * mailman bash -c 'cd /home/mailman && . /home/mailman/env3/bin/activate && django-admin runjobs minutely --pythonpath /home/mailman/mailman-suite/mailman-suite_project --settings settings'
What's wrong here?
Marvin
--
Blog: https://mg.guelker.eu
PGP/GPG ID: F1D8799FBCC8BC4F
I feel like I'm missing something obvious, but is there a page in Postorius
that lists all of the lists of which the user is the owner or moderator?
When I visit the /lists/ URL as an admin, I see a full list. When I visit
the /lists/ URL without being logged in, I see public lists.
I've heard from two people who are list owners (and confirmed they're
logged in and their email is showing as verified) that they also just see
the public lists on the /lists/ page.
(I tried searching the archives and didn't see anything that addressed
this. My apologies if I overlooked it!)