Search results for query "sapiro"
- 5812 messages

[MM3-users] Re: Postorius claims 2 messages held when there are none - out of sync
by Ken Alker
--On Monday, June 26, 2023 2:32 PM -0700 Mark Sapiro <mark(a)msapiro.net>
wrote:
> On 6/26/23 11:53 AM, Ken Alker wrote:
>>
>> Is the var/messages hierarchy also where all the archived emails are
>> stored for future viewing via the web interface?
>
>
> No. They are stored in the hyperkitty_email and hyperkitty_attachment
> tables in the database.
What else is stored in /var/messages, if not archives? I see 4711 messages
in that directory (which I presume would be as many messages are in the
archive database). If there is a write-up on this, feel free to point me
to it. I found
<https://docs.mailman3.org/projects/mailman/en/latest/build/lib/mailman/mode…>
but this isn't really answering my question.
>>> Also, there is a long thread at
>>> https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/thr
>>> ea d/UWCUQYU7Q5X5LWNII57ZZ4DDXE4DEFX7/ and maybe others that might be
>>> relevant.
>>
>> I have never used the mailman shell before, but based on the referenced
>> thread I learned to do this (note that the thread also taught me how to
>> rewrite it to narrow down to just the list with issues so I didn't
>> delete held messages in other lists, if my case):
>>
>> for verification:
>>
>> venv) mailman@speedy:~/web/logs$ mailman shell -l
>> sbarc-list(a)lists.netlojix.com
>> Welcome to the GNU Mailman shell
>> Use commit() to commit changes.
>> Use abort() to discard changes since the last commit.
>> Exit with ctrl+D does an implicit commit() but exit() does not.
>> The variable 'm' is the sbarc-list(a)lists.netlojix.com mailing list
>> >>> requests = IListRequests(m)
>> >>> first = True
>> >>> for request in requests.held_requests:
>> ... key, data = requests.get_request(request.id)
>> ... if first:
>> ... first = False
>> ... print(m.list_id)
>> ... print (f"""\
>> ... Sender: {data['_mod_sender']}
>> ... Subject: {data['_mod_subject']}
>> ... Date: {data['_mod_hold_date']}
>> ... Reason: {data['_mod_reason']}
>> ... """)
>> ...
>
>> and then to delete the two messages:
>>
>> (venv) mailman@speedy:~/web/logs$ mailman shell -l
>> sbarc-list(a)lists.netlojix.com
>> Welcome to the GNU Mailman shell
>> Use commit() to commit changes.
>> Use abort() to discard changes since the last commit.
>> Exit with ctrl+D does an implicit commit() but exit() does not.
>> The variable 'm' is the sbarc-list(a)lists.netlojix.com mailing list
>> >>> requests = IListRequests(m)
>> >>> first = True
>> >>> for request in requests.held_requests:
>> ... key, data = requests.get_request(request.id)
>> ... if first:
>> ... first = False
>> ... print(m.list_id)
>> ... print(f'request id: {request.id}, deleting')
>> ... requests.delete_request(request.id)
>> ...
>> sbarc-list.lists.netlojix.com
>> request id: 27, deleting
>> request id: 28, deleting
>> >>>
>>
>> The result of this, however, was that the web interface still claimed I
>> had two held messages. I wasn't sure if there was some cron-type
>> "sweeper" process I had to wait to auto-run or if I had to manually do
>> something to create an update. I then realized that the sample script
>> had a ' >>> commit ()" ' at the end, which I'd missed. So, I
>> re-entered the script (but it didn't spit out that it deleted anything
>> this time) and got an error when I did the commit.
>
> Was this in the same `mailman shell` interaction or a new one? What was
> the error?
I am pretty sure I started over entirely (ie. exited via ctrl-D and
restarted).
It was a syntax error, but in reviewing, I see now that I'd copied the
example exactly, and I included the trailing quote mark. After some
experimentation and reading, I see now that that should not have been there.
>> So, I figured the messages HAD
>> been delete and the commit wasn't really necessary. When I went back
>> to the web interface, the number of held messages was at 0 and I no
>> longer get the original error when clicking on "Held messages", so my
>> issue is solved. But this does leave me with some educational questions:
>>
>> 1) Did I affect something somehow with my "commit", or was there a job
>> that cleaned things up (if so, what job)?
>
>
> I'm not sure of the sequence of events, but I think you probably looked
> in Postorius before you quit `mailman shell` and then you quit `mailman
> shell` with ctrl-D which did an implicit commit.
I didn't think so, but I'll certainly buy that. So, I'm assuming by this
you are implying that there is no helper function that needed to run and
the number of held messages should have dropped to zero immediately upon a
refresh of the web page?
>> 2) Is the "commit" even necessary (I saw it in someone else's script in
>> the thread)?
>
> It is necessary to explicitly commit() or quit with ctrl-D to actually
> update the database.
Got it. Thanks. That explains why I didn't see any deletions when I
re-ran the script the second time (after likely exiting with ctrl-D first).
>> 3) Is there a way to save a script and then execute it via shell rather
>> than typing it in every time (it appears from the examples that people
>> are typing them in every time, which is super tedious; I didn't paste
>> for fear of doing something damaging, but maybe that would work)?
>
>
> Yes, you can save a script in the bin/ directory in your venv and run it
> with `mailman shell -r`. See `mailman shell --details`.
>
>
>> 4) Are the request.id's of the messages dynamic/changing, or are they
>> fixed for life? I thought I'd delete based on exact request.id without
>> looping but I was afraid maybe they were changing over time and that
>> this wouldn't be a good idea. Might be nice to know for the future.
>
> The request.id is constant for that request object. The request object is
> fixed for a specific held message request. I.e., a specific held
> message's request object and its request.id and other attributes are
> fixed until that request is handled.
So if I run the script, exist the shell, then come back in again, I can't
rely on the request.id being the same? I'd need to re-run the script and
get a new request.id?
2 years, 1 month

[MM3-users] Re: Hipperkitty failing to archive messages in a list
by Guillermo Hernandez (Oldno7)
On 5/1/22 21:50, Mark Sapiro wrote:
First, thanks a lot Mark for your guidance.
>>
>> HINT: Configure the DEFAULT_AUTO_FIELD setting or the
>> SocialAccountConfig.default_auto_field attribute to point to a
>> subclass of AutoField, e.g. 'django.db.models.BigAutoField'.
>
> This is from Django >=3.2 can be fixed by adding
>
> DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
>
> to your settings. This has been done in HyperKitty's
> example_project/settings.py for the not yet released 1.3.6 version.
>
> These warnings are only warnings, they aren't fatal.
I thought so. I've added it in the settings.py file.
In the last part of your suggestions you wrote:
"I suggest you do
pip install --upgrade hyperkitty mailman-hyperkitty
and ensure it installs hyperkitty 1.3.5 and mailman-hyperkitty 1.2.0"
But this is exactly what made me fall in this mess: I realized that the
versions of hiperkitty and mailman-hiperkitty in that server were
outdated.. and I tried update them separately, forgetting the saying
"if it works, don't touch it" (si funciona, no lo toques).
In my first message I listed the versions of all the items, but to
refresh it, as they are now:
(from pip list)
...
gunicorn 20.1.0
HyperKitty 1.3.5
...
mailman 3.3.5
mailman-hyperkitty 1.2.0
mailmanclient 3.3.3
...
mistune 2.0.1
...
mod-wsgi 4.7.1
...
postorius 1.3.6
(end of pip list)
I did the upgrade of all of it.
The "migration" process output the same warning as before about to doing
a "makemigration" (I did not this time)
Thinking that the problem in the "migrate" and "makemigration" process
could be that I touched the mistune/scanner.py to add escape and
escape_html imports, I deleted that two lines.
Then all went bad: the postorius list page didn't show anymore. The
error.log form the apache server shows
django.template.library.InvalidTemplateLibrary: Invalid template library
specified.
ImportError raised when trying to load 'hyperkitty.templatetags.decorate':
cannot import name 'escape_html' from 'mistune.scanner'
(/usr/local/lib/python3.7/site-packages/mistune/scanner.py)
So I tried to put them back (but I had problems with, I believe, the
__pychache__). I had to reinstall mistune and write back this lines that
I found in a previous thread from William Oliver last 12/28/21
I've finally came back to administering the lists via postorius.
I created a new list to do the tests without disturbing the rest. And
now I am at the exact same point: No message is archived and the log shows:
ERROR 2022-01-06 12:38:45,574 39059 hyperkitty.views.mailman The
MAILMAN_ARCHIVER_KEY was not sent as the Authorization HTTP header.
ERROR 2022-01-06 12:38:45,586 39059 hyperkitty.views.mailman The
MAILMAN_ARCHIVER_KEY was not sent as the Authorization HTTP header.
ERROR 2022-01-06 12:38:45,801 39059 hyperkitty.views.mailman The
MAILMAN_ARCHIVER_KEY was not sent as the Authorization HTTP header.
ERROR 2022-01-06 12:38:45,832 39059 hyperkitty.views.mailman The
MAILMAN_ARCHIVER_KEY was not sent as the Authorization HTTP header.
ERROR 2022-01-06 12:38:45,847 39059 hyperkitty.views.mailman The
MAILMAN_ARCHIVER_KEY was not sent as the Authorization HTTP header.
ERROR 2022-01-06 12:38:45,867 39059 hyperkitty.views.mailman The
MAILMAN_ARCHIVER_KEY was not sent as the Authorization HTTP header.
ERROR 2022-01-06 12:38:46,075 39059 hyperkitty.views.mailman The
MAILMAN_ARCHIVER_KEY was not sent as the Authorization HTTP header.
As this server has very low traffic, the emails are distributing well,
and the only thing that fails is the archiving of new messages, I will
wait until a more complete upgrading process is needed for mailman,
postorius or hiperkitty.
Thanks, again, for your support.
P.S.: One thing that make me curious is the "mistune" package... I don't
see it installed in the other servers that are working flawlessly with
mailman3.
>
> ...
>> Running a 'su -m mailman3 -c "python3 manage.py makemigrations" shows
>> the same warning listed before and some new errors:
>>
>> *-*-*-*-*-*-*
>>
>> Migrations for 'postorius':
>> /usr/local/lib/python3.7/site-packages/postorius/migrations/0017_alter_emailtemplate_name.py
>>
>> - Alter field name on emailtemplate
>> Traceback (most recent call last):
>> File "manage.py", line 10, in <module>
>> execute_from_command_line(sys.argv)
>> File
>> "/usr/local/lib/python3.7/site-packages/django/core/management/__init__.py",
>> line 419, in execute_from_command_line
>> utility.execute()
>> File
>> "/usr/local/lib/python3.7/site-packages/django/core/management/__init__.py",
>> line 413, in execute
>> self.fetch_command(subcommand).run_from_argv(self.argv)
>> File
>> "/usr/local/lib/python3.7/site-packages/django/core/management/base.py",
>> line 354, in run_from_argv
>> self.execute(*args, **cmd_options)
>> File
>> "/usr/local/lib/python3.7/site-packages/django/core/management/base.py",
>> line 398, in execute
>> output = self.handle(*args, **options)
>> File
>> "/usr/local/lib/python3.7/site-packages/django/core/management/base.py",
>> line 89, in wrapped
>> res = handle_func(*args, **kwargs)
>> File
>> "/usr/local/lib/python3.7/site-packages/django/core/management/commands/makemigrations.py",
>> line 190, in handle
>> self.write_migration_files(changes)
>> File
>> "/usr/local/lib/python3.7/site-packages/django/core/management/commands/makemigrations.py",
>> line 228, in write_migration_files
>> with open(writer.path, "w", encoding='utf-8') as fh:
>> PermissionError: [Errno 13] Permission denied:
>> '/usr/local/lib/python3.7/site-packages/postorius/migrations/0017_alter_emailtemplate_name.py'
>>
>>
>> *-*-*-*-*-*-*
>>
>> The file
>> '/usr/local/lib/python3.7/site-packages/postorius/migrations/0017_alter_emailtemplate_name.py'
>> does not exist at all
>
>
> makemigrations is trying to create that migration and you don't have
> permission to create the file. I don't know why it's trying to do
> that. Postorius 1.3.6 has migrations through
> 0016_auto_20210810_2157.py and shouldn't need more. To you have
> modificationd to Postorius?
>
>
>> Despite the error, I did a 'su -m mailman3 -c "python3 manage.py
>> compress"' and the subsequent "django-admin compilemessages" in
>>
>> /usr/local/lib/python3.7/site-packages/postorius, ../hyperkitty and
>> ../django_mailman3
>>
>> And the log continues showing the same error when trying archive a
>> new message.
>>
>> ERROR 2022-01-05 12:27:31,406 6988 hyperkitty.views.mailman The
>> MAILMAN_ARCHIVER_KEY was not sent as the Authorization HTTP header.
>> ERROR 2022-01-05 12:27:31,418 6988 hyperkitty.views.mailman The
>> MAILMAN_ARCHIVER_KEY was not sent as the Authorization HTTP header.
>> ERROR 2022-01-05 12:27:31,685 6988 hyperkitty.views.mailman The
>> MAILMAN_ARCHIVER_KEY was not sent as the Authorization HTTP header.
>> ERROR 2022-01-05 12:27:32,045 6988 hyperkitty.views.mailman The
>> MAILMAN_ARCHIVER_KEY was not sent as the Authorization HTTP header.
>> ERROR 2022-01-05 12:27:32,070 6988 hyperkitty.views.mailman The
>> MAILMAN_ARCHIVER_KEY was not sent as the Authorization HTTP header.
>> ERROR 2022-01-05 12:27:32,093 6988 hyperkitty.views.mailman The
>> MAILMAN_ARCHIVER_KEY was not sent as the Authorization HTTP header.
>
>
> These messages come from some HyperKitty version between commit
> b415d29d6cc59b3270c35b03ba3313dd03450271 Mon Jun 21 00:11:48 2021
> -0700 and
> commit c6272f3ef8375865382d0741d3d371a0dc41508a Fri Oct 8 06:32:06
> 2021 +0000
>
> They do not come from HyperKitty 1.3.5 but from something later than
> 1.3.4 which makes be think your mailman-hyperkitty version is not
> 1.2.0 either.
>
> I suggest you do
>
> pip install --upgrade hyperkitty mailman-hyperkitty
>
> and ensure it installs hyperkitty 1.3.5 and mailman-hyperkitty 1.2.0
>
>
--
___________________________________________
Mailman's content filtering has removed the
following MIME parts from this message.
Content-Type: image/png
Name: firma-GHP-emails.png
Replaced multipart/alternative part with first alternative.
3 years, 7 months

[MM3-users] Re: error changed after restart
by Abhilash Raj
On Sat, Feb 6, 2021 at 19:44, Guillermo Hernandez (Oldno7) via
Mailman-users <mailman-users(a)mailman3.org> wrote:
> On 6/2/21 18:08, Abhilash Raj wrote:
>>
>> On Sat, Feb 6, 2021, at 3:04 AM, Guillermo Hernandez (Oldno7) via
>> Mailman-users wrote:
>>> I restarted de server and the error changed. Now the log shows
>>> "KeyError: 'subscription_mode'":
>> Did you also restart Mailman Core after the upgrade?
>
> Yes, indeed:
>
> I stopped mailman core and all the processes related. Did the
> upgrades.
> Started all again. Find the errors in the web user interface. Stopped
> all again. Looked for errors in the log. Restarted the complete
> server.
>
> Found the second error that this second mail is about to. It happens
> when, in the main page that shows all the lists you click to see one
> of
> them. It seems to me that it has been database structure changes in
> django that the upgrade is not aware... but it's a very long shot from
> my side.
`subscription_mode` was added in Mailman Core 3.3.2 and it is actually
a derived atrribute and not stored in Database. Mailman's API should be
returning this attribute for each Member, but for some reason it seems
to me like it isn't doing that even though do have Mailman 3.3.3 running
like you said.
If you have Curl installed, can you send me the output of:
$ curl -u <user>:<pass>
http://localhost:8001/3.1/members?count=5&page=1
It should ideally return an output that looks something like shown
here[1]. You
can put the username/password of Core's API server in the above command.
[1]:
https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/rest/docs/…
Abhilash
>
> I'm using sqlite as django database and mysql for mailman.
>
>>
>>> ERROR 2021-02-06 11:47:49,015 26798 django.request Internal Server
>>> Error: /mailman3/mailman3/lists/name_and_domain.of.the.list
>>> Traceback (most recent call last):
>>> File
>>> "/usr/local/lib/python3.7/site-packages/mailmanclient/restbase/base.py",
>>> line 119, in __getattr__
>>> return self._get(name)
>>> File
>>> "/usr/local/lib/python3.7/site-packages/mailmanclient/restbase/base.py",
>>> line 86, in _get
>>> raise KeyError(key)
>>> KeyError: 'subscription_mode'
>>>
>>> During handling of the above exception, another exception occurred:
>>>
>>> Traceback (most recent call last):
>>> File
>>> "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py",
>>> line 34, in inner
>>> response = get_response(request)
>>> File
>>> "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py",
>>> line 115, in _get_response
>>> response = self.process_exception_by_middleware(e, request)
>>> File
>>> "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py",
>>> line 113, in _get_response
>>> response = wrapped_callback(request, *callback_args,
>>> **callback_kwargs)
>>> File
>>> "/usr/local/lib/python3.7/site-packages/django/views/generic/base.py",
>>> line 71, in view
>>> return self.dispatch(request, *args, **kwargs)
>>> File
>>> "/usr/local/lib/python3.7/site-packages/postorius/views/generic.py",
>>> line 74, in dispatch
>>> return super(MailingListView, self).dispatch(request, *args,
>>> **kwargs)
>>> File
>>> "/usr/local/lib/python3.7/site-packages/django/views/generic/base.py",
>>> line 97, in dispatch
>>> return handler(request, *args, **kwargs)
>>> File
>>> "/usr/local/lib/python3.7/site-packages/postorius/views/list.py",
>>> line
>>> 295, in get
>>> member.subscription_mode ==
>>> File
>>> "/usr/local/lib/python3.7/site-packages/mailmanclient/restbase/base.py",
>>> line 124, in __getattr__
>>> self.__class__.__name__, name))
>>> AttributeError: 'Member' object has no attribute 'subscription_mode'
>>> ***********************
>>> some info about the installed versions via pip list:
>>> pip list | grep django
>>> django-allauth 0.44.0
>>> django-appconf 1.0.4
>>> django-compressor 2.4
>>> django-extensions 3.1.0
>>> django-gravatar2 1.4.4
>>> django-haystack 3.0
>>> django-mailman3 1.3.5
>>> django-picklefield 3.0.1
>>> django-q 1.3.4
>>> djangorestframework 3.12.2
>>>
>>> pip list | grep mailman
>>> django-mailman3 1.3.5
>>> mailman 3.3.3
>>> mailman-hyperkitty 1.1.0
>>> mailmanclient 3.3.2
>>>
>>> pip list | grep postorius
>>> postorius 1.3.4
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On 6/2/21 11:12, Guillermo Hernandez (Oldno7) via Mailman-users
>>> wrote:
>>>> I've just upgrade mailman 3 installation following Mr. Sapiro
>>>> advice:
>>>> did a
>>>>
>>>> pip install --upgrade django-mailman3 hyperkitty mailman
>>>> mailmanclient
>>>> mailman-hyperkitty postorius
>>>>
>>>> I did a "python3 manage.py migrate" after, too.
>>>>
>>>> And all seemed to run well.
>>>>
>>>> All the lists showed in postorius via web, but when I try to
>>>> accesss
>>>> into one of them the browser shows an error.
>>>>
>>>> In the log you can see:
>>>>
>>>> *-*-*-*-*-*-*
>>>>
>>>> Traceback (most recent call last):
>>>> File
>>>> "/usr/local/lib/python3.7/site-packages/mailmanclient/restbase/base.py",
>>>> line 119, in __getattr__
>>>> return self._get(name)
>>>> File
>>>> "/usr/local/lib/python3.7/site-packages/mailmanclient/restbase/base.py",
>>>> line 86, in _get
>>>> raise KeyError(key)
>>>> KeyError: 'get_requests_count'
>>>>
>>>> ... (And after all the traceback lines)
>>>>
>>>> AttributeError: 'MailingList' object has no attribute
>>>> 'get_requests_count'
>>>>
>>>> *-*-*-*-*-*-*-*
>>>>
>>>> The lists seem to be distributing messeages well.. but I cannot
>>>> acces
>>>> via web administration (django/postorius)
>>>>
>>>> Can anyone point me in the right direction to solve this, please?
>>>>
>>>> _______________________________________________
>>>> Mailman-users mailing list -- mailman-users(a)mailman3.org
>>>> <mailto:mailman-users@mailman3.org>
>>>> To unsubscribe send an email to mailman-users-leave(a)mailman3.org
>>>> <mailto:mailman-users-leave@mailman3.org>
>>>> <https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/>
>>>>
>>> _______________________________________________
>>> Mailman-users mailing list -- mailman-users(a)mailman3.org
>>> <mailto:mailman-users@mailman3.org>
>>> To unsubscribe send an email to mailman-users-leave(a)mailman3.org
>>> <mailto:mailman-users-leave@mailman3.org>
>>> <https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/>
>>>
> _______________________________________________
> Mailman-users mailing list -- mailman-users(a)mailman3.org
> <mailto:mailman-users@mailman3.org>
> To unsubscribe send an email to mailman-users-leave(a)mailman3.org
> <mailto:mailman-users-leave@mailman3.org>
> <https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/>
4 years, 6 months

[MM3-users] Re: MTA setup
by Arte Chambers
Output from mailman log after sending a test message to the list:
Dec 23 16:52:23 2024 (684048) Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 158, in _archive_message
url = self._send_message(mlist, msg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 228, in _send_message
raise ValueError(result.text)
ValueError:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:52:23 2024 (684048) HyperKitty failure on
http://127.0.0.1:8000/archives/api/mailman/archive:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
(400)
Dec 23 16:52:23 2024 (684048) Could not archive the message with id <
CAM05vAcLAhTzjdcFKsp6i0RSKpfhQ9H_KpOLJyVmNZy4KcaWzQ(a)mail.gmail.com>
Dec 23 16:52:23 2024 (684048) archiving failed, re-queuing (mailing-list
testing.list.louisvillecommunitygrocery.com, message <
CAM05vAcLAhTzjdcFKsp6i0RSKpfhQ9H_KpOLJyVmNZy4KcaWzQ(a)mail.gmail.com>)
Dec 23 16:52:23 2024 (684048) Exception in the HyperKitty archiver:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:52:23 2024 (684048) Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 158, in _archive_message
url = self._send_message(mlist, msg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 228, in _send_message
raise ValueError(result.text)
ValueError:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:52:23 2024 (684058) HyperKitty failure on
http://127.0.0.1:8000/archives/api/mailman/urls:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
(400)
I sent another test after changing the DMARC settings for the list
mailman.log:
Dec 23 16:58:48 2024 (684052) ACCEPT:
<CAM05vAcs3mL2MMX_NNsrHHyLz8p_tTvCHRRiROCgt=U5Oi6x5w(a)mail.gmail.com>
Dec 23 16:58:49 2024 (684063) HyperKitty failure on
http://127.0.0.1:8000/archives/api/mailman/urls:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
(400)
Dec 23 16:58:49 2024 (684063) HyperKitty failure on
http://127.0.0.1:8000/archives/api/mailman/urls:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
(400)
Dec 23 16:58:50 2024 (684058) HyperKitty failure on
http://127.0.0.1:8000/archives/api/mailman/urls:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
(400)
Dec 23 16:58:50 2024 (684048) HyperKitty failure on
http://127.0.0.1:8000/archives/api/mailman/archive:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
(400)
Dec 23 16:58:50 2024 (684048) Could not archive the message with id
<CAPesOD2KavP948Oq6n9mvYF9WW3-sXRRTxAMm2roMgzL+=s8Dw(a)mail.gmail.com>
Dec 23 16:58:50 2024 (684048) archiving failed, re-queuing (mailing-list
testing.list.louisvillecommunitygrocery.com, message
<CAPesOD2KavP948Oq6n9mvYF9WW3-sXRRTxAMm2roMgzL+=s8Dw(a)mail.gmail.com>)
Dec 23 16:58:50 2024 (684048) Exception in the HyperKitty archiver:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:50 2024 (684048) Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 158, in _archive_message
url = self._send_message(mlist, msg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 228, in _send_message
raise ValueError(result.text)
ValueError:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:50 2024 (684048) HyperKitty failure on
http://127.0.0.1:8000/archives/api/mailman/archive:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
(400)
Dec 23 16:58:50 2024 (684048) Could not archive the message with id
<CAM05vAcN5RZ3Mzg-xXd-u=X7_inDULsBR8A=ehPwk5oy+y+ZLg(a)mail.gmail.com>
Dec 23 16:58:50 2024 (684048) archiving failed, re-queuing (mailing-list
testing.list.louisvillecommunitygrocery.com, message
<CAM05vAcN5RZ3Mzg-xXd-u=X7_inDULsBR8A=ehPwk5oy+y+ZLg(a)mail.gmail.com>)
Dec 23 16:58:50 2024 (684048) Exception in the HyperKitty archiver:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:50 2024 (684048) Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 158, in _archive_message
url = self._send_message(mlist, msg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 228, in _send_message
raise ValueError(result.text)
ValueError:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:50 2024 (684048) HyperKitty failure on
http://127.0.0.1:8000/archives/api/mailman/archive:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
(400)
Dec 23 16:58:50 2024 (684048) Could not archive the message with id <
CAM05vAfoHZmvu42wojk5SpCeynQs4rM01iKw+U5KpWMChHXGWw(a)mail.gmail.com>
Dec 23 16:58:50 2024 (684048) archiving failed, re-queuing (mailing-list
testing.list.louisvillecommunitygrocery.com, message <
CAM05vAfoHZmvu42wojk5SpCeynQs4rM01iKw+U5KpWMChHXGWw(a)mail.gmail.com>)
Dec 23 16:58:50 2024 (684048) Exception in the HyperKitty archiver:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:50 2024 (684048) Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 158, in _archive_message
url = self._send_message(mlist, msg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 228, in _send_message
raise ValueError(result.text)
ValueError:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:50 2024 (684048) HyperKitty failure on
http://127.0.0.1:8000/archives/api/mailman/archive:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
(400)
Dec 23 16:58:50 2024 (684048) Could not archive the message with id <
CAM05vAdx7VGPpApAEtF_J8RW2eXBoS6D-_6BCp8wKGUF5_Cyyw(a)mail.gmail.com>
Dec 23 16:58:50 2024 (684048) archiving failed, re-queuing (mailing-list
testing.list.louisvillecommunitygrocery.com, message <
CAM05vAdx7VGPpApAEtF_J8RW2eXBoS6D-_6BCp8wKGUF5_Cyyw(a)mail.gmail.com>)
Dec 23 16:58:50 2024 (684048) Exception in the HyperKitty archiver:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:50 2024 (684048) Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 158, in _archive_message
url = self._send_message(mlist, msg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 228, in _send_message
raise ValueError(result.text)
ValueError:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:50 2024 (684048) HyperKitty failure on
http://127.0.0.1:8000/archives/api/mailman/archive:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
(400)
Dec 23 16:58:50 2024 (684048) Could not archive the message with id
<CAPesOD1y0fEaG=GFodz=Lgs1m_hqRErPnQcpXCNtKsBbJ=BJ7Q(a)mail.gmail.com>
Dec 23 16:58:50 2024 (684048) archiving failed, re-queuing (mailing-list
testing.list.louisvillecommunitygrocery.com, message
<CAPesOD1y0fEaG=GFodz=Lgs1m_hqRErPnQcpXCNtKsBbJ=BJ7Q(a)mail.gmail.com>)
Dec 23 16:58:50 2024 (684048) Exception in the HyperKitty archiver:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:50 2024 (684048) Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 158, in _archive_message
url = self._send_message(mlist, msg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 228, in _send_message
raise ValueError(result.text)
ValueError:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:51 2024 (684058) HyperKitty failure on
http://127.0.0.1:8000/archives/api/mailman/urls:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
(400)
Dec 23 16:58:51 2024 (684048) HyperKitty failure on
http://127.0.0.1:8000/archives/api/mailman/archive:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
(400)
Dec 23 16:58:51 2024 (684048) Could not archive the message with id
<CAM05vAdLwKNNLgFGMKPm_yv6YykcL=SynJSDYf70hyGufryyCw(a)mail.gmail.com>
Dec 23 16:58:51 2024 (684048) archiving failed, re-queuing (mailing-list
testing.list.louisvillecommunitygrocery.com, message
<CAM05vAdLwKNNLgFGMKPm_yv6YykcL=SynJSDYf70hyGufryyCw(a)mail.gmail.com>)
Dec 23 16:58:51 2024 (684048) Exception in the HyperKitty archiver:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:51 2024 (684048) Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 158, in _archive_message
url = self._send_message(mlist, msg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 228, in _send_message
raise ValueError(result.text)
ValueError:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:51 2024 (684048) HyperKitty failure on
http://127.0.0.1:8000/archives/api/mailman/archive:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
(400)
Dec 23 16:58:51 2024 (684048) Could not archive the message with id
<CAM05vAcG99mHboPkZ82q=+d+uB3L3+iEmhwSCNAVFwSua80LoQ(a)mail.gmail.com>
Dec 23 16:58:51 2024 (684048) archiving failed, re-queuing (mailing-list
testing.list.louisvillecommunitygrocery.com, message
<CAM05vAcG99mHboPkZ82q=+d+uB3L3+iEmhwSCNAVFwSua80LoQ(a)mail.gmail.com>)
Dec 23 16:58:51 2024 (684048) Exception in the HyperKitty archiver:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:51 2024 (684048) Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 158, in _archive_message
url = self._send_message(mlist, msg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 228, in _send_message
raise ValueError(result.text)
ValueError:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:51 2024 (684048) HyperKitty failure on
http://127.0.0.1:8000/archives/api/mailman/archive:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
(400)
Dec 23 16:58:51 2024 (684048) Could not archive the message with id <
CAPesOD1ZJG3zyEagCqYd+nce76g_hbwJK9wQF51Pi6iyJhBKvA(a)mail.gmail.com>
Dec 23 16:58:51 2024 (684048) archiving failed, re-queuing (mailing-list
testing.list.louisvillecommunitygrocery.com, message <
CAPesOD1ZJG3zyEagCqYd+nce76g_hbwJK9wQF51Pi6iyJhBKvA(a)mail.gmail.com>)
Dec 23 16:58:51 2024 (684048) Exception in the HyperKitty archiver:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:51 2024 (684048) Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 158, in _archive_message
url = self._send_message(mlist, msg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 228, in _send_message
raise ValueError(result.text)
ValueError:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:51 2024 (684048) HyperKitty failure on
http://127.0.0.1:8000/archives/api/mailman/archive:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
(400)
Dec 23 16:58:51 2024 (684048) Could not archive the message with id <
CAM05vAdR3n-zhrLHCPhzi4xHOkLsmTUUgXnwgSwJM1oao2j3tg(a)mail.gmail.com>
Dec 23 16:58:51 2024 (684048) archiving failed, re-queuing (mailing-list
testing.list.louisvillecommunitygrocery.com, message <
CAM05vAdR3n-zhrLHCPhzi4xHOkLsmTUUgXnwgSwJM1oao2j3tg(a)mail.gmail.com>)
Dec 23 16:58:51 2024 (684048) Exception in the HyperKitty archiver:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:51 2024 (684048) Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 158, in _archive_message
url = self._send_message(mlist, msg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 228, in _send_message
raise ValueError(result.text)
ValueError:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:51 2024 (684048) HyperKitty failure on
http://127.0.0.1:8000/archives/api/mailman/archive:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
(400)
Dec 23 16:58:51 2024 (684048) Could not archive the message with id <
CAM05vAcLAhTzjdcFKsp6i0RSKpfhQ9H_KpOLJyVmNZy4KcaWzQ(a)mail.gmail.com>
Dec 23 16:58:51 2024 (684048) archiving failed, re-queuing (mailing-list
testing.list.louisvillecommunitygrocery.com, message <
CAM05vAcLAhTzjdcFKsp6i0RSKpfhQ9H_KpOLJyVmNZy4KcaWzQ(a)mail.gmail.com>)
Dec 23 16:58:51 2024 (684048) Exception in the HyperKitty archiver:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:51 2024 (684048) Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 158, in _archive_message
url = self._send_message(mlist, msg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 228, in _send_message
raise ValueError(result.text)
ValueError:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:51 2024 (684048) HyperKitty failure on
http://127.0.0.1:8000/archives/api/mailman/archive:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
(400)
Dec 23 16:58:51 2024 (684048) Could not archive the message with id
<CAM05vAcs3mL2MMX_NNsrHHyLz8p_tTvCHRRiROCgt=U5Oi6x5w(a)mail.gmail.com>
Dec 23 16:58:51 2024 (684048) archiving failed, re-queuing (mailing-list
testing.list.louisvillecommunitygrocery.com, message
<CAM05vAcs3mL2MMX_NNsrHHyLz8p_tTvCHRRiROCgt=U5Oi6x5w(a)mail.gmail.com>)
Dec 23 16:58:51 2024 (684048) Exception in the HyperKitty archiver:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:51 2024 (684048) Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 158, in _archive_message
url = self._send_message(mlist, msg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.12/site-packages/mailman_hyperkitty/__init__.py",
line 228, in _send_message
raise ValueError(result.text)
ValueError:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
Dec 23 16:58:51 2024 (684058) HyperKitty failure on
http://127.0.0.1:8000/archives/api/mailman/urls:
<!doctype html>
<html lang="en">
<head>
<title>Bad Request (400)</title>
</head>
<body>
<h1>Bad Request (400)</h1><p></p>
</body>
</html>
(400)
Thank you,
Paul 'Arte Chambers' Robey
502-408-6922
On Sun, Dec 22, 2024 at 11:31 PM Mark Sapiro <mark(a)msapiro.net> wrote:
> On 12/22/24 20:10, Arte Chambers via Mailman-users wrote:
> > I'm not sure how to check mailmans shunt queue.
>
> `ls var/queue/shunt`
>
> > I'm not seeing any errors in mailman logs
> >
> > There are several .pck files in Mailman's
> > var/archives/hyperkitty/spool/
> These are message that failed to archive. There should be messages in
> mailman.log about these failures indicating what the issue is.
>
> > I can send email from the server using mail utilities as long as the
> "from
> > email address" contains the server's domain name. I also notice that in
> > this MM3-Users list the "from" email shows senders(a)emailaddress.com VIA
> > mailman3.org. I'm wondering if I've missed something that would allow my
> > server to behave this way.
>
>
> In the list's Settings -> DMARC Mitigations set DMARC mitigation action
> to Replace From: with list address and set DMARC Mitigate
> unconditionally to Yes.
>
> --
> Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
> San Francisco Bay Area, California better use your sense - B. Dylan
>
> _______________________________________________
> 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/
> Archived at:
> https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message…
>
> This message sent to paul.m.robey(a)gmail.com
>
8 months

[MM3-users] Re: Docker Support Sucks
by Allan Hansen
Hi Brian,
You have been one of the good and generous people providing support. I hope i can repay a bit with this:
These are one-line bash scripts I wrote after moving to MM3, so I could do things not yet in MM3, such as
letting my moderators request a list’s members from me. I need one more script that will sync a text file
to an existing list, deleting and adding as necessary.
The scripts are for public use, reuse, misuse and overuse. I claim no rights and no responsibilities.
mm3Members.bash
#!/bin/bash
# mm3Members
#
# Obtain a list of members of a given list
#
# Usage:
# mm3Members.bash <listName>
# #
# Revisions:
# Date Name Reason for change
# 28-Mar-2020 Allan Hansen Initial
#
exec /opt/mailman/mm/venv/bin/mailman -C "/opt/mailman/mm/mailman.cfg" members $1 |grep -v -e "has no members"|sed -e 's/.*/\L&/‘
mm3ASddMembers.bash
#!/bin/bash
# mm3AddMembers
#
# Add members from a given list.
#
# Usage:
# mm3AddMembers.bash <fileName> <listName>
# <fileName>: text file with addresses to add. Same legal formats as in mass subscribe
# #
# Revisions:
# Date Name Reason for change
# 28-Mar-2020 Allan Hansen Initial
#
exec /opt/mailman/mm/venv/bin/mailman -C "/opt/mailman/mm/mailman.cfg" members --add $1 $2
mm3DeleteMembers.bash
#!/bin/bash
# mm3DeleteMembers
#
# Deletes members from a given list
# <fileName> List of members to delete. Legal format the same a formats used for mass subscribes
#
# Usage:
# mm3DeleteMembers.bash <fileName> <listName>
#
# Revisions:
#
# Date Name Reason for change
# 28-Mar-2020 Allan Hansen Initial
#
exec /opt/mailman/mm/venv/bin/mailman -C "/opt/mailman/mm/mailman.cfg" members --delete $1 $2
mm3MemberCount.bash
#!/bin/bash
# mm3MemberCount
#
# Obtain count of the members of a given list
#
# Usage:
# mm3MemberCount.bash <listName>
#
# Revisions:
# Date Name Reason for change
# 28-Mar-2020 Allan Hansen Initial
#
/home/hansen/scripts/mm3Members.bash $1|wc
Yours,
Allan Hansen
hansen(a)rc.org
> On Jul 21, 2020, at 18:31 , Brian Carpenter <brian_carpenter(a)emwd.com> wrote:
>
> On 7/21/20 8:55 PM, Mark Sapiro wrote:
>> On 7/21/20 5:40 PM, Brian Carpenter wrote:
>>
>> Abhilash (@maxking) is one person and he has a $DayJob. We're all doing
>> the best we can.
>
> Well, I still need support.
>
>> This is not a Docker issue per se. It is a consequence of upgrading
>> Mailman core to 3.3.1+ and processing many old, stale, previously
>> unprocessed bounces. See
>> <https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/thread/…>
>
> I am not worried about the bounce issues at this point. I am just trying to get a membership list exported for a client.
>
>>
>>> So, I want to totally move away from the use of Docker (mainly because I have found it buggy and the support is simply lacking) and install Mailman 3 for this client from source. However I need to get an export of their list members. But of course, I can't. Rest API times out and I don't know how to apply the instructions I was given to fix it and I don't have days to way for one. So please help.
>>>
>>> I increased the gunicorn workers to 4, hoping that would allow me to do the CSV export. No. So was given these instructions:
>>>
>>> ###
>>> The issues seems to be due to timeout not due to high load. You want to increase the timeout for gunicorn and you can do that by specifying a gunicorn.ini config file:
>>>
>>> [webservice]
>>> configuration: /path/to/gunicorn.cfg
>>>
>>> and then in the gunicorn.cfg you can add
>>>
>>> [gunicorn]
>>> timeout = 90
>>> graceful_timeout = 30
>>> ###
>>>
>>> I applied the above changes to /opt/mailman/core/mailman-extra.cfg and created the gunicorn.cfg file. Restarted the docker container (mailman-core) and no access to Postorius due to no REST api.
>>>
>>> After restarting docker-mailman, I can't access Postorius due to the following error:
>>>
>>> ERROR 2020-07-20 20:16:27,351 15 postorius Mailman REST API not available
>> Is Mailman core running? If not, whats in core's mailman.log as to why not?
>
> It looks like but no error message in mailman.log. However I noted that the gunicorn process did not start.
>
> This is with the configuration line enabled in mailman-extra.cfg:
>
> # docker-compose restart mailman-core
> Restarting mailman-core ... done
> [root@nicu-net docker-mailman]# tail -f /opt/mailman/core/var/logs/mailman.log
> Jul 22 01:25:17 2020 (22) in runner caught SIGTERM. Stopping.
> Jul 22 01:25:17 2020 (25) out runner caught SIGTERM. Stopping.
> Jul 22 01:25:17 2020 (25) out runner exiting.
> Jul 22 01:25:17 2020 (21) command runner exiting.
> Jul 22 01:25:17 2020 (22) in runner exiting.
> Jul 22 01:25:17 2020 (24) nntp runner caught SIGTERM. Stopping.
> Jul 22 01:25:17 2020 (24) nntp runner exiting.
> [2020-07-22 01:25:19 +0000] [27] [INFO] Shutting down: Master
> Jul 22 01:25:21 2020 (1) Master stopped
> Jul 22 01:25:26 2020 (1) Master started
> Jul 22 01:25:44 2020 (27) rest runner started.
> Jul 22 01:25:44 2020 (26) pipeline runner started.
> Jul 22 01:25:44 2020 (20) bounces runner started.
> Jul 22 01:25:45 2020 (22) in runner started.
> Jul 22 01:25:45 2020 (28) retry runner started.
> Jul 22 01:25:46 2020 (29) virgin runner started.
> Jul 22 01:25:46 2020 (25) out runner started.
> Jul 22 01:25:46 2020 (23) lmtp runner started.
> Jul 22 01:25:46 2020 (24) nntp runner started.
> Jul 22 01:25:47 2020 (30) digest runner started.
> Jul 22 01:25:47 2020 (19) archive runner started.
> Jul 22 01:25:47 2020 (21) command runner started.
>
> This is with the configuration line disabled in mailman-extra.cfg:
>
> # docker-compose restart mailman-core
> Restarting mailman-core ... done
> [root@nicu-net docker-mailman]# tail -f /opt/mailman/core/var/logs/mailman.log
> Jul 22 01:27:49 2020 (1) Master stopped
> Jul 22 01:27:53 2020 (1) Master started
> Jul 22 01:28:10 2020 (30) digest runner started.
> Jul 22 01:28:10 2020 (29) virgin runner started.
> Jul 22 01:28:10 2020 (24) nntp runner started.
> Jul 22 01:28:10 2020 (25) out runner started.
> Jul 22 01:28:10 2020 (22) in runner started.
> Jul 22 01:28:11 2020 (28) retry runner started.
> Jul 22 01:28:11 2020 (27) rest runner started.
> [2020-07-22 01:28:11 +0000] [27] [INFO] Starting gunicorn 19.9.0
> [2020-07-22 01:28:11 +0000] [27] [INFO] Listening at: http://172.19.199.2:8001 (27)
> [2020-07-22 01:28:11 +0000] [27] [INFO] Using worker: sync
> [2020-07-22 01:28:11 +0000] [32] [INFO] Booting worker with pid: 32
> [2020-07-22 01:28:11 +0000] [33] [INFO] Booting worker with pid: 33
> [2020-07-22 01:28:11 +0000] [34] [INFO] Booting worker with pid: 34
> [2020-07-22 01:28:11 +0000] [35] [INFO] Booting worker with pid: 35
> Jul 22 01:28:11 2020 (19) archive runner started.
> Jul 22 01:28:11 2020 (21) command runner started.
> Jul 22 01:28:12 2020 (23) lmtp runner started.
> Jul 22 01:28:12 2020 (20) bounces runner started.
> Jul 22 01:28:12 2020 (26) pipeline runner started.
>
> --
> Please let me know if you need further assistance.
>
> Thank you for your business. We appreciate our clients.
> Brian Carpenter
> EMWD.com
>
> --
> EMWD's Knowledgebase:
> https://clientarea.emwd.com/index.php/knowledgebase
>
> EMWD's Community Forums
> http://discourse.emwd.com/
>
> _______________________________________________
> 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, 1 month

[MM3-users] Re: External MTA incoming mail: configuration
by Roland Giesler
On 2024/08/02 17:43, Mark Sapiro wrote:
> On 8/2/24 08:12, Roland Giesler via Mailman-users wrote:
>>
>> It seems though that since I'm not running a local MTA, when then
>> mail arrives at the mailman3 server, there's nothing that can process
>> it. So should I run postfix in it's most basic setup to allow mail
>> to be received or what is the best way to deal with it? Mailman3 has
>> to receive mail like signup confirmations, etc after all, not?
>
> If you use transport_maps on the remote MTA to relay the list mail to
> port 8024 on the Mailman server, Mailman's LMTP runner will receive
> the mail and you don't need a local MTA.
>
Ah, so I just have to figure out why the LMTP runner is not running.
mailman:/var/lib/mailman3# ps ax
PID TTY STAT TIME COMMAND
1 ? Ss 0:07 /sbin/init
42 ? Ss 0:07 /lib/systemd/systemd-journald
90 ? Ss 0:00 /lib/systemd/systemd-networkd
98 ? Ss 0:00 /lib/systemd/systemd-resolved
101 ? Ss 0:01 /usr/sbin/cron -f -P
102 ? Ss 0:00 @dbus-daemon --system --address=systemd:
--nofork --nopidfile --systemd-activation --syslog-only
106 ? Ss 0:00 /usr/bin/python3
/usr/bin/networkd-dispatcher --run-startup-triggers
107 ? Ssl 0:01 /usr/sbin/rsyslogd -n -iNONE
108 ? Ss 0:00 /lib/systemd/systemd-logind
111 ? Ss 0:07 /usr/bin/uwsgi --plugin python3 --ini
/etc/mailman3/uwsgi.ini
115 pts/0 Ss+ 0:00 /sbin/agetty -o -p -- \u --noclear
--keep-baud console 115200,38400,9600 linux
116 pts/1 Ss+ 0:00 /sbin/agetty -o -p -- \u --noclear
--keep-baud tty1 115200,38400,9600 linux
117 pts/2 Ss+ 0:00 /sbin/agetty -o -p -- \u --noclear
--keep-baud tty2 115200,38400,9600 linux
127 ? Ss 0:00 nginx: master process /usr/sbin/nginx -g
daemon on; master_process on;
129 ? S 0:00 nginx: worker process
138 ? Ssl 28:01 /usr/sbin/mysqld
277 ? Sl 0:05 /usr/bin/uwsgi --plugin python3 --ini
/etc/mailman3/uwsgi.ini
278 ? Ss 0:00 /bin/sh -c python3 manage.py qcluster
282 ? S 0:01 python3 manage.py qcluster
328 ? Ss 0:00 /usr/lib/postfix/sbin/master -w
331 ? S 0:00 qmgr -l -t unix -u
340 ? S 3:49 python3 manage.py qcluster
341 ? S 0:00 python3 manage.py qcluster
342 ? S 0:00 python3 manage.py qcluster
343 ? S 0:00 python3 manage.py qcluster
344 ? S 0:00 python3 manage.py qcluster
345 ? S 0:00 python3 manage.py qcluster
346 ? S 0:00 python3 manage.py qcluster
347 ? S 0:00 python3 manage.py qcluster
348 ? S 0:00 python3 manage.py qcluster
349 ? S 0:00 python3 manage.py qcluster
350 ? S 24:13 python3 manage.py qcluster
354 ? Ss 0:00 /lib/systemd/systemd --user
355 ? S 0:00 (sd-pam)
953 ? Ss 0:00 sshd: root@pts/3
972 pts/3 Ss 0:00 -bash
1284 pts/3 S 0:00 ssh -x -a -oClearAllForwardings=yes -2
root(a)box2.gtahardware.co.za -s sftp
1285 ? Ssl 0:00 sshfs -o uid=38,gid=38 -o allow_other
root@box2.gtahardware.co.za:/etc/mailman3/data /var/lib/mailman3/data
1302 ? Ss 0:00 /usr/bin/python3
/usr/lib/mailman3/bin/master --force -C /etc/mailman3/mailman.cfg
1308 ? S 0:18 /usr/bin/python3
/usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg
--runner=archive:0:1
1309 ? S 0:07 /usr/bin/python3
/usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg
--runner=bounces:0:1
1310 ? S 0:17 /usr/bin/python3
/usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg
--runner=command:0:1
1311 ? S 0:16 /usr/bin/python3
/usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=in:0:1
1313 ? S 0:24 /usr/bin/python3
/usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=nntp:0:1
1314 ? S 0:16 /usr/bin/python3
/usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=out:0:1
1315 ? S 0:18 /usr/bin/python3
/usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg
--runner=pipeline:0:1
1316 ? S 0:18 /usr/bin/python3
/usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=rest:0:1
1317 ? S 0:01 /usr/bin/python3
/usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=retry:0:1
1318 ? S 0:02 /usr/bin/python3
/usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=task:0:1
1319 ? S 0:18 /usr/bin/python3
/usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg
--runner=virgin:0:1
1320 ? S 0:17 /usr/bin/python3
/usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg
--runner=digest:0:1
13459 ? S 0:01 /usr/bin/python3
/usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=rest:0:1
13460 ? S 0:01 /usr/bin/python3
/usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=rest:0:1
20765 ? S 0:00 pickup -l -t unix -u -c
21109 pts/3 R+ 0:00 ps ax
mailman:/var/lib/mailman3# netstat -tunap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address
State PID/Program name
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN
98/systemd-resolved
tcp 0 0 127.0.0.1:33060 0.0.0.0:* LISTEN
138/mysqld
tcp 0 0 127.0.0.1:8001 0.0.0.0:* LISTEN
1316/python3
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN
127/nginx: master p
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
127/nginx: master p
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
328/master
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
138/mysqld
tcp 0 0 127.0.0.1:56588 127.0.0.1:3306 ESTABLISHED
13459/python3
tcp 0 0 127.0.0.1:3306 127.0.0.1:50542 ESTABLISHED
138/mysqld
tcp 0 0 127.0.0.1:3306 127.0.0.1:50530 ESTABLISHED
138/mysqld
tcp 0 0 192.168.161.103:60010 197.214.119.180:22
ESTABLISHED 1284/ssh
tcp 0 0 127.0.0.1:3306 127.0.0.1:59222 ESTABLISHED
138/mysqld
tcp 0 0 127.0.0.1:3306 127.0.0.1:46810 ESTABLISHED
138/mysqld
tcp 0 0 127.0.0.1:50530 127.0.0.1:3306 ESTABLISHED
1319/python3
tcp 0 0 127.0.0.1:46796 127.0.0.1:3306 ESTABLISHED
1318/python3
tcp 0 0 127.0.0.1:46810 127.0.0.1:3306 ESTABLISHED
1309/python3
tcp 0 0 127.0.0.1:59222 127.0.0.1:3306 ESTABLISHED
13460/python3
tcp 0 0 127.0.0.1:50542 127.0.0.1:3306 ESTABLISHED
1314/python3
tcp 0 0 127.0.0.1:3306 127.0.0.1:46796 ESTABLISHED
138/mysqld
tcp 0 0 127.0.0.1:3306 127.0.0.1:56588 ESTABLISHED
138/mysqld
tcp6 0 0 ::1:25 :::* LISTEN 328/master
tcp6 0 0 :::443 :::* LISTEN
127/nginx: master p
tcp6 0 0 :::22 :::* LISTEN 1/init
tcp6 0 0 :::80 :::* LISTEN 127/nginx:
master p
tcp6 0 0 192.168.161.103:22 192.168.131.150:43924
ESTABLISHED 1/init
udp 0 0 127.0.0.53:53 0.0.0.0:*
98/systemd-resolved
and I have in mailman.cfg:
mailman:/var/lib/mailman3# cat /etc/mailman3/mailman.cfg | grep "^[^#;]"
[mailman]
site_owner: mailman(a)fast.za.net
noreply_address: noreply
default_language: en
sender_headers: from from_ reply-to sender
email_commands_max_lines: 10
pending_request_life: 3d
cache_life: 7d
pre_hook:
post_hook:
layout: debian
filtered_messages_are_preservable: no
html_to_plain_text_command: /usr/bin/lynx -dump $filename
listname_chars: [-_.0-9a-z]
[shell]
prompt: >>>
banner: Welcome to the GNU Mailman shell
use_ipython: no
history_file:
[paths.debian]
var_dir: /var/lib/mailman3
queue_dir: $var_dir/queue
bin_dir: /usr/lib/mailman3/bin
list_data_dir: $var_dir/lists
log_dir: /var/log/mailman3
lock_dir: $var_dir/locks
data_dir: $var_dir/data
cache_dir: $var_dir/cache
etc_dir: /etc/mailman3
ext_dir: $var_dir/ext
messages_dir: $var_dir/messages
archive_dir: $var_dir/archives
template_dir: $var_dir/templates
pid_file: /run/mailman3/master.pid
lock_file: $lock_dir/master.lck
[database]
class: mailman.database.mysql.MySQLDatabase
url:
mysql+pymysql://mailman3:<xxxxxxx>@localhost/mailman3?charset=utf8&use_unicode=1
debug: no
[logging.debian]
format: %(asctime)s (%(process)d) %(message)s
datefmt: %b %d %H:%M:%S %Y
propagate: no
level: info
path: mailman.log
[webservice]
hostname: localhost
port: 8001
use_https: no
show_tracebacks: yes
api_version: 3.1
admin_user: restadmin
admin_pass: <xxxxxxx>
[mta]
incoming: mailman.mta.postfix.LMTP
outgoing: mailman.mta.deliver.deliver
smtp_host: box2.gtahardware.co.za
smtp_port: 465
smtp_user: <xxxxxxx>
smtp_pass: <xxxxxxx>
smtp_secure_mode: smtps
smtp_verify_cert: yes
smtp_verify_hostname: yes
lmtp_host: lists.fast.za.net
lmtp_port: 8024
max_recipients: 10
max_sessions_per_connection: 0
max_delivery_threads: 0
delivery_retry_period: 5d
verp_delimiter: +
verp_format: ${bounces}+${local}=${domain}
verp_confirm_format: $address+$cookie
verp_regexp: ^(?P<bounces>[^+]+?)\+(?P<local>[^=]+)=(?P<domain>[^@]+)@.*$
verp_confirm_regexp: ^(.*<)?(?P<addr>[^+]+?)\+(?P<cookie>[^@]+)@.*$
verp_confirmations: yes
verp_probe_format: $bounces+$token@$domain
verp_probe_regexp: ^(?P<bounces>[^+]+?)\+(?P<token>[^@]+)@.*$
verp_probes: no
max_autoresponses_per_day: 10
remove_dkim_headers: no
configuration: python:mailman.config.postfix
[bounces]
register_bounces_every: 15m
[archiver.master]
class:
enable: no
configuration: changeme
clobber_date: maybe
clobber_skew: 1d
[archiver.mhonarc]
class: mailman.archiving.mhonarc.MHonArc
configuration: python:mailman.config.mhonarc
[archiver.mail_archive]
class: mailman.archiving.mailarchive.MailArchive
configuration: python:mailman.config.mail_archive
[archiver.prototype]
class: mailman.archiving.prototype.Prototype
[styles]
default: legacy-default
[nntp]
user:
password:
host:
port:
remove_headers:
nntp-posting-host nntp-posting-date x-trace
x-complaints-to xref date-received posted
posting-version relay-version received
rewrite_duplicate_headers:
To X-Original-To
CC X-Original-CC
Content-Transfer-Encoding X-Original-Content-Transfer-Encoding
MIME-Version X-MIME-Version
gatenews_every: 5m
[dmarc]
resolver_timeout: 3s
resolver_lifetime: 5s
org_domain_data_url: https://publicsuffix.org/list/public_suffix_list.dat
cache_lifetime: 7d
[urlpatterns]
mailinglist: $base_url/lists/$list_id
held_message: $base_url/lists/$list_id/held_messages
pending_subscriptions: $base_url/lists/$list_id/subscription_requests
pending_unsubscriptions: $base_url/lists/$list_id/unsubscription_requests
domain: $base_url/domains/$domain
Why doesn't port 8024 show up then?
1 year

[MM3-users] Re: [Mailman-Users] MM3 startup issues
by hansen@rc.org
Mark Sapiro wrote:
> Restoring original Subject:, and doesn't this thread belong on
> mailman-users(a)msailman3.org - CCing there.
Sorry about both, Mark. I'm now here. Didn't know this one existed and was told to use the other list server.
> > On 1/4/20 5:47 PM, Allan Hansen wrote:
> > >
> > a. The server was set up with the wrong domain
> > name (our fault), so I had to add the ‘correct’ one. I had seen the command ‘Add Domain’
> > in
> > the UI and thought that would do it, but Brian kindly sent me a list of additional
> > instructions, which we then implemented. That made it possible to create a list in the new
> > domain, subscribe people and post messages. However, messages are not archived. What extra
> > step is needed to enable archiving?
> > What are the setytings in Postorius -> Settings -> Archiving?
> > Archive policy: Private archives
> > Archive archivers: hyperkitty, prototype
> Are the messages in Mailman's var/archives/prototype/LIST@DOMAIN/new
> directory?
Yes! I found them. But the message files end with the name of the old host, not the new host name under the new domain.
> Are there messages in Mailman's var/archives/hyperkitty/spool/ directory?
There are 5 .pck files there dated 1/5/2002.
> What's the setting for base_url in mailman-hyperkitty.cfg?
It's
base_url: https://<OLDHOSTNAME>/archives
I suppose it should be changed to
base_url: https://<NEWHOSTNAME>/archives
But:
What if we decided to have more than one domain, as the UI indicates is kosher?
> Are there any errors in var/logs/mailman.log?
Yep. Lots. They all are of this nature:
Exception in "hyperkitty" archiver
Traceback:
...
File "/opt/mailman/mm/venv/lib/python3.7/site-packages/urllib3/connection.py", line 430, in _match_hostname
match_hostname(cert, asserted_hostname)
File "/usr/lib/python3.7/ssl.py", line 327, in match_hostname
% (hostname, dnsnames[0]))
ssl.SSLCertVerificationError: ("hostname 'OLDHOSTNAME' doesn't match 'NEWHOSTNAME'",)
> > b. When I go to the server using the new domain (both
> > before and after logging in), I see not just the lists I created in the new domain, but
> > the lists created in the old domain. These lists of lists are domain specific and should
> > not be listed together. That’s just IMHO, but not serious, as I will soon get rid of
> > anything in the old domain. So feel free to ignore this one if this is intended, which I
> > could see might be the case.
> Set
> FILTER_VHOST = True
> in settings_local.py
> > Yes, Brian told me to do the same (well, settings.py).
> > This is the what I wrote back:
> > hansen@rccrmail:/opt/mailman/mm$ sudo vi settings.py
> > Edited the setting to:
> > # Only display mailing-lists from the same virtual host as the webserver
> > FILTER_VHOST = True
> You shouldn't edit settings.py. You should override the setting by
> putting it in settings_local.py.
Silly. I should have remembered that from back in the days. But if
the local file is overriding, it should have worked, I'd think.
> > Then Brian told me to restart qcluster:
> > hansen@rccrmail:/opt/mailman/mm$ sudo systemctl restart qcluster
> qcluster is not what you need to restart. You need to restart whatever
> is supporting the wsgi interface to Django. This may be uwsgi or
> gunicorn or ??. Whatever it is, that's what needs to be restarted.
Beats me, Mark. Brian, do you know?
> > I then logged in, but the same lists are showing. It
> > either takes the system a long time to reset or it has ignored the
> > setting.
> > Just tried it again, and the lists are all showing. Do I need to manually recompile the
> > file?
> >
> > c. I then
> > moved on to the templates and added a template for the message text to send to new
> > subscribers. That resulted in the following error message when I went in as moderator to
> > approve of a new subscription:
> > Something went wrong
> > Mailman REST API not available. Please start Mailman core.
> > Postorius is unable to access core's REST API. Is Mailman running?
> > Well, I was able to post to the lists, so I assume it is. Listing at processes, I
> > see a bunch of postgres, python3, nginx, django-adminp but
> > nothing explicitly with a ‘mailman’ string.
> If you do ps ax|grep runner=, what do you see? If you don't see at
> least three processes with --runner=rest:0:1, stop Mailman and start
> Mailman.
Yep. I did not get the whole string before. With your options I see three
of these rest:0:1 processes. So I guess the REST stuff is running anyway.
> If so, what's
> in /opt/mailman/mm/var/logs/mailmansuite.log or whatever it's
> called - defined as filename in the file handler in the LOGGING
> definition in settings(_local).py.
> hansen@rccrmail:/opt/mailman/mm/logs$ tail -f mailmansuite.log
> return Site.objects.get_current(request)
> File "/opt/mailman/mm/venv/lib/python3.7/site-packages/django/contrib/sites/models.py",
> line 60, in get_current
> return self._get_site_by_request(request)
> File "/opt/mailman/mm/venv/lib/python3.7/site-packages/django/contrib/sites/models.py",
> line 45, in _get_site_by_request
> SITE_CACHE[domain] = self.get(domain__iexact=domain)
> File "/opt/mailman/mm/venv/lib/python3.7/site-packages/django/db/models/manager.py",
> line 82, in manager_method
> return getattr(self.get_queryset(), name)(*args, **kwargs)
> File "/opt/mailman/mm/venv/lib/python3.7/site-packages/django/db/models/query.py", line
> 408, in get
> self.model._meta.object_name
> django.contrib.sites.models.Site.DoesNotExist: Site matching query does not exist.
> This is because of the domain change. In settings(_local).py you have a
> setting for SITE_ID. Possibly, setting that in settings_local.py to a
> value one greater that the current setting will do.
Trying setting it to 1 (it was 0 before).
> To be certain of the
> correct value, you need to look at the django_site table in mailman's
> database. That table has 3 columns, id, domain and name. The id for the
> row of your domain is what needs to be set as SITE_ID.
You lost me here. No idea how to access the Mailman database.
Brian, do you know?
> > [ABH] At this point I click to accept a subsription
> > request:
> > ERROR 2020-01-06 07:32:41,439 699 postorius.middleware Mailman REST API not available
> > Traceback (most recent call last):
> > File "/opt/mailman/mm/venv/lib/python3.7/site-packages/urllib3/connectionpool.py", line
> > 672, in urlopen
> > chunked=chunked,
> > File "/opt/mailman/mm/venv/lib/python3.7/site packages/urllib3/connectionpool.py", line
> > 421, in _make_request
> > six.raise_from(e, None)
> > File "<string>", line 3, in raise_from
> > File "/opt/mailman/mm/venv/lib/python3.7/site-packages/urllib3/connectionpool.py", line
> > 416, in _make_request
> > httplib_response = conn.getresponse()
> > File "/usr/lib/python3.7/http/client.py", line 1321, in getresponse
> > response.begin()
> > File "/usr/lib/python3.7/http/client.py", line 296, in begin
> > version, status, reason = self._read_status()
> > File "/usr/lib/python3.7/http/client.py", line 265, in _read_status
> > raise RemoteDisconnected("Remote end closed connection without"
> > http.client.RemoteDisconnected: Remote end closed connection without response
> > So yes, the REST API is not there. How can I get it going?
> Stop Mailman and then start it.
No idea here, either. I looked online and found this:
$ from mailman.commands.cli_control import Stop
But it complained:
from: too many arguments
Must have found an out-of-date page. :-)
Yours,
Allan
5 years, 7 months

[MM3-users] Re: Member Issue Discovered
by Abhilash Raj
I am a bit late to this thread, but I am going to try to respond to some of the points raised in the thread.
On 10/19/20 7:42 PM, Brian Carpenter wrote:
> On 10/19/20 10:23 PM, Mark Sapiro wrote:
>> And the import21 created the user and address records for this user.
> Does the same thing for a new subscriber as well. So there is no pathway
> to change a real name that is associated with an email address. None.
> Zilch.
Yes, this is a limitation of the REST API, the display_name attribute can't be updated. Hence, Postorius can't provide a way for anyone to update the name. I have opened an issue for this[1] and I think it should be allowed.
[1]: https://gitlab.com/mailman/mailman/-/issues/786
> I am admin for a list. Users got subscribed with bulk import during
> transition from MM2 to MM3.
> So in a sense I am responsible for adding these to a db. BUT there is
> no way for me to remove them. Only mailman admin with access to the db
> can do it manually.
The fact that a user's memberships & User as an entity that owns email address is a design choice that Mailman developers made after some experience of using and administering Mailing lists running on Mailman 2. It was annoying to have to manage several different passwords and accounts to manage membership on same mailing list server.
The policy decision that Mailman would allow a user/address to exist even if there are no subscriptions on it isn't un-resonable in certain environments and maybe it is in some. I don't think anyone here denies that either of those behavior could be an expectation from someone using Mailman. But Mailman is an open source project with decent amount of extensibility via HTTP API & Python plugin system.
If the default policy doesn't match the expectations of some users, I don't think it is difficult to cleanup users/address with 0 subscriptions in a nightly cron script. It is trivial with some basic scripting and we are happy to help out with such a mechanism. I wouldn't be opposed to directly adding a command in Core that lets you clean up all sorts of stuff.
On Wed, Oct 21, 2020, at 10:20 AM, Apollinaris Schöll wrote:
> There might be a handful of these.
>
> But the bigger problem is a user can’t be removed entirely.
>
> User can delete account and unsubscribe from all lists. But the email
> and user name is still kept in the db. Just tested with Affinity
> List admin can’t do it either.
Front-ends like Affinity should be able to implement such a policy by checking subscriptions of an address on every un-subscription call and delete the user & address if it comes out to be 0. The API is documented here[2], but if there are gaps in there like I mentioned above in my email, please open issues so we know about them.
[2]: https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/rest/docs/…
> I think the correct action is to remove all records if a email is
> unsubscribed from all lists and that user has not registered for an
> account.
> If a user has registered for an account all information including
> display name must be removed from that particular list subscription.
> It should not matter if a user unsubscribes or a list admin
> unsubscribes. There shouldn’t be any data kept.
Also, like mentioned above, as a list admin, you can request the Site Admin to get the address fully scrubbed or if this is an expectation from all list admins, the Site Admin has the ability to automate such a task. The fact the Mailman doesn't do it by default is because the definition of "correct" action is different.
User should have the ability to delete themselves from the system and if it doesn't wipe everything yet from database, it should be considered a bug in Postorius and be fixed. Postorius track users separately than Core, so the it should make sure to delete in both places and there are appropriate APIs in core to delete Users and Addresses.
Now, the ability in Postorius to edit the display_name. The side effect of the model where User is a Site level thing, makes it impossible to customize user's display_name on a per-list basis, for both list admin and the user themselves. That is a trade-off and it is possible that there were use-cases where that was desirable in Mailman 2, but with the superior subscription management functionality in Postorius, I feel the decision is justified. I respect that some of y'all think that it probably isn't if it doesn't suit you particular use cases.
From the thread, I gather than folks mostly agree that a list admin shouldn't be allowed to edit a user's display name. Site Admins however should be able to edit that, which brings me to next point.
Like Mark brought up, there is definitely a big missing feature of User management in Postorius. This future management page would be for Site Admins (Superusers) to manage Users and have the ability to change pretty much everything about users including their addresses, memberships and preferences and also be able to wipe off the users from all the databases if they want to. If there are more features than that which folks think should be a part of this, please feel free to add to it. As it is hopefully implied from the description, it is a big task and needs substantial chunk of time, part of which this hasn't been picked up yet.
>
>
>
>
>
>
> > On Oct 21, 2020, at 1:43 AM, Jörg Schulz <info(a)joergschulz.de> wrote:
> >
> > So, the issue seems to be, like in the following scenario
> >
> > We imagine a list server for the domains fruiteaters and meateaters.
> > We have two listadmins, anna (fruit) and carl (meat). They don't share anything.
> > We have a user who subscribes to fruiteaters and meateaters using his address hunger(a)eatall.com
> >
> > He wants to show up in the fruiteaters list as fullname wormy wonder, but in the meateaters list as fritz the cat.
> > While he can do so using two different email addresses, he cannot do so using
> >
> > wormy wonder <hunger(a)eatall.com>
> > fritz the cat <hunger(a)eatall.com>
> >
> > as from: addresses because all requests will be matched to the one email address.
> >
> > Worse, if Carl would be able to change the name to from wormy wonder to fritz the cat, Anna would see that name change and like to change it back because the user she had known, user has been identified as wormy wonder.
> >
> > So, if these user properties are stored somewhere not related to the lists, we don't seem to have a chance of display name changes by list admins as long as the data model isn't changed. This doesn't seem to be easy.
> >
> > So, only some kind of super-Admin should currently be able to change these display names, and these changes would be visible for all lists, and one email address can only have one display name for all lists.
> >
> > Not optimal for some rare conditions - that's the way it seems to be???
> > _______________________________________________
> > 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/
> _______________________________________________
> 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)
4 years, 10 months

[MM3-users] Re: using SSH/TLS with external MTA
by Odhiambo Washington
On Sun, Jul 28, 2024 at 4:42 PM Roland Giesler via Mailman-users <
mailman-users(a)mailman3.org> wrote:
>
> On 2024/07/28 15:26, Roland Giesler via Mailman-users wrote:
> > On 2024/07/28 00:39, Mark Sapiro wrote:
> >> On 7/27/24 15:16, Roland Giesler via Mailman-users wrote:
> >>>
> >>> The server runs power-mailinabox, which uses Postfix indeed. All my
> >>> mail, and quite a few others' mail is sent from the using SMTP-Auth
> >>> on port 465. Actually, this message is sent via that server too.
> >>> So it's clear to me that MM3 is not authenticating for some reason.
> >>
> >> What do you see in Mailman's smtp.log and in the mail.log on the mail
> >> server?
> >
> > The smtp log is in syslog...
>
> I also see this in /var/log/mailman3/web/mailman-web.log
>
> *** Starting uWSGI 2.0.20-debian (64bit) on [Sun Jul 28 15:27:48 2024] ***
> compiled with version: 11.2.0 on 21 March 2022 11:00:44
> os: Linux-5.15.108-1-pve #1 SMP PVE 5.15.108-2 (2023-07-20T10:06Z)
> nodename: mailman
> machine: x86_64
> clock source: unix
> pcre jit disabled
> detected number of CPU cores: 1
> current working directory: /
> detected binary path: /usr/bin/uwsgi-core
> setgid() to 33
> setuid() to 33
> chdir() to /usr/share/mailman3-web
> your processes number limit is 513922
> your memory page size is 4096 bytes
> detected max file descriptor number: 1024
> lock engine: pthread robust mutexes
> thunder lock: disabled (you can enable it with --thunder-lock)
> uwsgi socket 0 bound to UNIX address /run/mailman3-web/uwsgi.sock fd 4
> Python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0]
> Python main interpreter initialized at 0x561ce813d1d0
> python threads support enabled
> your server socket listen backlog is limited to 100 connections
> your mercy for graceful operations on workers is 60 seconds
> mapped 166752 bytes (162 KB) for 2 cores
> *** Operational MODE: threaded ***
> /usr/lib/python3/dist-packages/django_q/conf.py:139: UserWarning: Retry
> and timeout are misconfigured. Set retry larger than timeout,
> failure to do so will cause the tasks to be retriggered before
> completion.
> See
> https://django-q.readthedocs.io/en/latest/configure.html#retry for
> details.
> warn(
> WSGI app 0 (mountpoint='') ready in 5 seconds on interpreter
> 0x561ce813d1d0 pid: 113 (default app)
> *** uWSGI is running in multiple interpreter mode ***
> spawned uWSGI master process (pid: 113)
> spawned uWSGI worker 1 (pid: 339, cores: 2)
> [uwsgi-daemons] spawning "python3 manage.py qcluster" (uid: 33 gid: 33)
> /usr/lib/python3/dist-packages/django_q/conf.py:139: UserWarning: Retry
> and timeout are misconfigured. Set retry larger than timeout,
> failure to do so will cause the tasks to be retriggered before
> completion.
> See
> https://django-q.readthedocs.io/en/latest/configure.html#retry for
> details.
> warn(
> System check identified some issues:
>
> WARNINGS:
> django_mailman3.MailDomain: (models.W042) Auto-created primary key used
> when not defining a primary key type, by default
> 'django.db.models.AutoField'.
> HINT: Configure the DEFAULT_AUTO_FIELD setting or the
> DjangoMailman3Config.default_auto_field attribute to point to a subclass
> of AutoField, e.g. 'django.db.models.BigAutoField'.
> django_mailman3.Profile: (models.W042) Auto-created primary key used
> when not defining a primary key type, by default
> 'django.db.models.AutoField'.
> HINT: Configure the DEFAULT_AUTO_FIELD setting or the
> DjangoMailman3Config.default_auto_field attribute to point to a subclass
> of AutoField, e.g. 'django.db.models.BigAutoField'.
> hyperkitty.Attachment: (models.W042) Auto-created primary key used when
> not defining a primary key type, by default 'django.db.models.AutoField'.
> HINT: Configure the DEFAULT_AUTO_FIELD setting or the
> HyperKittyConfig.default_auto_field attribute to point to a subclass of
> AutoField, e.g. 'django.db.models.BigAutoField'.
> hyperkitty.Email: (models.W042) Auto-created primary key used when not
> defining a primary key type, by default 'django.db.models.AutoField'.
> HINT: Configure the DEFAULT_AUTO_FIELD setting or the
> HyperKittyConfig.default_auto_field attribute to point to a subclass of
> AutoField, e.g. 'django.db.models.BigAutoField'.
> hyperkitty.Favorite: (models.W042) Auto-created primary key used when
> not defining a primary key type, by default 'django.db.models.AutoField'.
> HINT: Configure the DEFAULT_AUTO_FIELD setting or the
> HyperKittyConfig.default_auto_field attribute to point to a subclass of
> AutoField, e.g. 'django.db.models.BigAutoField'.
> hyperkitty.LastView: (models.W042) Auto-created primary key used when
> not defining a primary key type, by default 'django.db.models.AutoField'.
> HINT: Configure the DEFAULT_AUTO_FIELD setting or the
> HyperKittyConfig.default_auto_field attribute to point to a subclass of
> AutoField, e.g. 'django.db.models.BigAutoField'.
> hyperkitty.MailingList: (models.W042) Auto-created primary key used when
> not defining a primary key type, by default 'django.db.models.AutoField'.
> HINT: Configure the DEFAULT_AUTO_FIELD setting or the
> HyperKittyConfig.default_auto_field attribute to point to a subclass of
> AutoField, e.g. 'django.db.models.BigAutoField'.
> hyperkitty.Profile: (models.W042) Auto-created primary key used when not
> defining a primary key type, by default 'django.db.models.AutoField'.
> HINT: Configure the DEFAULT_AUTO_FIELD setting or the
> HyperKittyConfig.default_auto_field attribute to point to a subclass of
> AutoField, e.g. 'django.db.models.BigAutoField'.
> hyperkitty.Tag: (models.W042) Auto-created primary key used when not
> defining a primary key type, by default 'django.db.models.AutoField'.
> HINT: Configure the DEFAULT_AUTO_FIELD setting or the
> HyperKittyConfig.default_auto_field attribute to point to a subclass of
> AutoField, e.g. 'django.db.models.BigAutoField'.
> hyperkitty.Tagging: (models.W042) Auto-created primary key used when not
> defining a primary key type, by default 'django.db.models.AutoField'.
> HINT: Configure the DEFAULT_AUTO_FIELD setting or the
> HyperKittyConfig.default_auto_field attribute to point to a subclass of
> AutoField, e.g. 'django.db.models.BigAutoField'.
> hyperkitty.Thread: (models.W042) Auto-created primary key used when not
> defining a primary key type, by default 'django.db.models.AutoField'.
> HINT: Configure the DEFAULT_AUTO_FIELD setting or the
> HyperKittyConfig.default_auto_field attribute to point to a subclass of
> AutoField, e.g. 'django.db.models.BigAutoField'.
> hyperkitty.ThreadCategory: (models.W042) Auto-created primary key used
> when not defining a primary key type, by default
> 'django.db.models.AutoField'.
> HINT: Configure the DEFAULT_AUTO_FIELD setting or the
> HyperKittyConfig.default_auto_field attribute to point to a subclass of
> AutoField, e.g. 'django.db.models.BigAutoField'.
> hyperkitty.Vote: (models.W042) Auto-created primary key used when not
> defining a primary key type, by default 'django.db.models.AutoField'.
> HINT: Configure the DEFAULT_AUTO_FIELD setting or the
> HyperKittyConfig.default_auto_field attribute to point to a subclass of
> AutoField, e.g. 'django.db.models.BigAutoField'.
> postorius.EmailTemplate: (models.W042) Auto-created primary key used
> when not defining a primary key type, by default
> 'django.db.models.AutoField'.
> HINT: Configure the DEFAULT_AUTO_FIELD setting or the
> PostoriusConfig.default_auto_field attribute to point to a subclass of
> AutoField, e.g. 'django.db.models.BigAutoField'.
> 15:27:55 [Q] INFO Q Cluster low-vermont-harry-fillet starting.
> 15:27:55 [Q] INFO Process-1 guarding cluster low-vermont-harry-fillet
> 15:27:55 [Q] INFO Q Cluster low-vermont-harry-fillet running.
> 15:27:55 [Q] INFO Process-1:3 pushing tasks at 386
> 15:27:55 [Q] INFO Process-1:2 monitoring at 385
> 15:27:55 [Q] INFO Process-1:1 ready for work at 384
>
# Asynchronous tasks
# https://django-q.readthedocs.io/en/latest/configure.html
Q_CLUSTER = {
'name': 'mailman3-web',
'workers': 8,
'retry': 360,
'timeout': 300,
'save_limit': 100,
'orm': 'default',
}
# Maintain type of autogenerated keys going forward
#
https://docs.djangoproject.com/en/3.2/releases/3.2/#customizing-type-of-aut…
DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
--
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254 7 3200 0004/+254 7 2274 3223
In an Internet failure case, the #1 suspect is a constant: DNS.
"Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-)
[How to ask smart questions:
http://www.catb.org/~esr/faqs/smart-questions.html]
1 year

[MM3-users] Re: error changed after restart
by Abhilash Raj
On Sun, Feb 7, 2021, at 1:07 AM, Guillermo Hernandez (Oldno7) via Mailman-users wrote:
> On 6/2/21 21:19, Abhilash Raj wrote:
> >
> >
> > On Sat, Feb 6, 2021 at 19:44, Guillermo Hernandez (Oldno7) via
> > Mailman-users <mailman-users(a)mailman3.org> wrote:
> >> On 6/2/21 18:08, Abhilash Raj wrote:
> >>
> >> On Sat, Feb 6, 2021, at 3:04 AM, Guillermo Hernandez (Oldno7) via
> >> Mailman-users wrote:
> >>
> >> I restarted de server and the error changed. Now the log
> >> shows "KeyError: 'subscription_mode'":
> >>
> >> Did you also restart Mailman Core after the upgrade?
> >>
> >> Yes, indeed: I stopped mailman core and all the processes related.
> >> Did the upgrades. Started all again. Find the errors in the web user
> >> interface. Stopped all again. Looked for errors in the log. Restarted
> >> the complete server. Found the second error that this second mail is
> >> about to. It happens when, in the main page that shows all the lists
> >> you click to see one of them. It seems to me that it has been
> >> database structure changes in django that the upgrade is not aware...
> >> but it's a very long shot from my side.
> > `subscription_mode` was added in Mailman Core 3.3.2 and it is actually
> > a derived atrribute and not stored in Database. Mailman's API should be
> > returning this attribute for each Member, but for some reason it seems
> > to me like it isn't doing that even though do have Mailman 3.3.3 running
> > like you said.
> > If you have Curl installed, can you send me the output of:
> > $ curl -u <user>:<pass> http://localhost:8001/3.1/members?count=5&page=1
>
> This is the output you asked for (it's the same you can see when you try
> to interact with one list):
>
> /usr/local/mailman3 # curl -u XXXXXX:XXXXXX
> http://localhost:8001/3.1/members?count=5&page=1
> /usr/local/mailman3 # <html>
> <head>
> <title>Internal Server Error</title>
> </head>
> <body>
> <h1><p>Internal Server Error</p></h1>
>
> </body>
> </html>
>
> No log entry has been produced...
This is weird, if you have working Core, then there should be *some* json returned
from the above command. Do you have the Gunicorn running? What is the
output of `ps -ef | grep mailman`?
Are you able to run `mailman members` command to list the members of a list?
Also, how did you actually install Mailman?
Abhilash.
> TIA.
>
>
>
>
> > It should ideally return an output that looks something like shown
> > here[1]. You
> > can put the username/password of Core's API server in the above command.
> > [1]:
> > https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/rest/docs/…
> >
> > Abhilash
> >> I'm using sqlite as django database and mysql for mailman.
> >>
> >> ERROR 2021-02-06 11:47:49,015 26798 django.request Internal
> >> Server Error:
> >> /mailman3/mailman3/lists/name_and_domain.of.the.list
> >> Traceback (most recent call last): File
> >> "/usr/local/lib/python3.7/site-packages/mailmanclient/restbase/base.py",
> >> line 119, in __getattr__ return self._get(name) File
> >> "/usr/local/lib/python3.7/site-packages/mailmanclient/restbase/base.py",
> >> line 86, in _get raise KeyError(key) KeyError:
> >> 'subscription_mode' During handling of the above exception,
> >> another exception occurred: Traceback (most recent call
> >> last): File
> >> "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py",
> >> line 34, in inner response = get_response(request) File
> >> "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py",
> >> line 115, in _get_response response =
> >> self.process_exception_by_middleware(e, request) File
> >> "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py",
> >> line 113, in _get_response response =
> >> wrapped_callback(request, *callback_args, **callback_kwargs)
> >> File
> >> "/usr/local/lib/python3.7/site-packages/django/views/generic/base.py",
> >> line 71, in view return self.dispatch(request, *args,
> >> **kwargs) File
> >> "/usr/local/lib/python3.7/site-packages/postorius/views/generic.py",
> >> line 74, in dispatch return super(MailingListView,
> >> self).dispatch(request, *args, **kwargs) File
> >> "/usr/local/lib/python3.7/site-packages/django/views/generic/base.py",
> >> line 97, in dispatch return handler(request, *args,
> >> **kwargs) File
> >> "/usr/local/lib/python3.7/site-packages/postorius/views/list.py",
> >> line 295, in get member.subscription_mode == File
> >> "/usr/local/lib/python3.7/site-packages/mailmanclient/restbase/base.py",
> >> line 124, in __getattr__ self.__class__.__name__, name))
> >> AttributeError: 'Member' object has no attribute
> >> 'subscription_mode' *********************** some info about
> >> the installed versions via pip list: pip list | grep django
> >> django-allauth 0.44.0
> >> django-appconf 1.0.4
> >> django-compressor 2.4
> >> django-extensions 3.1.0
> >> django-gravatar2 1.4.4
> >> django-haystack 3.0
> >> django-mailman3 1.3.5
> >> django-picklefield 3.0.1
> >> django-q 1.3.4
> >> djangorestframework 3.12.2 pip list | grep mailman
> >> django-mailman3 1.3.5
> >> mailman 3.3.3
> >> mailman-hyperkitty 1.1.0
> >> mailmanclient 3.3.2 pip list | grep postorius
> >> postorius 1.3.4 On 6/2/21 11:12,
> >> Guillermo Hernandez (Oldno7) via Mailman-users wrote:
> >>
> >> I've just upgrade mailman 3 installation following Mr.
> >> Sapiro advice: did a pip install --upgrade
> >> django-mailman3 hyperkitty mailman mailmanclient
> >> mailman-hyperkitty postorius I did a "python3 manage.py
> >> migrate" after, too. And all seemed to run well. All the
> >> lists showed in postorius via web, but when I try to
> >> accesss into one of them the browser shows an error. In
> >> the log you can see: *-*-*-*-*-*-* Traceback (most recent
> >> call last): File
> >> "/usr/local/lib/python3.7/site-packages/mailmanclient/restbase/base.py",
> >> line 119, in __getattr__ return self._get(name)
> >> File
> >> "/usr/local/lib/python3.7/site-packages/mailmanclient/restbase/base.py",
> >> line 86, in _get raise KeyError(key) KeyError:
> >> 'get_requests_count' .. (And after all the traceback
> >> lines) AttributeError: 'MailingList' object has no
> >> attribute 'get_requests_count' *-*-*-*-*-*-*-* The lists
> >> seem to be distributing messeages well.. but I cannot
> >> acces via web administration (django/postorius) Can
> >> anyone point me in the right direction to solve this,
> >> please? _______________________________________________
> >> Mailman-users mailing list -- mailman-users(a)mailman3.org
> >> <mailto:mailman-users@mailman3.org> To unsubscribe send
> >> an email to mailman-users-leave(a)mailman3.org
> >> <mailto:mailman-users-leave@mailman3.org>
> >> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
> >> <https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3org/>
> >>
> >>
> >> _______________________________________________ Mailman-users
> >> mailing list -- mailman-users(a)mailman3.org
> >> <mailto:mailman-users@mailman3.org> To unsubscribe send an
> >> email to mailman-users-leave(a)mailman3.org
> >> <mailto:mailman-users-leave@mailman3.org>
> >> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
> >> <https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3org/>
> >>
> >>
> >> _______________________________________________ Mailman-users mailing
> >> list -- mailman-users(a)mailman3.org
> >> <mailto:mailman-users@mailman3.org> To unsubscribe send an email to
> >> mailman-users-leave(a)mailman3.org
> >> <mailto:mailman-users-leave@mailman3.org>
> >> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
> >> <https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3org/>
>
>
> _______________________________________________
> 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)
4 years, 6 months