I am pleased to announce new stable releases for:
- Postorius: 1.3.3
- Hyperkitty: 1.3.3
- Mailmanclient: 3.3.1
- 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.
Abhilash Raj (maxking)
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?
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
File "/home/mailman/env3/lib/python3.5/site-packages/hyperkitty/search_indexes.py", line 115, in update_index
File "/home/mailman/env3/lib/python3.5/site-packages/haystack/management/commands/update_index.py", line 276, in update_backend
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
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
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
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?
PGP/GPG ID: F1D8799FBCC8BC4F
I want to update some list member's display_name either with mailman shell or mailmanclient. These mostly aren't users in Postorius so I only want to operate on the subscribed list member. I've tried everything I can find in the docs and am stuck.
I've tried using `user_manager.get_user()` and then updating `user.display_name` followed by a `commit()` but it doesn't seem to persist the change.
The `absorb_existing` flag for mailmanclient's `User.add_address()` looks promising but the docs read "It will import the existing user into the current one, not overwriting any previously set value." which in some cases, the member already has a display_name set. I haven't tried this yet.
I'd appreciate any help pointing in the right direction.
After upgrading to HyperKitty 1.3.x I get the following error for
File ".../lib/python3.7/site-packages/django_q/cluster.py", line 300,
task = SignedPackage.loads(task)
File ".../lib/python3.7/site-packages/django_q/signing.py", line 31,
File ".../lib/python3.7/site-packages/django_q/core_signing.py", line
38, in loads
File ".../lib/python3.7/site-packages/django_q/signing.py", line 44,
AttributeError: Can't get attribute 'process_task_result' on <module
How do I recover from that? It seems like there are still persisted
tasks in the qcluster queue using the old code from 1.2.x with the old
I have a Mailman 3 server up and running but I'm terrified to migrate to it from my existing Mailman 2 provider for fear that services like Gmail will randomly start blacklisting my IP with little I can do about it. I have SPF records set up so I'm hoping I'll be Ok but I'd like to have a backup plan.
Has anyone ever tried using an external service like Mailgun or Sendgrid as a relay? I tried both but couldn't get either to work due to their sender authentication mechanism. They want all 'From:' headers to be from domains that are pre-authenticated as senders. But Mailman keeps the 'From' header from the original sender so it won't match any authenticated domains. Right?
Is there anything to be done here or do I just have to migrate and pray?
Does anyone have any usable Logrotate files for Mailman3 (especially for the web stuff)?
Will look to create my own if no one comes forward but if anyone has anything they are willing to share it would be fab.
I'm new to Mailman and after some failed attempts to install from git on CentOS8, I have just installed it on Ubuntu 20.04 using mostly aptitude. But it's not quite working and I want to increase the log level to better understand the problem. I did see another post that suggested that I add to /etc/mailman3/mailman.cfg
But that doesn't work for me. For example, after using that `mailman conf` doesn't list and debug values and as far as I can tell, the service, even after restarting, is not logging any more than it was. On the other hand, if I add
Invoking `mailman conf` will reflect that new loglevel. This started me down the path of trying to figure out the configuration system of mailman in hope that that will save me time down the road. I have read
https://mailman.readthedocs.io/en/latest/src/mailman/config/docs/config.html but that doesn't seem to agree with what I'm seeing.
For an additional example, my mailman.cfg file has a "logging.debian" section, but I don't see that section listed in the `mailman conf` output. Why would that be?
I don't see in the documentation if `mailman conf` only sees values after the service is restarted. Nevertheless, restarting mailman hasn't helped.
What guidance can you give?
Context: `mailman info` produces:
GNU Mailman 3.2.2 (La Villa Strangiato)
Python 3.8.2 (default, Apr 27 2020, 15:53:34)
config file: /etc/mailman3/mailman.cfg
db url: sqlite:////var/lib/mailman3/data/mailman.db
REST root url: http://localhost:8001/3.1/
REST credentials: restadmin:KI5TuWE/v.....
In mailman 2, few of my users used to approve the held messages
through the mail by writing Approved: header and the password of the list
in the first line of the reply mail to the "confirm" attachment in the mail
notification of the held messages.
But after I started migrating my distribution lists from mailman
2 to mailman 3, my users are complaining that they could not approve the
posts or the held messages through the mail as they usually do while they
were browsing their lists in mailman 2.
Is there any bug or limitation in mailman 3 or if I am doing
any wrong at the server side? Please suggest.
Thanks & Regards,