Our company is evaluating mailman3 as an option for company internal list serving.
One of the requirements is that anyone with access to the list server be allowed to create and manage lists.
Is this possible? If so, how? Is there a "create list" role that can be added for all registered users?
how can I disable user registration? There are only two users, me - the admin - and an additional owner/moderator. The list setup we use is completely managed by the owner/moderator (about 100 mail adresses per list).
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.
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.
I hope this is helpful to the Ubuntu folks out there. Once some critical small things were figured out, turns out it's pretty easy to get Mailman 3 running successfully under Ubuntu 18.04. The linked google doc includes my own walkthru, which includes using a cloud server image for Ubuntu 18.04 and a LAMP setup with Apache 2 and PHP, as well as Python and PostgreSQL, and the mailman3-full package that comes with that Ubuntu distribution. The walk-thru uses Postfix for mail and PostgreSQL for the back end database.
If you use this and see needed corrections or additions, please let me know! ~Kelly
So our mailman got stuck again, but I did follow your advise. Here's
what I've found:
On 3/29/19 2:58 PM, Mark Sapiro wrote:
> On 3/29/19 2:28 PM, Dmitry Makovey wrote:
>> I've had encountered this situation now twice: mail is being stuck in
>> "out" queue and nothing in the logs indicates the issue. Is there a way
>> to ask mailman-core politely to attempt delivery (perhaps with increased
>> debugging in the logs) *without* restarting the core (which does solve
>> *this* problem but creates other problems, like availability of the
>> mailman as a whole)
> Is the "out" runner running?
# docker top mailman-core | grep -F out:
100 21681 13215 0
Mar28 ? 01:14:16
/usr/local/bin/python /usr/local/bin/runner --runner=out:0:1 -C
> ps -fwwA |grep runner=out
> If not, you should be able to start it as the Mailman user with a
> command like
> /path/to/python3 /path/to/mailman/bin/runner -C /path/to/mailman.cfg
> See 'ps -fwwA|grep runner' for examples
> If the out runner is running, is there a file named *.bak along with all
> the *.pck files in queue/out/
there is one, yes:
# ls -l /srv/mail/mailman/core/var/queue/out/*.bak
-rw-rw---- 1 100 65533 21512 Apr 14 19:45
what does it indicate and what should my steps be to resolve this (other
than restarting queues)?
> And if it's not, is there anything in Mailman's logs to indicate why it
> Also, 'mailman restart' should only take a matter of seconds, but if the
> out runner is running but not processing its queue, I think sending it a
> SIGINT should restart it.
SIGINT killed the process allright, but it didn't auto-respawn. I ended
up spawning it with:
/usr/local/bin/python /usr/local/bin/runner --runner=out:0:1 -C
but soon realized it doesn't go to background nicely so I've nohup'ed it
in the end. but it did solve my problem.
Sr System and DevOps Engineer SoM IRT
I have successfully setup a second domain with my Mailman3 setup. I also created a list using the second domain. So I have two domains with one list each. The issue I see at this point is all of the lists are shown via Postorius regardless of the list domain used. Is it possible to have only the lists to show that are part of the domain being used to access? For example:
Only listnames(a)domaina.com show up.
Only listnames(a)domainb.com show up.
Right now both domaina AND domainb lists showup regardless of the domain being used to access Postorius. The same goes for Hyperkitty as well.
I haven't found out where I could choose or edit default list values
(when creating new list).
For example I would like that all new lists would be with *private
archive* (and change this when it is needed).
This is great that I can choose not to advertise list in Index (which I
can choose from list creation interface) but I would like to choose
other options too.
Right now only solution is to create list and then choose Archiving and
then select "private archives".
Another thing is that I would like to choose default subscription policy
If anyone has encountered this problem, let me know!
All the best