Search results for query "sapiro"
- 5707 messages

[MM3-users] Re: Postorius no connection to REST API
by Richard Rosner
Mark Sapiro wrote:
> > But whatever is listening on port 8001 is apparently not Mailman's rest
> server. What does
> ps -fww 14080
> or whatever PID is currently listening on port 8001 show.
UID PID PPID C STIME TTY STAT TIME CMD
list 15972 15963 0 Aug11 ? Sl 0:13 /usr/bin/python3 /usr/lib/mailman3/bin/runner -C /etc/mailman3/mailman.cfg --runner=rest:0:1
> > OK.
> Perhaps instead you should have
> uid: list
> gid: list
> in your uwsgi configuration if you don't already.
Tried that while also switching mailman3-web.service to list:list, exactly the same error. Also, I have /run/mailman3-web/uwsgi.sock owned by list:list now instead of www-data:www-data.
What the logs say:
*** Starting uWSGI 2.0.18-debian (64bit) on [Thu Aug 12 08:46:37 2021] ***
compiled with version: 8.2.0 on 10 February 2019 02:42:46
os: Linux-4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19)
nodename: mail
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 2
current working directory: /
detected binary path: /usr/bin/uwsgi-core
chdir() to /usr/share/mailman3-web
your processes number limit is 3831
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)
error removing unix socket, unlink(): Permission denied [core/socket.c line 198]
bind(): Address already in use [core/socket.c line 230]
Not sure if that means the two directories need to be owned by list, currently they are owned by root
> > I'm not familiar enough with this form of ProxyPass using sockets to
> understand what the localhost:8001 does in this context, but uwsgi
> should not be doing anything with port 8001. In a configuration using
> TCP, it would listen on port 8000. Port 8001 is where Mailman's REST API
> server listens. uwsgi should receive connects in your case via the unix
> socket and then pass them to Django via the application in wsgi.py
> Also, you may want other paths proxied to uwsgi, namely at least some of
> hyperkitty, postorius, archives, accounts, admin and user-profile.
Ok, I removed that port again, now it's exctly like in the automatically generated config file.
And you mean like
<IfModule mod_proxy_uwsgi.c>
ProxyPass /mailman3/favicon.ico !
ProxyPass /mailman3/static !
ProxyPass /mailman3 unix:/run/mailman3-web/uwsgi.sock|uwsgi://localhost/
ProxyPass /hyperkitty unix:/run/mailman3-web/uwsgi.sock|uwsgi://localhost/
ProxyPass /postorius unix:/run/mailman3-web/uwsgi.sock|uwsgi://localhost/
ProxyPass /admin unix:/run/mailman3-web/uwsgi.sock|uwsgi://localhost/
ProxyPass /archives unix:/run/mailman3-web/uwsgi.sock|uwsgi://localhost/
ProxyPass /accounts unix:/run/mailman3-web/uwsgi.sock|uwsgi://localhost/
ProxyPass /user-profile unix:/run/mailman3-web/uwsgi.sock|uwsgi://localhost/
</IfModule>
> > These should be 'list', not 'www-data'. That's your permissions issue on
> settings.py
3 years, 10 months

[MM3-users] Re: disabled users
by Servizio Informatico U.I.C.I. Sezione territoriale di Brescia
Hello,
Thank you for your answers. The problem is:
I have a lot of user disabled for too many bounces. These users have the
same provider that, probably, has some limits of number of mail that can
be delivered from the same server. This causes timeout connections and,
mailman creates correctly a bounce.
So I would like to discover a way to reset bounce limits so they can be
re enabled to receive. I tried also to unsubscribe and resubscribe users
but it does not change anything.
Thank you
Roberto Burceni
Servizio informatico sezionale
Tel. 0302209417 (lunedì e giovedì mattina dalle 9:00 alle 13:00, martedì emercoledì pomeriggio dalle 14:00 alle 18:00
E-mail:
servizioinformatico(a)uicibrescia.it
Sito web: https://www.uicibrescia.it
Il 26/10/23 00:13, Mark Sapiro ha scritto:
> On 10/25/23 10:44 AM, Stephen J. Turnbull wrote:
>> Servizio Informatico U.I.C.I. Sezione territoriale di Brescia writes:
>>
>> > Wher I find the disabled user of a mailing list and wher I can
>> > reactivate them?
>>
>> If you are the list owner or superuser, when you visit the list's
>> information page there will be a horizontal menu across the top. One
>> of the entries is Users. Click to open the dropdown menu and choose
>> Members. There doesn't seem to be an explicit notation for disabled
>> users, but if the entry in the far right column "bounce score" is
>> None, the member may be disabled.
>
> I don't think this is correct. Members with delivery disabled by
> bounce will normally show 0 rather than None for bounce score.
>
> If you have shell access to the server as the Mailman user, you can
> run this shell interaction to find members with delivery disabled by
> bounce.
> ```
> $ mm/bin/mailman shell -l test(a)example.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 test(a)example.com mailing list
> >>> for member in m.members.members:
> ... if member.delivery_status == DeliveryStatus.by_bounces:
> ... print(member.address.email)
> ...
> >>>
> ```
> But the question is, why do you want to re-enable their delivery.
> Granted, there are situations such as a misconfigured MTA or not
> applying needed DMARC mitigations that could result in 'spurious'
> bounced deliveries, but normally bounce processing disables delivery,
> sends warnings to the bouncing address and ultimately unsubscribes
> them because the address it truly not deliverable.
>
>
1 year, 8 months

[MM3-users] Re: Huge performance issue: Mailman doesn't (seem to) receive any mails.
by Mark Sapiro
On 9/20/19 5:39 AM, Henrik Rasmussen wrote:
> I know this is quite long (sorry), but I hope this part of the mailman.log may provide some clue to what went wrong.
It doesn't.
> As mentioned, Mailman stopped receiving mails some days ago and I have been restarting Mailman (without solving anything) at Sep 18 13:30:03 2019. On Sep 20 07:05:23 2019 everything started working again by itself.
>
> / Henrik Rasmussen
>
I'm snipping a bunch of irrelevant stuff having to do with web
interactions, etc.
> Sep 20 06:42:22 2019 (35) HOLD: listname(a)lists.example.com post from someone(a)foo.bar held, message-id=<4E8DB72B-66D9-456E-B51C-2A49423CF29F(a)foo.bar>: The message comes from a moderated member
> Sep 20 06:42:23 2019 (35) ACCEPT: <CALcvC6H5ko14LT8F_z_nbddp0DmDgfb-Rt32s+0TbpPrY3BL_g(a)mail.foo.bar>
There are lots of these indicating messages have been received via LMTP
and passed to Core.
> Sep 20 06:42:48 2019 (35) ACCEPT: <CAG3z+4+67M9jAjbVtSqUdUCU6cS1dOYBsmMTAdePL3+O+Nn+sQ(a)mail.foo.bar>
> Sep 20 06:42:56 2019 (32) Exception in the HyperKitty archiver: 'url'
> Sep 20 06:42:56 2019 (32) Traceback (most recent call last):
> File "/usr/local/lib/python3.6/site-packages/mailman_hyperkitty/__init__.py", line 154, in _archive_message
> url = self._send_message(mlist, msg)
> File "/usr/local/lib/python3.6/site-packages/mailman_hyperkitty/__init__.py", line 217, in _send_message
> archived_url = result["url"]
> KeyError: 'url'
> Sep 20 06:42:57 2019 (32) Exception in the HyperKitty archiver: 'url'
> Sep 20 06:42:57 2019 (32) Traceback (most recent call last):
> File "/usr/local/lib/python3.6/site-packages/mailman_hyperkitty/__init__.py", line 154, in _archive_message
> url = self._send_message(mlist, msg)
> File "/usr/local/lib/python3.6/site-packages/mailman_hyperkitty/__init__.py", line 217, in _send_message
> archived_url = result["url"]
> KeyError: 'url'
> Sep 20 06:42:57 2019 (32) HyperKitty failure on http://mailman-web:8000/hyperkitty/api/mailman/archive:
>
> <!DOCTYPE html>
> <html lang="en">
> <head>
> <meta charset="UTF-8">
> <meta http-equiv="X-UA-Compatible" content="IE=edge">
> <meta name="viewport" content="width=device-width, initial-scale=1">
> <title>Server Error</title>
> <link rel="shortcut icon" href="/static/postorius/img/favicon.ico">
> <link rel="stylesheet" href="/static/postorius/libs/bootstrap/css/bootstrap.min.css">
> <link rel="stylesheet" href="/static/django-mailman3/css/main.css">
> <link rel="stylesheet" href="/static/postorius/css/style.css">
>
> <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
> <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
> <!--[if lt IE 9]>
> <script src="/static/postorius/libs/html5shiv/html5shiv.min.js"></script>
> <script src="/static/postorius/libs/respond/respond.min.js"></script>
> <![endif]-->
> </head>
> <body>
> <div class="container">
> <h1>Server error</h1>
> <div class="alert alert-danger">An error occurred while processing your request.</div>
> </div>
> </body>
> </html>
> (500)
> Sep 20 06:42:57 2019 (32) Exception in the HyperKitty archiver:
>
> <!DOCTYPE html>
> <html lang="en">
> <head>
> <meta charset="UTF-8">
> <meta http-equiv="X-UA-Compatible" content="IE=edge">
> <meta name="viewport" content="width=device-width, initial-scale=1">
> <title>Server Error</title>
> <link rel="shortcut icon" href="/static/postorius/img/favicon.ico">
> <link rel="stylesheet" href="/static/postorius/libs/bootstrap/css/bootstrap.min.css">
> <link rel="stylesheet" href="/static/django-mailman3/css/main.css">
> <link rel="stylesheet" href="/static/postorius/css/style.css">
>
> <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
> <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
> <!--[if lt IE 9]>
> <script src="/static/postorius/libs/html5shiv/html5shiv.min.js"></script>
> <script src="/static/postorius/libs/respond/respond.min.js"></script>
> <![endif]-->
> </head>
> <body>
> <div class="container">
> <h1>Server error</h1>
> <div class="alert alert-danger">An error occurred while processing your request.</div>
> </div>
> </body>
> </html>
> Sep 20 06:42:57 2019 (32) Traceback (most recent call last):
> File "/usr/local/lib/python3.6/site-packages/mailman_hyperkitty/__init__.py", line 154, in _archive_message
> url = self._send_message(mlist, msg)
> File "/usr/local/lib/python3.6/site-packages/mailman_hyperkitty/__init__.py", line 210, in _send_message
> raise ValueError(result.text)
> ValueError:
>
> <!DOCTYPE html>
> <html lang="en">
> <head>
> <meta charset="UTF-8">
> <meta http-equiv="X-UA-Compatible" content="IE=edge">
> <meta name="viewport" content="width=device-width, initial-scale=1">
> <title>Server Error</title>
> <link rel="shortcut icon" href="/static/postorius/img/favicon.ico">
> <link rel="stylesheet" href="/static/postorius/libs/bootstrap/css/bootstrap.min.css">
> <link rel="stylesheet" href="/static/django-mailman3/css/main.css">
> <link rel="stylesheet" href="/static/postorius/css/style.css">
>
> <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
> <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
> <!--[if lt IE 9]>
> <script src="/static/postorius/libs/html5shiv/html5shiv.min.js"></script>
> <script src="/static/postorius/libs/respond/respond.min.js"></script>
> <![endif]-->
> </head>
> <body>
> <div class="container">
> <h1>Server error</h1>
> <div class="alert alert-danger">An error occurred while processing your request.</div>
> </div>
> </body>
> </html>
>
> Sep 20 06:42:57 2019 (32) HyperKitty failure on http://mailman-web:8000/hyperkitty/api/mailman/archive:
>
> <!DOCTYPE html>
> <html lang="en">
> <head>
> <meta charset="UTF-8">
> <meta http-equiv="X-UA-Compatible" content="IE=edge">
> <meta name="viewport" content="width=device-width, initial-scale=1">
> <title>Server Error</title>
> <link rel="shortcut icon" href="/static/postorius/img/favicon.ico">
> <link rel="stylesheet" href="/static/postorius/libs/bootstrap/css/bootstrap.min.css">
> <link rel="stylesheet" href="/static/django-mailman3/css/main.css">
> <link rel="stylesheet" href="/static/postorius/css/style.css">
>
> <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
> <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
> <!--[if lt IE 9]>
> <script src="/static/postorius/libs/html5shiv/html5shiv.min.js"></script>
> <script src="/static/postorius/libs/respond/respond.min.js"></script>
> <![endif]-->
> </head>
> <body>
> <div class="container">
> <h1>Server error</h1>
> <div class="alert alert-danger">An error occurred while processing your request.</div>
> </div>
> </body>
> </html>
> (500)
> Sep 20 06:42:57 2019 (32) Exception in the HyperKitty archiver:
>
> <!DOCTYPE html>
> <html lang="en">
> <head>
> <meta charset="UTF-8">
> <meta http-equiv="X-UA-Compatible" content="IE=edge">
> <meta name="viewport" content="width=device-width, initial-scale=1">
> <title>Server Error</title>
> <link rel="shortcut icon" href="/static/postorius/img/favicon.ico">
> <link rel="stylesheet" href="/static/postorius/libs/bootstrap/css/bootstrap.min.css">
> <link rel="stylesheet" href="/static/django-mailman3/css/main.css">
> <link rel="stylesheet" href="/static/postorius/css/style.css">
>
> <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
> <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
> <!--[if lt IE 9]>
> <script src="/static/postorius/libs/html5shiv/html5shiv.min.js"></script>
> <script src="/static/postorius/libs/respond/respond.min.js"></script>
> <![endif]-->
> </head>
> <body>
> <div class="container">
> <h1>Server error</h1>
> <div class="alert alert-danger">An error occurred while processing your request.</div>
> </div>
> </body>
> </html>
> Sep 20 06:42:57 2019 (32) Traceback (most recent call last):
> File "/usr/local/lib/python3.6/site-packages/mailman_hyperkitty/__init__.py", line 154, in _archive_message
> url = self._send_message(mlist, msg)
> File "/usr/local/lib/python3.6/site-packages/mailman_hyperkitty/__init__.py", line 210, in _send_message
> raise ValueError(result.text)
> ValueError:
>
> <!DOCTYPE html>
> <html lang="en">
> <head>
> <meta charset="UTF-8">
> <meta http-equiv="X-UA-Compatible" content="IE=edge">
> <meta name="viewport" content="width=device-width, initial-scale=1">
> <title>Server Error</title>
> <link rel="shortcut icon" href="/static/postorius/img/favicon.ico">
> <link rel="stylesheet" href="/static/postorius/libs/bootstrap/css/bootstrap.min.css">
> <link rel="stylesheet" href="/static/django-mailman3/css/main.css">
> <link rel="stylesheet" href="/static/postorius/css/style.css">
>
> <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
> <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
> <!--[if lt IE 9]>
> <script src="/static/postorius/libs/html5shiv/html5shiv.min.js"></script>
> <script src="/static/postorius/libs/respond/respond.min.js"></script>
> <![endif]-->
> </head>
> <body>
> <div class="container">
> <h1>Server error</h1>
> <div class="alert alert-danger">An error occurred while processing your request.</div>
> </div>
> </body>
> </html>
>
> Sep 20 06:42:57 2019 (32) Exception in the HyperKitty archiver: 'url'
> Sep 20 06:42:57 2019 (32) Traceback (most recent call last):
> File "/usr/local/lib/python3.6/site-packages/mailman_hyperkitty/__init__.py", line 154, in _archive_message
> url = self._send_message(mlist, msg)
> File "/usr/local/lib/python3.6/site-packages/mailman_hyperkitty/__init__.py", line 217, in _send_message
> archived_url = result["url"]
> KeyError: 'url'
> Sep 20 06:42:57 2019 (32) Exception in the HyperKitty archiver: 'url'
> Sep 20 06:42:57 2019 (32) Traceback (most recent call last):
> File "/usr/local/lib/python3.6/site-packages/mailman_hyperkitty/__init__.py", line 154, in _archive_message
> url = self._send_message(mlist, msg)
> File "/usr/local/lib/python3.6/site-packages/mailman_hyperkitty/__init__.py", line 217, in _send_message
> archived_url = result["url"]
> KeyError: 'url'
There are lots of the above errors/tracebacks. They are a problem, but
not specifically the one affecting Postfix delivery.
There are two different tracebacks. The ValueError is because the
mailman_hyperkitty shim has called Hyperkitty via
http://mailman-web:8000/hyperkitty/api/mailman/archive to archive the
message and HyperKitty returned a 500 status with the HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Server Error</title>
<link rel="shortcut icon" href="/static/postorius/img/favicon.ico">
<link rel="stylesheet"
href="/static/postorius/libs/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="/static/django-mailman3/css/main.css">
<link rel="stylesheet" href="/static/postorius/css/style.css">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and
media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via
file:// -->
<!--[if lt IE 9]>
<script
src="/static/postorius/libs/html5shiv/html5shiv.min.js"></script>
<script src="/static/postorius/libs/respond/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container">
<h1>Server error</h1>
<div class="alert alert-danger">An error occurred while processing
your request.</div>
</div>
</body>
</html>
Then the KeyError occurs because the response did not include the URL of
the archived message.
When this occurs, mailman_hyperkitty retries the message until it succeeds.
For more information on the HyperKitty issue, look in the Django log
whose path is defined in LOGGING['handlers']['file']['filename'] in the
Django settings.
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
5 years, 9 months

[MM3-users] Re: A little stuck with installation of MM3 - ModuleNotFoundError: No module named 'flufl.lock'
by Odhiambo Washington
On Thu, 30 Jul 2020 at 22:02, Mark Sapiro <mark(a)msapiro.net> wrote:
> On 7/30/20 11:24 AM, Odhiambo Washington wrote:
>
> > This works - I mean changes the error message to
> >
> > [Thu Jul 30 18:11:50.269667 2020] [wsgi:error] [pid 7627] [remote
> > 197.232.81.246:63962]
> >
> /opt/mailman/mm/venv/lib/python3.7/site-packages/readme_renderer-26.0-py3.7.egg/readme_renderer/markdown.py:38:
> > UserWarning: Markdown renderers are not available. Install
> > 'readme_renderer[md]' to enable Markdown rendering.
> > [Thu Jul 30 18:11:50.269700 2020] [wsgi:error] [pid 7627] [remote
> > 197.232.81.246:63962] warnings.warn(_EXTRA_WARNING)
>
>
> I'm not sure why you are getting this warning, and it's non-fatal, but
> you can get rid of it by
>
> pip install cmarkgfm
>
> in your virtualenv.
>
(venv) [mailman3@gw ~]$ pip install cmarkgfm
Requirement already satisfied: cmarkgfm in
./mm/venv/lib/python3.7/site-packages/cmarkgfm-0.4.2-py3.7-freebsd-12.1-RELEASE-p7-amd64.egg
(0.4.2)
Requirement already satisfied: cffi>=1.0.0 in
./mm/venv/lib/python3.7/site-packages/cffi-1.14.0-py3.7-freebsd-12.1-RELEASE-p7-amd64.egg
(from cmarkgfm) (1.14.0)
Requirement already satisfied: pycparser in
./mm/venv/lib/python3.7/site-packages/pycparser-2.20-py3.7.egg (from
cffi>=1.0.0->cmarkgfm) (2.20)
(venv) [mailman3@gw ~]$
> > [Thu Jul 30 21:11:50.573233 2020] [authz_core:error] [pid 10846] [client
> > 197.232.81.246:63962] AH01630: client denied by server configuration:
> > /var/spool/mailman-web, referer:
> > http://mm3-lists.my.server/mm3/mailman3/lists/
> >
> > There is NO /var/spool/mailman-web anywhere. It has not been created.
> > You mentioned that it should be created automatically, IIRC.
>
>
> No. I think I told you that the references to
> /var/spool/mailman-web/static in your Apache config should be changed to
> /opt/mailman/mm/static and that directory would be created/populated by
> mailman-post-update.
>
> I think you still have
>
> Alias /static "/var/spool/mailman-web/static"
>
> in your Apache config and it needs to be
>
> Alias /static "/opt/mailman/mm/static"
>
> That may be my fault as when I recently edited
> <
> https://wiki.list.org/DOC/Mailman%203%20installation%20experience?action=At…
> >,
> I missed that line.
After changing the Alias line and running the mailman-post-update, all
errors are gone and I have a web UI. Yayi!!!
I have been able to create a domain, a list for testing. Now I just need to
go through the analysis of what I have been doing so
that I can clean up my notes.
Then I can come back on migration issues.
A BIG THANK YOU for all the support up to this point.
--
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254 7 3200 0004/+254 7 2274 3223
"Oh, the cruft.", grep ^[^#] :-)
4 years, 11 months

[MM3-users] Re: Archiver "prototype" and disabling archiving at all
by Torge Riedel
Am 28.03.19 um 17:45 schrieb Abhilash Raj:
> On Thu, Mar 28, 2019, at 9:18 AM, Torge Riedel wrote:
>> Am 24.03.19 um 16:49 schrieb Mark Sapiro:
>>> On 3/24/19 5:40 AM, Torge Riedel wrote:
>>>> in the settings of a mailing list I can choose two archivers:
>>>> "Hyperkitty" and "prototype". What is this archive "prototype" and how
>>>> can I disable/remove/deinstall it? And how can I disable archiving at
>>>> all, so no archiver can be chosen in the settings.
>>> The prototype archiver stores messages individually in
>>> var/archives/prototype/LIST_NAME/.
>>>
>>> You can disable the prototype archiver by putting
>>>
>>> [archiver.prototype]
>>> enable: no
>>>
>>> in your mailman.cfg. To disable all archiving, just remove all the
>>> [archiver.*] sections from your mailman.cfg or set them to 'enable: no'
>>>
>>>
>> Hi Mark,
>>
>> thanks. This disabled the archivers, but there is still the "Archives"
>> link on top of the page. Is it possible to remove it? Cause there is
>> nothing to see there. I tried commenting "'hyperkitty'," in
>> INSTALLED_APPS, but then I got a 500.
> INSTALLED_APPS = (
> 'postorius',
> 'django_mailman3',
> # Uncomment the next line to enable the admin:
> 'django.contrib.admin',
> # Uncomment the next line to enable admin documentation:
> # 'django.contrib.admindocs',
> 'django.contrib.auth',
> 'django.contrib.contenttypes',
> 'django.contrib.sessions',
> 'django.contrib.sites',
> 'django.contrib.messages',
> 'django.contrib.staticfiles',
> 'django_gravatar',
> 'allauth',
> 'allauth.account',
> 'allauth.socialaccount',
> )
>
>
> This is how it should look like if you want to remove Hyperkitty. There
> are a few other settings you should remove.
>
> https://gitlab.com/mailman/postorius/blob/master/example_project/settings.py
>
> This is a Postorius only configuration for reference.
>
>
>> _______________________________________________
>> 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/
>>
Hi,
I gave it a try, but I was not able to disable hyperkitty. I compared the settings in the link you gave and I see a lot of differences. Some of them I am not sure why they are missing in other example settings.
Currently I would say, I will keep the archive link there until it is more clear for me how to set things up. Since archiving is disabled, there will be no data in the archive. That is okay for the moment.
Regards
Torge
6 years, 2 months

[MM3-users] Re: Hyperkitty not receaving messages / empty archive [Django] ERROR (EXTERNAL IP): Internal Server Error: /hyperkitty/api/mailman/urls
by Helge Baumgart
Hello Mark,
THANK You for identifying MY typos.... how embarrassing. :-)
Now ist running like a charm.
It's always the same...
These Variables are setting the internal Values via the docker-compose.yml.
If they do not match, the internal variables are not set.
Therefor my typo H*A*YPERKITTY_API_KEY =! HYPERKITTY_API_KEY caused,
that the mailman-web section of the docker-compose.yml had NO Hyperkitty
API- KEY.
I suspected something like that, that's why i set the key via the .env
variabels to ensure
identical values in all sections oft the docker.compose.yml.
I didn't check the name of the variables...
Thx again!
Best wishes
Helge
Ps.:
That docker-compose.yml with the settings_locale.py and
mailman_extra.cfg basically setts a complete deployable environment
INCLUDING the MTA,
which is independent of the host...
Am 22.01.2025 um 06:36 schrieb Mark Sapiro:
> On 1/21/25 05:44, Helge Baumgart wrote:
>
>> Hyperkitty-Api-Key in the docker-compose.yml is set via .env
>> Variabel, so it should be identical.
>
>
> I don't know how this works in the Docker image, but ...
>
>> Traceback (most recent call last):
>> File
>> "/usr/lib/python3.11/site-packages/django/core/handlers/exception.py",
>> line 56, in inner
>> response = get_response(request)
>> File
>> "/usr/lib/python3.11/site-packages/django/core/handlers/base.py",
>> line 197, in _get_response
>> response = wrapped_callback(request, *callback_args,
>> **callback_kwargs)
>> File
>> "/usr/lib/python3.11/site-packages/hyperkitty/views/mailman.py", line
>> 109, in _decorator
>> not hmac.compare_digest(
>>
>> Exception Type: TypeError at /hyperkitty/api/mailman/urls
>> Exception Value: unsupported operand types(s) or combination of
>> types: 'str' and 'NoneType'
>
> The above code is doing
>
> auth = authorization.split()
> if (len(auth) != 2 or auth[0] != 'Token' or
> not hmac.compare_digest(
> auth[1], settings.MAILMAN_ARCHIVER_KEY)):
>
>
> and the exception says either auth[0] is None or auth[1] or
> settings.MAILMAN_ARCHIVER_KEY is None.
>
> But
>
>> META:
> ...
>> HTTP_AUTHORIZATION = 'Token (value)'
> and
>
>> Settings:
>> Using settings module settings
> ...
>> MAILMAN_ARCHIVER_KEY = '********************'
>
> So The Authorization header is the appropriate `Token value` which
> should result in auth[0] being 'Token', auth[1] being the value and
> MAILMAN_ARCHIVER_KEY is set
>
>> That is my docker-compose.yml:
> ...
>> mailman-web:
> ...
>> - HAYPERKITTY_API_KEY=${MM3_HYPERKITTY_API_KEY}
>> #someapikey_longAndTrustworty
>
>
> I don't really understand why the above typo (HAYPERKITTY_API_KEY, not
> HYPERKITTY_API_KEY) would cause this error, but it needs to be fixed.
>
5 months, 1 week

[MM3-users] Re: Welcome message template errors
by Mark
On 2024-04-22 14:07, Mark Sapiro wrote:
> I think you must be setting the custom template via Postorius and
> your Django setting for POSTORIUS_TEMPLATE_BASE_URL is wrong. It
> should be set to the scheme and host you use to access Postorius. I.e,
> if you normally access Postorius via something like
> https://example.com/mailman3 set
>
> POSTORIUS_TEMPLATE_BASE_URL = 'https://example.com'
>
> It is probably now set as
>
> POSTORIUS_TEMPLATE_BASE_URL = 'http://<REDACTED-PUBLIC-IPv4-ADDRESS>'
================================================================================
There was no line POSTORIUS_TEMPLATE_BASE_URL in
/etc/mailman3/settings.py
So I've now added the line: POSTORIUS_TEMPLATE_BASE_URL =
'https://lists.mydomain.com'
Checked in settings.py that:
- "lists.mydomain.com" is in ALLOWED_HOSTS; and
- "https://lists.mydomain.com" is in CSRF_TRUSTED_ORIGINS
Restarted everything...
rm /opt/mailman/mm/var/locks/*
systemctl restart mailman3
systemctl restart mailmanweb
systemctl daemon-reload
systemctl restart qcluster
# pstree
systemd─┬─
├─gunicorn───gunicorn
├─mailman-web───mailman-web───4*[mailman-web]
├─nginx───2*[nginx]
├─postgres───18*[postgres]
├─python3─┬─11*[python3]
│ ├─python3───{python3}
│ └─python3───2*[python3]
I deleted the custom Welcome template via the WebUI (Postorius), and
checked it was removed from the database (PostGres mailman.template).
Then, as site-owner, creating a new custom Welcome template (again via
the WebUI) I can see it correctly added to the database in
mailman.template.uri
-
https://lists.mydomain.com/mailman3/api/templates/list/lists.mydomain.com/l…
Previously it was writing ...
-
http://localhost:8000/mailman3/api/templates/list/lists.mydomain.com/list:u…
So far so good. Nothing showing in mailmanweb.log yet.
Then, still as site-owner using Postorius, I mass-subscribed a new
member (pre confirm, pre approve, pre verify all ticked).
The error below displays on the webpage, the member is subscribed, but
no custom welcome message emailed out.
===================================
HTTP Error 400: HTTPSConnectionPool(host='lists.mydomain.com',
port=443): Read timed out. (read timeout=5)
===================================
And the syslog shows a ton of issues, starting with:
===================================
2024-04-22T23:39:27.536002+00:00 lists mailman[1317]: Apr 22 23:39:27
2024 (1317) HTTPSConnectionPool(host='<LISTS.MYDOMAIN.COM>', port=443):
Read timed out. (read timeout=5)
2024-04-22T23:39:27.537648+00:00 lists mailman[1317]: Traceback (most
recent call last):
2024-04-22T23:39:27.537681+00:00 lists mailman[1317]: File
"/opt/mailman/venv/lib/python3.11/site-packages/urllib3/connectionpool.py",
line 536, in _make_request
2024-04-22T23:39:27.537700+00:00 lists mailman[1317]: response =
conn.getresponse()
2024-04-22T23:39:27.537717+00:00 lists mailman[1317]:
^^^^^^^^^^^^^^^^^^
2024-04-22T23:39:27.537740+00:00 lists mailman[1317]: File
"/opt/mailman/venv/lib/python3.11/site-packages/urllib3/connection.py",
line 461, in getresponse
2024-04-22T23:39:27.537757+00:00 lists mailman[1317]:
httplib_response = super().getresponse()
2024-04-22T23:39:27.537772+00:00 lists mailman[1317]:
^^^^^^^^^^^^^^^^^^^^^
2024-04-22T23:39:27.537790+00:00 lists mailman[1317]: File
"/usr/lib/python3.11/http/client.py", line 1374, in getresponse
===================================
I removed the custom welcome message and the newly subscribed members.
The default "You've been unsubscribed" notice got emailed out okay.
Then mass subscribing a member, the default welcome message gets emailed
out okay and no error displayed on the webpage.
I have no idea what the report in syslog is saying, or where to look
next. Any help appreciated.
1 year, 2 months

[MM3-users] Re: Mails are stuck in Mailman Pipeline Queue
by Shashikanth Komandoor
Thank you Mark for your response.
As you have listed all the runners are shown working fine.
I don't find any traceback during mailman service starting.
But the below trace back is observed during mailman service stopping:
Mar 27 09:01:19 2022 (5859) out runner caught SIGTERM. Stopping.
Mar 27 09:01:19 2022 (5859) out runner exiting.
Mar 27 09:01:19 2022 (5860) pipeline runner caught SIGTERM. Stopping.
Mar 27 09:01:19 2022 (5864) digest runner caught SIGTERM. Stopping.
Mar 27 09:01:19 2022 (5846) Master watcher caught SIGTERM. Exiting.
Mar 27 09:01:19 2022 (5858) nntp runner caught SIGTERM. Stopping.
Mar 27 09:01:19 2022 (5853) archive runner caught SIGTERM. Stopping.
Mar 27 09:01:19 2022 (5858) nntp runner exiting.
Mar 27 09:01:19 2022 (5853) archive runner exiting.
Mar 27 09:01:19 2022 (5854) bounces runner caught SIGTERM. Stopping.
Mar 27 09:01:19 2022 (5854) bounces runner exiting.
Mar 27 09:01:19 2022 (5855) command runner caught SIGTERM. Stopping.
Mar 27 09:01:19 2022 (5855) command runner exiting.
Mar 27 09:01:19 2022 (5863) virgin runner caught SIGTERM. Stopping.
Mar 27 09:01:19 2022 (5863) virgin runner exiting.
Mar 27 09:01:19 2022 (5862) retry runner caught SIGTERM. Stopping.
Mar 27 09:01:19 2022 (5862) retry runner exiting.
Mar 27 09:01:19 2022 (5857) lmtp runner caught SIGTERM. Stopping.
Mar 27 09:01:19 2022 (5857) lmtp runner exiting.
Mar 27 09:01:19 2022 (5856) in runner caught SIGTERM. Stopping.
Mar 27 09:01:19 2022 (5856) in runner exiting.
[2022-03-27 09:01:19 +0530] [5861] [INFO] Handling signal: term
[2022-03-27 09:01:19 +0530] [18009] [INFO] Worker exiting (pid: 18009)
[2022-03-27 09:01:19 +0530] [18004] [INFO] Worker exiting (pid: 18004)
[2022-03-27 09:01:21 +0530] [5861] [INFO] Shutting down: Master
Mar 27 09:01:22 2022 (5864) Uncaught runner exception:
Mar 27 09:01:22 2022 (5864) Traceback (most recent call last):
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/mailman/core/runner.py",
line 173, in _one_iteration
self._process_one_file(msg, msgdata)
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/mailman/core/runner.py",
line 266, in _process_one_file
keepqueued = self._dispose(mlist, msg, msgdata)
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/mailman/runners/digest.py",
line 332, in _dispose
digest_members = set(mlist.digest_members.members)
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/mailman/model/roster.py",
line 254, in members
DeliveryMode.summary_digests)
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/mailman/model/roster.py",
line 226, in _get_members
if member.delivery_mode in delivery_modes:
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/mailman/model/member.py",
line 205, in delivery_mode
return self._lookup('delivery_mode')
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/mailman/model/member.py",
line 167, in _lookup
pref = getattr(self.address.preferences, preference)
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/mailman/model/member.py",
line 117, in address
if self._address is None
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/orm/attributes.py",
line 287, in __get__
return self.impl.get(instance_state(instance), dict_)
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/orm/attributes.py",
line 723, in get
value = self.callable_(state, passive)
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/orm/strategies.py",
line 760, in _load_for_state
session, state, primary_key_identity, passive
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/mailman/core/runner.py",
line 114, in signal_handler
raise RunnerInterrupt
mailman.interfaces.runner.RunnerInterrupt
Mar 27 09:01:22 2022 (5864) SHUNTING: 1648351882.6693938+
c2e6ed709646a7680c73059b52d2f0451836e591
Mar 27 09:01:22 2022 (5864) digest runner exiting.
Mar 27 09:01:22 2022 (5860) Uncaught runner exception:
Mar 27 09:01:22 2022 (5860) Traceback (most recent call last):
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/mailman/core/runner.py",
line 173, in _one_iteration
self._process_one_file(msg, msgdata)
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/mailman/core/runner.py",
line 266, in _process_one_file
keepqueued = self._dispose(mlist, msg, msgdata)
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/mailman/runners/pipeline.py",
line 37, in _dispose
process(mlist, msg, msgdata, pipeline)
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/mailman/core/pipelines.py",
line 50, in process
handler.process(mlist, msg, msgdata)
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/
mailman/handlers/member_recipients.py", line 84, in process
for member in mlist.regular_members.members
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/
mailman/handlers/member_recipients.py", line 83, in <genexpr>
recipients = set(member.address.email
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/mailman/model/roster.py",
line 239, in members
yield from self._get_members(DeliveryMode.regular)
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/mailman/model/roster.py",
line 226, in _get_members
if member.delivery_mode in delivery_modes:
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/mailman/model/member.py",
line 205, in delivery_mode
return self._lookup('delivery_mode')
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/mailman/model/member.py",
line 167, in _lookup
pref = getattr(self.address.preferences, preference)
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/orm/attributes.py",
line 287, in __get__
return self.impl.get(instance_state(instance), dict_)
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/orm/attributes.py",
line 723, in get
value = self.callable_(state, passive)
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/orm/strategies.py",
line 760, in _load_for_state
session, state, primary_key_identity, passive
File "<string>", line 1, in <lambda>
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/orm/strategies.py",
line 850, in _emit_lazyload
session.query(self.mapper), primary_key_identity
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/ext/baked.py",
line 603, in _load_on_pk_identity
setup, tuple(elem is None for elem in primary_key_identity)
File "/var/lib/mailman/venv/lib64/python3.6/site-packages/mailman/core/runner.py",
line 114, in signal_handler
raise RunnerInterrupt
mailman.interfaces.runner.RunnerInterrupt
Mar 27 09:01:22 2022 (5860) SHUNTING: 1648351882.8537986+
9bf59cb23a71a4bae65536bfdbec0abb261adaa0
Mar 27 09:01:22 2022 (5860) pipeline runner exiting.
Mar 27 09:01:23 2022 (5846) Master stopped
I have shared more log because I could not understand where can the clue be
to resolve the issue. Please suggest me.
On Sat, Mar 26, 2022, 11:33 PM Mark Sapiro <mark(a)msapiro.net> wrote:
> On 3/26/22 10:28, Shashikanth Komandoor wrote:
> > Hi Team,
> >
> > We have restarted the services as well but no change.
>
>
> Odd.
>
>
> > We tried manually moving the pck file from pipeline queue to
> > out queue but the file disappeared from out queue but is not getting
> > delivered.
>
>
> This is expected because if the message hasn't been processed through
> the pipeline, it has no recipients in the metadata, so the outgoing
> runner delivered it to no one. Also, it skipped archiving and digesting.
>
> > We moved the pck file from pipeline queue to out queue with
> the
> > extension .bak still no use.
>
>
> Same as above.
>
>
> > Not sure what to try next. Please help.
>
>
> Mi first guess is the pipeline runner isn't running, but you restarted
> the services, presumably Mailman core, and that might fix it, but there
> are various ways the pipeline runner could have died that would cause
> the master to not restart it.
>
> You need to stop Mailman core and then start it rather than just
> restarting. That may help.
>
> Also look in mailman.log. Assuming the pipeline runner died at some
> point, there should be a log entry and possible an exception with
> traceback indicating why.
>
> You can see which runners are running with something like
> ```
> ps -fwwA|grep runner=|sed s/.*runner=//
> ```
> This should produce a list something like
> ```
> archive:0:1
> bounces:0:1
> command:0:1
> in:0:1
> lmtp:0:1
> nntp:0:1
> out:0:1
> pipeline:0:1
> rest:0:1
> retry:0:1
> task:0:1
> virgin:0:1
> digest:0:1
> rest:0:1
> rest:0:1
> ```
> except depending on version, `task` may not be there.
>
>
> --
> 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/
>
3 years, 3 months

[MM3-users] Re: Confirm and Moderate Unsubscribe Requests
by Brian Carpenter
On 10/21/20 9:39 PM, Abhilash Raj wrote:
>
> On Wed, Oct 21, 2020, at 3:35 PM, Brian Carpenter wrote:
>> On 10/21/20 5:39 PM, Mark Sapiro wrote:
>>> On 10/21/20 12:14 PM, Brian Carpenter wrote:
>>>> Well I can't dictate that to my list owners and there is no confirm
>>>> token sent with the moderation notice. Why include this option in
>>>> Postorius when it can't be properly handled?
>>> Postorius is still a work in progress. The unsubscription policies are
>>> in core and are exposed in Postorius. Certainly the ability to moderate
>>> an unsubscription should be in Postorius, but it isn't yet. We are an
>>> all volunteer project and there aren't that many of us, and perhaps I'm
>>> overreacting, but the tone of some of your recent posts seems a bit
>>> demanding.
>> I apologize. I didn't think I was coming across demanding but I am
>> somewhat exasperated at some of these issues. I have a list owner who is
>> now going to get a moderated request notice everyday that he can't do
>> anything about it.
>>
>> But my question still remains: why is this option in Postorius when it
>> can't be handled properly? Surely the option can be easily removed, right?
> I added the option in my drive to expose every possible Mailinglist settings via Postorius and missed the fact that we weren't actually able to moderate those requests.
>
> Yes, this option can be hidden if it doesn't work until the next stable release. I hid one of the list settings in Postorius exactly because it didn't work, but this one slipped.
Thank you. I will go ahead and remove the option within Affinity.
>> Is the ability to list (via the pending moderation notices tab) and
>> handle (as in the List owner can decide a moderation response) an
>> unsubscribe moderation request there in Mailman core so that I can
>> properly address it via Affinity?
> Unfortunately no, there is a bug report open for it though and I have some done some analysis on root cause[1]. The bug turned out to be a more than a trivial one and I haven't been able to get to it yet.
>
> [1]: https://gitlab.com/mailman/mailman/-/issues/768
>
>
This is good information to have at least so I appreciate letting me
know. I probably need to spend more time looking through the outstanding
issues for Mailman core and Postorius before launching a nuclear strike
of epic and catastrophic proportions upon Mark.
--
Brian Carpenter
Harmonylists.com
Emwd.com
4 years, 8 months

[MM3-users] Re: Errors while importing mm2 list archives - SOLVED
by Odhiambo Washington
On Thu, Dec 22, 2022 at 9:36 AM Mark Sapiro <mark(a)msapiro.net> wrote:
> On 12/20/22 22:25, Odhiambo Washington wrote:
> >
> > In my case, running `mailman` without any arguments just makes it grok :)
> >
> > (venv) [mailman@gw ~/mm]$ mailman info
> ...
> > *config file: /opt/mailman/mm/mailman.cfg*
>
>
> That's because it first looks in the current directory for `mailman.cfg`
> and only if it doesn't find it there does it look in /etc/mailman3.
>
And that happens because I have all my config files in /opt/mailman/mm/.
So if I moved all of them to /etc/mailman3/ it would settle for that? I
will test it.
>> Ultimately, when I did the import, there was only one email from the
> >>> archives that failed to be imported - which I honestly don't mind, but
> >>> maybe there is a solution for this
> >>> "'utf-8' codec can't encode character '\udcae' in position 331:
> >> surrogates not allowed" ??
> >>
> >>
> >> If you provide a copy of that message from the mbox, either on the list
> >> or to me directly, I'll investigate.
> >>
> >
> > A mbox file containing that email and the associated thread can be
> > downloaded from here:
> > https://webmail.kictanet.or.ke/~wash/chunk_7.txt.gz
>
> The offending message is multipart with an attached message/rfc822 part
> and that part has a preamble which in bytes is
>
> b'This document is a Single File Web Page, also known as a Web Archive
> file. If you are seeing this message, your browser or editor doesn't
> support Web Archive files. Please download a browser that supports Web
> Archive, such as Windows\xae Internet Explorer\xae.'
>
> The '\xae' is an iso-8859-1 encoding for '®', but no charset is
> specified for this preamble so email message parsing ends up decoding
> those as surrogates '\udcae' which throws the exception when
> hyperkitty.lib.incoming.add_to_list() in trying to save the attachment
> does `att.set_content(content)`.
>
> Normally, when messages to be archived arrive from core via
> mailman_hyperkitty, the surrogates are replaced by
> email.utils._sanitize(), but this doesn't happen with messages from
> hyperkitty_import.
>
I am glad it's an email that is probably overtaken by events. However, the
good thing is that I will have the archives from MM2 still accessible once
I move to MM3.
--
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254 7 3200 0004/+254 7 2274 3223
"Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-)
2 years, 6 months