Search results for query "sapiro"
- 6045 messages
[MM3-users] Re: Apache+mod_wsgi issue
by Odhiambo Washington
On Sat, Dec 24, 2022 at 1:51 AM Mark Sapiro <mark(a)msapiro.net> wrote:
> On 12/22/22 22:26, Odhiambo Washington wrote:
> > On Fri, Dec 23, 2022 at 9:21 AM Odhiambo Washington <odhiambo(a)gmail.com>
> > wrote:
> >
> >> And now I am having a problem with mod_wsgi.
> >> First, the URL displayed when I load the page looks bogus to me.
> >> While I expect the URL to be
> >> https://mm3-lists.kictanet.or.ke/mailman3/domains/, mod_wsgi give me
> >> https://mm3-lists.kictanet.or.ke/mailman3/mailman3/domains/ - there is
> an
> >> extra /mailman3!
>
>
> See below:
>
>
> >> So I have;
> >> 1. https://mm3-lists.kictanet.or.ke/mailman3/mailman3/lists/ -
> working,
> >> or appears to.
> >> 2. https://mm3-lists.kictanet.or.ke/mailman3/mailman3/domains/ -
> working,
> >> or appears to.
> >> 3. https://mm3-lists.kictanet.or.ke/mailman3/mailman3/bans/ - working,
> or
> >> appears to
> >> 4. https://mm3-lists.kictanet.or.ke/mailman3/mailman3/users - working,
> or
> >> appears to
> >> 5.
> >>
> https://mm3-lists.kictanet.or.ke/mailman3/mailman3/lists/kictanet.lists.kic…
> >> - This throws an exception error when I click "Manage Subscription".
> >>
> >> -> https://pastebin.ubuntu.com/p/RkKH793Jgw/
>
>
> messages like these
>
> [Fri Dec 23 09:10:55.393386 2022] [wsgi:error] [pid 74857] [remote
> 197.232.81.246:14181] File
> "/opt/mailman/mm/venv/lib/python3.9/site-packages/mailmanclient/restbase/connection.py",
>
> line 160, in call
> [Fri Dec 23 09:10:55.393390 2022] [wsgi:error] [pid 74857] [remote
> 197.232.81.246:14181] raise HTTPError(params.get('url'),
> response.status_code,
> [Fri Dec 23 09:10:55.393394 2022] [wsgi:error] [pid 74857] [remote
> 197.232.81.246:14181] urllib.error.HTTPError: HTTP Error 500: {"title":
> "500 Internal Server Error"}
>
> Indicate an uncaught exception in Mailman core. What's in mailman.log?
>
A good catch here!
mailman.log was mostly having a complaint about a missing config file -
/etc/mailman3/mailman-hyperkitty.cfg
I then just did a symlink: ln -s /opt/mailman/mm /etc/mailman3, which then
made things start working.
And I don't like this, so I think I will put all my configs into
/opt/mailman/mm/etc/ and link /etc/mailman3 to this path instead.
What bite me is probably related to this experience by Turnbull:
https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message…
I am on FreeBSD where user applications should have config files in
/usr/local/etc/ and not /etc/ so having /etc/mailman3 and
not /usr/local/etc/mailman3 kinda makes me feel weird.
>> And while I do not quite understand the error itself, there is also one
> >> particular line that I also saw that has left me baffled:
> >> [Fri Dec 23 08:53:18.290411 2022] [core:info] [pid 91236] [client
> >> 197.232.81.246:13865] AH00128: File does not exist:
> >> /usr/local/www/apache24/data/archives/list/
> >> kictanet(a)lists.kictanet.or.ke/thread/VIHCC6MSXZSNHY7YPEJ3D2US4N7MHJEC/,
> >> referer:
> >>
> https://mm3-lists.kictanet.or.ke/archives/list/kictanet@lists.kictanet.or.ke
>
> This is because something is doing an HTTP GET for
> `/archives/list/
> kictanet(a)lists.kictanet.or.ke/thread/VIHCC6MSXZSNHY7YPEJ3D2US4N7MHJEC/`
> <http://kictanet@lists.kictanet.or.ke/thread/VIHCC6MSXZSNHY7YPEJ3D2US4N7MHJE…>
> and the URL is not recognized as one handled by mod_wsgi so apache tries
> to get it from its DocumentRoot.
>
> mod_wsgi has to serve a number of URLs. Look in /opt/mailman/mm/urls.py
> for urlpatterns. You will probably see things like
>
> url(r'^accounts/', include('allauth.urls')),
> # Django admin
> url(r'^admin/', admin.site.urls),
> url(r'^mailman3/', include('postorius.urls')),
> url(r'^archives/', include('hyperkitty.urls')),
>
> Those are all things that need to be handled by mod_wsgi
>
> In your apache config, you only have a WSGIScriptAlias for /mailman3.
> Thus paths need to be prefixed with /mailman3 in order to be handled by
> mod_wsgi. I'm not sure what is doing this prefixing, but without it
> paths that don't begin with /mailman3 don't work unless you also have
> things like
>
> WSGIScriptAlias /accounts /opt/mailman/mm/wsgi.py
> WSGIScriptAlias /admin /opt/mailman/mm/wsgi.py
> WSGIScriptAlias /archives /opt/mailman/mm/wsgi.py
>
> in your apache config.
>
These are my files:
1. urls.py
<CUT >
from django.conf.urls import include
from django.urls import re_path
from django.contrib import admin
from django.urls import reverse_lazy
from django.views.generic import RedirectView
urlpatterns = [
re_path(r'^$', RedirectView.as_view(
url=reverse_lazy('list_index'),
permanent=True)),
re_path(r'^postorius/', include('postorius.urls')),
re_path(r'^hyperkitty/', include('hyperkitty.urls')),
re_path(r'', include('django_mailman3.urls')),
re_path(r'^accounts/', include('allauth.urls')),
# Django admin
re_path(r'^admin/', admin.site.urls),
re_path(r'^mailman3/', include('postorius.urls')),
re_path(r'^archives/', include('hyperkitty.urls')),
]
</CUT>
2. apache.conf
<CUT>
...
Alias /static "/opt/mailman/mm/static"
<Directory "/opt/mailman/mm/static">
Require all granted
</Directory>
# WSGIScriptAlias /mailman3 /opt/mailman/mm/wsgi.py
# WSGIScriptAlias /accounts /opt/mailman/mm/wsgi.py
# WSGIScriptAlias /admin /opt/mailman/mm/wsgi.py
# WSGIScriptAlias /archives /opt/mailman/mm/wsgi.py
# WSGIScriptAlias /user-profile /opt/mailman/mm/wsgi.py
# WSGIScriptAlias /hyperkitty /opt/mailman/mm/wsgi.py
# WSGIScriptAlias /postorius /opt/mailman/mm/wsgi.py
WSGIScriptAlias / /opt/mailman/mm/wsgi.py
<Directory "/opt/mailman/mm/">
<Files wsgi.py>
Order deny,allow
Allow from all
Require all granted
</Files>
WSGIProcessGroup mailman-web
</Directory>
<CUT>
> > I also need to add the fact that at the point where I am clicking "Manage
> > Subscription", the URL has changed to
> >
> https://mm3-lists.kictanet.or.ke/mailman3/archives/list/kictanet@lists.kict…
> > (just a single /mailman3).
> >
>
>
> Something is adding mailman3/ to URLs. In the above the URL should be
>
> https://mm3-lists.kictanet.or.ke/archives/list/kictanet@lists.kictanet.or.k…,
>
> but an extra /mailman3 is added. The others are like
> https://mm3-lists.kictanet.or.ke/mailman3/lists/ and an extra /mailman3
> is added.
>
I have tested with creating all those commented out aliases and that ended
up still giving me /mailman3/mailman3/* which I did not
like, although everything appeared to work.
I then ended up with only "WSGIScriptAlias / /opt/mailman/mm/wsgi.py"
and now when I type https://mm3-lists.kictanet.or.ke I end
up at https://mm3-lists.kictanet.or.ke/mailman3/lists/. Of course something
has appended "/mailman3"
So this has resulted in all URLs having /mailman3/ appended, except for the
/archives link.
Now my question is about what could be adding the /mailman3. Is it possible
that I installed something out of the ordinary?
--
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254 7 3200 0004/+254 7 2274 3223
"Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-)
3 years
[MM3-users] Re: Error 500 on held_messages page
by Stephan Krinetzki
Hi Mark,
Mark Sapiro wrote:
> On 2/3/22 08:01, Stephan Krinetzki wrote:
> > Hello all,
> > we now have at least one mailing list (there may be more affected) that generates a 500 error when calling the held_messages page. After looking at the held messages via the mailman shell, we have identified three mails that have neither a subject nor a message body. How can we remove these three mails from the database?
> > This shouldn't be an issue, at least with Mailman core 3.3.5, unless I
> don't understand.
> Note that there are 3 tables involved. The request (IListRequests), the
> pendings (IPended and IPendedKeyValue), and the held message
> (IMessageStore).
> > This is the mailman shell command we used:
> > mailman shell -l listname(a)lists.example.com
> > <removed>
> > 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.
> > Die Variable 'm' ist die listname(a)lists.example.com Mailingliste
> > >>> msg_db = getUtility(IMessageStore)
> > >>> req_db = IListRequests(m)
> > >>> reqs = list(req_db.held_requests)
> > >>> for req in reqs:
> > ... print('{}: {}'.format(req.id, req.request_type))
> > ...
> > 32598: 1
> > [...]
> > 107656: 1
> > 107737: 1
> > 107758: 1
> >
> > OK, you have requests.
> > >>> from mailman.app.moderator import handle_message
> > >>> handle_message(m, 107758, Action.discard)
> > >>> reqs = list(req_db.held_requests)
> > >>> for req in reqs:
> > ... print('{}: {}'.format(req.id, req.request_type))
> > ...
> > 32598: 1
> > [...]
> > 107656: 1
> > 107737: 1
> >
> > OK, you discarded the message held with request id 107758.
> > >>> handle_message(m, 92927, Action.discard)
> > Traceback (most recent call last):
> > File "<console>", line 1, in <module>
> > File "/opt/mailman/mailman-venv/lib64/python3.6/site-packages/mailman/app/moderator.py", line 112, in handle_message
> > key, msgdata = requestdb.get_request(id)
> > TypeError: 'NoneType' object is not iterable
> > >>>
> >
> > There is no request with id 92927. Why do you think there should be?
Well, i truncated the list above (marked by [...]) but this message is there:
32598: 1
107788: 1
22449: 1
95736: 1
108279: 1
66937: 1
108367: 1
68261: 1
108379: 1
108411: 1
108587: 1
108596: 1
108723: 1
107881: 1
107891: 1
108814: 1
92927: 1
107963: 1
106486: 1
106488: 1
106526: 1
106577: 1
106682: 1
106818: 1
106857: 1
108076: 1
106926: 1
107044: 1
107146: 1
107152: 1
107153: 1
107204: 1
108199: 1
107210: 1
107329: 1
107394: 1
107447: 1
107531: 1
107562: 1
107594: 1
107656: 1
107737: 1
> If by remove them from the database, you mean just from the
> messagestore, you can do (using your above)
> msg_db.delete_message('the_message_id')
Ok, thanks. With this code lines the message is deleted, right?
> To delete a pending request for which there is no request id, e.g. the
> id 92927 above, you could do
> pendings = getUtility(IPendings)
> for token, data in pendings.find(pend_type='held message'):
> if data and data['id'] == 92927:
> pendings.confirm(token, expunge=True)
>
That didn't helped:
mailman shell -l list(a)lists.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.
Die Variable 'm' ist die list(a)lists.example.com Mailingliste
>>> msg_db = getUtility(IMessageStore)
>>> req_db = IListRequests(m)
>>> reqs = list(req_db.held_requests)
>>> for req in reqs:
... print('{}: {}'.format(req.id, req.request_type))
...
32598: 1
107788: 1
22449: 1
95736: 1
108279: 1
66937: 1
108367: 1
68261: 1
108379: 1
108411: 1
108587: 1
108596: 1
108723: 1
107881: 1
107891: 1
108814: 1
92927: 1
107963: 1
106486: 1
106488: 1
106526: 1
106577: 1
106682: 1
106818: 1
106857: 1
108076: 1
106926: 1
107044: 1
107146: 1
107152: 1
107153: 1
107204: 1
108199: 1
107210: 1
107329: 1
107394: 1
107447: 1
107531: 1
107562: 1
107594: 1
107656: 1
107737: 1
>>> for req in reqs:
... print(req.key)
... for line in str(msg_db.get_message_by_id(req.key)).split("\n"):
... print(line)
... print('\n')
...
<1b35d982.85b92.16abbe857a6.Coremail.lusong(a)lsec.cc.ac.cn>
None
<08539546582c0560693f58ab0101bd83(a)airotrader.com>
<Mail Content, shorted out>
<1545090824.237969198(a)f452.i.mail.ru>
None
<tencent_41D5C02D27CAA4DD59BDF1A2(a)qq.com>
<Mail Content, shorted out>
<292716975.841376.1597725820301.JavaMail.zimbra(a)rri.res.in>
<Mail Content, shorted out>
<5d74c171c32303e88c9d8b86ac60ba48(a)blackroseradio.com>
<Mail Content, shorted out>
<DM6PR04MB38208B40539F3861A613098DB1260(a)DM6PR04MB3820.namprd04.prod.outlook.com>
<Mail Content, shorted out>
<eaefd169fb428442d9e3ce31b72bfdb4(a)wordenonwine.com>
<Mail Content, shorted out>
<2108728073.11037004.1643524877756.JavaMail.zimbra(a)caxias.rs.gov.br>
<Mail Content, shorted out>
<CANvwqssiPV7HgupqrYkgxGoFsKph=TW-mwNucs+NBwxs3Uw1bQ(a)mail.gmail.com>
<Mail Content, shorted out>
<c0b951ee190727163bce555a3a030f9f(a)optiboxes.com>
<Mail Content, shorted out>
<144a5727a850fea01910dfe9c427427e(a)licensedappraisal.com>
<Mail Content, shorted out>
<61ef2070.1c69fb81.f2f7e.23fc(a)mx.google.com>
<Mail Content, shorted out>
<b037941f4318324ab23a3ee7efcbf970(a)hollymillrun.com>
<Mail Content, shorted out>
<929ad585ea426a3835cf63058c22782c(a)airotrader.com>
<Mail Content, shorted out>
<180a36ee.2b.17afe0b825e.Coremail.carmark3(a)163.com>
None
<24abca1072b83535bbf2e39b6a825fc8(a)optiboxes.com>
<Mail Content, shorted out>
<CAK69=c9mFvOZq9ro7HavgYdOeo-oJ2_6h8SjQsBfcrxnpf_etA(a)mail.gmail.com>
<Mail Content, shorted out>
<5d7b548ab086bb47c0c6caacbff92c54(a)licensedappraisal.com>
<Mail Content, shorted out>
<062dfa1a2deb3ac136ecdfde1b4c6d74(a)optiboxes.com>
<Mail Content, shorted out>
<d517a99e8e9db94ddc8ecd1c6d226788(a)spiritsestates.com>
<Mail Content, shorted out>
<043051c1d7a64c04ce8c83c7a5e54eec(a)krswim.com>
<Mail Content, shorted out>
<2c42b1d628a43b1fc78471e873a0691d(a)totallyneat.com>
<Mail Content, shorted out>
<CALQ9jAcqu9yRj=EYn=DgA8unYRWkfUgFiL54bMiLxovc+JXcBw(a)mail.gmail.com>
<Mail Content, shorted out>
<1ffa446361bfdf49a71b8669165e6350(a)wordenonwine.com>
<Mail Content, shorted out>
<b9afc5d32f87320a8333093ffd0635f5(a)infnitsolutions.com>
<Mail Content, shorted out>
<f486ea12a6bcecec1b1e4a51f1be0719(a)penshaver.com>
<Mail Content, shorted out>
<CAPOYRqVmrwcdRQXwm56sM+0Ov1bcLqxFXFCrx5Rf3gVqj9nOgA(a)mail.gmail.com>
<Mail Content, shorted out>
<1412096130.6666950.1642348478679.JavaMail.zimbra(a)gorontaloprov.go.id>
<Mail Content, shorted out>
<40f51428847f7874d06b8b5ad50c745d(a)wordenonwine.com>
<Mail Content, shorted out>
<2a82c4a5e577658efc189f02fc13f520(a)nutriholding.com>
<Mail Content, shorted out>
[And a lot of more messages]
As you can see, there a some messages, that have no message body and i think that's the issue.
In the httpd.log of mailman:
2022-02-04 10:01:09 [FALCON] [ERROR] GET /3.1/lists/list(a)lists.example.com/held?count=10&page=1 => Traceback (most recent call last):
File "falcon/app.py", line 361, in falcon.app.App.__call__
File "/opt/mailman/mailman-venv/lib64/python3.6/site-packages/mailman/rest/post_moderation.py", line 182, in on_get
resource = self._make_collection(request)
File "/opt/mailman/mailman-venv/lib64/python3.6/site-packages/mailman/rest/helpers.py", line 182, in _make_collection
entries = [as_dict(resource) for resource in collection]
File "/opt/mailman/mailman-venv/lib64/python3.6/site-packages/mailman/rest/helpers.py", line 182, in <listcomp>
entries = [as_dict(resource) for resource in collection]
File "/opt/mailman/mailman-venv/lib64/python3.6/site-packages/mailman/rest/post_moderation.py", line 173, in _resource_as_dict
assert resource is not None, resource
AssertionError: None
[04/Feb/2022:10:01:09 +0100] "GET /3.1/lists/list(a)lists.example.com/held?count=10&page=1 HTTP/1.1" 500 38 "-" "GNU Mailman REST client v3.3.3"
Maybe that helps to identify the issue.
> Mailman core 3.3.5 has a lot of changes to address this issue.
> Also see https://gitlab.com/mailman/mailman/-/issues/946
3 years, 11 months
[MM3-users] Re: Migration from old server to new server failed
by Helio Loureiro
Hi,
I repeated the steps today.
First I waited to end the errors raised because the mailman3-web wasn't
running.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File
"/local/mailman/venv/lib/python3.10/site-packages/urllib3/connectionpool.py",
line 793, in urlopen
response = self._make_request(
File
"/local/mailman/venv/lib/python3.10/site-packages/urllib3/connectionpool.py",
line 496, in _make_request
conn.request(
File
"/local/mailman/venv/lib/python3.10/site-packages/urllib3/connection.py",
line 400, in request
self.endheaders()
File "/usr/lib/python3.10/http/client.py", line 1278, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/lib/python3.10/http/client.py", line 1038, in _send_output
self.send(msg)
File "/usr/lib/python3.10/http/client.py", line 976, in send
self.connect()
File
"/local/mailman/venv/lib/python3.10/site-packages/urllib3/connection.py",
line 238, in connect
self.sock = self._new_conn()
File
"/local/mailman/venv/lib/python3.10/site-packages/urllib3/connection.py",
line 213, in _new_conn
raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection
object at 0x7f0fdc2f72b0>: Failed to establish a new connection: [Errno
111] Connection refused
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File
"/local/mailman/venv/lib/python3.10/site-packages/requests/adapters.py",
line 486, in send
resp = conn.urlopen(
File
"/local/mailman/venv/lib/python3.10/site-packages/urllib3/connectionpool.py",
line 847, in urlopen
retries = retries.increment(
File
"/local/mailman/venv/lib/python3.10/site-packages/urllib3/util/retry.py",
line 515, in increment
raise MaxRetryError(_pool, url, reason) from reason # type:
ignore[arg-type]
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='127.0.0.1',
port=8000): Max retries exceeded with url: /archives/api/mailman/archive
(Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at
0x7f0fdc2f72b0>: Failed to establish a new connection: [Errno 111]
Connection refused'))
Which seems to keep forever. So eventually I gave up and moved forward.
And I changed to use the uwsgi socket instead of the direct port.
(venv) mailman@new-mailman3 ~ (v3.1.1) [0|SIGINT]> mailman-web migrate
System check identified some issues:
WARNINGS:
account.EmailAddress: (models.W036) MariaDB does not support unique
constraints with conditions.
HINT: A constraint won't be created. Silence this warning if you
don't care about it.
account.EmailAddress: (models.W043) MariaDB does not support indexes on
expressions.
HINT: An index won't be created. Silence this warning if you don't
care about it.
Operations to perform:
Apply all migrations: account, admin, auth, contenttypes,
django_mailman3, django_q, hyperkitty, postorius, sessions, sites,
socialaccount
Running migrations:
Applying account.0003_alter_emailaddress_create_unique_verified_email...
OK
Applying account.0004_alter_emailaddress_drop_unique_email... OK
Applying account.0005_emailaddress_idx_upper_email... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying django_mailman3.0003_sessions... OK
Applying django_q.0010_auto_20200610_0856... OK
Applying django_q.0011_auto_20200628_1055... OK
Applying django_q.0012_auto_20200702_1608... OK
Applying django_q.0013_task_attempt_count... OK
Applying django_q.0014_schedule_cluster... OK
Applying hyperkitty.0016_auto_20180309_0056... OK
Applying hyperkitty.0017_file_attachments... OK
Applying hyperkitty.0018_threadcategory_color... OK
Applying hyperkitty.0019_auto_20190127_null_description... OK
Applying hyperkitty.0020_auto_20190907_1927... OK
Applying hyperkitty.0021_add_owners_mods...Traceback (most recent call
last):
File
"/local/mailman/venv/lib/python3.10/site-packages/django/db/backends/utils.py",
line 87, in _execute
return self.cursor.execute(sql)
File
"/local/mailman/venv/lib/python3.10/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
File
"/local/mailman/venv/lib/python3.10/site-packages/MySQLdb/cursors.py", line
179, in execute
res = self._query(mogrified_query)
File
"/local/mailman/venv/lib/python3.10/site-packages/MySQLdb/cursors.py", line
330, in _query
db.query(q)
File
"/local/mailman/venv/lib/python3.10/site-packages/MySQLdb/connections.py",
line 261, in query
_mysql.connection.query(self, query)
MySQLdb.OperationalError: (1050, "Table 'hyperkitty_mailinglist_moderators'
already exists")
Then dropping table hyperkitty_mailinglist_moderators.
(venv) mailman@new-mailman3 ~ (v3.1.1)> mailman-web migrate
System check identified some issues:
WARNINGS:
account.EmailAddress: (models.W036) MariaDB does not support unique
constraints with conditions.
HINT: A constraint won't be created. Silence this warning if you
don't care about it.
account.EmailAddress: (models.W043) MariaDB does not support indexes on
expressions.
HINT: An index won't be created. Silence this warning if you don't
care about it.
Operations to perform:
Apply all migrations: account, admin, auth, contenttypes,
django_mailman3, django_q, hyperkitty, postorius, sessions, sites,
socialaccount
Running migrations:
Applying hyperkitty.0021_add_owners_mods...Traceback (most recent call
last):
File
"/local/mailman/venv/lib/python3.10/site-packages/django/db/backends/utils.py",
line 87, in _execute
return self.cursor.execute(sql)
File
"/local/mailman/venv/lib/python3.10/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
File
"/local/mailman/venv/lib/python3.10/site-packages/MySQLdb/cursors.py", line
179, in execute
res = self._query(mogrified_query)
File
"/local/mailman/venv/lib/python3.10/site-packages/MySQLdb/cursors.py", line
330, in _query
db.query(q)
File
"/local/mailman/venv/lib/python3.10/site-packages/MySQLdb/connections.py",
line 261, in query
_mysql.connection.query(self, query)
MySQLdb.OperationalError: (1050, "Table 'hyperkitty_mailinglist_owners'
already exists")
After dropping table hyperkitty_mailinglist_owners.
(venv) mailman@new-mailman3 ~ (v3.1.1) [0|1]> mailman-web migrate
System check identified some issues:
WARNINGS:
account.EmailAddress: (models.W036) MariaDB does not support unique
constraints with conditions.
HINT: A constraint won't be created. Silence this warning if you
don't care about it.
account.EmailAddress: (models.W043) MariaDB does not support indexes on
expressions.
HINT: An index won't be created. Silence this warning if you don't
care about it.
Operations to perform:
Apply all migrations: account, admin, auth, contenttypes,
django_mailman3, django_q, hyperkitty, postorius, sessions, sites,
socialaccount
Running migrations:
Applying hyperkitty.0021_add_owners_mods...Traceback (most recent call
last):
File
"/local/mailman/venv/lib/python3.10/site-packages/django/db/backends/utils.py",
line 87, in _execute
return self.cursor.execute(sql)
File
"/local/mailman/venv/lib/python3.10/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
File
"/local/mailman/venv/lib/python3.10/site-packages/MySQLdb/cursors.py", line
179, in execute
res = self._query(mogrified_query)
File
"/local/mailman/venv/lib/python3.10/site-packages/MySQLdb/cursors.py", line
330, in _query
db.query(q)
File
"/local/mailman/venv/lib/python3.10/site-packages/MySQLdb/connections.py",
line 261, in query
_mysql.connection.query(self, query)
MySQLdb.OperationalError: (1050, "Table 'hyperkitty_mailinglist_moderators'
already exists")
After dropping table hyperkitty_mailinglist_moderators.
(venv) mailman@new-mailman3 ~ (v3.1.1) [0|1]> mailman-web migrate
System check identified some issues:
WARNINGS:
account.EmailAddress: (models.W036) MariaDB does not support unique
constraints with conditions.
HINT: A constraint won't be created. Silence this warning if you
don't care about it.
account.EmailAddress: (models.W043) MariaDB does not support indexes on
expressions.
HINT: An index won't be created. Silence this warning if you don't
care about it.
Operations to perform:
Apply all migrations: account, admin, auth, contenttypes,
django_mailman3, django_q, hyperkitty, postorius, sessions, sites,
socialaccount
Running migrations:
Applying hyperkitty.0021_add_owners_mods... OK
Applying hyperkitty.0022_mailinglist_archive_rendering_mode... OK
Applying hyperkitty.0023_alter_mailinglist_name... OK
Applying postorius.0004_create_email_template...Traceback (most recent
call last):
File
"/local/mailman/venv/lib/python3.10/site-packages/django/db/backends/utils.py",
line 87, in _execute
return self.cursor.execute(sql)
File
"/local/mailman/venv/lib/python3.10/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
File
"/local/mailman/venv/lib/python3.10/site-packages/MySQLdb/cursors.py", line
179, in execute
res = self._query(mogrified_query)
File
"/local/mailman/venv/lib/python3.10/site-packages/MySQLdb/cursors.py", line
330, in _query
db.query(q)
File
"/local/mailman/venv/lib/python3.10/site-packages/MySQLdb/connections.py",
line 261, in query
_mysql.connection.query(self, query)
MySQLdb.OperationalError: (1050, "Table 'postorius_emailtemplate' already
exists")
After dropping table postorius_emailtemplate.
(venv) mailman@new-mailman3 ~ (v3.1.1) [0|1]> mailman-web migrate
System check identified some issues:
WARNINGS:
account.EmailAddress: (models.W036) MariaDB does not support unique
constraints with conditions.
HINT: A constraint won't be created. Silence this warning if you
don't care about it.
account.EmailAddress: (models.W043) MariaDB does not support indexes on
expressions.
HINT: An index won't be created. Silence this warning if you don't
care about it.
Operations to perform:
Apply all migrations: account, admin, auth, contenttypes,
django_mailman3, django_q, hyperkitty, postorius, sessions, sites,
socialaccount
Running migrations:
Applying postorius.0004_create_email_template... OK
Applying postorius.0005_auto_20180707_1107... OK
Applying postorius.0006_auto_20180711_1359... OK
Applying postorius.0007_auto_20180712_0536... OK
Applying postorius.0008_auto_20190310_0717... OK
Applying postorius.0009_auto_20190508_1604... OK
Applying postorius.0010_auto_20190821_0621... OK
Applying postorius.0011_auto_20191109_1219... OK
Applying postorius.0012_auto_20200420_2136... OK
Applying postorius.0013_auto_20201116_0058... OK
Applying postorius.0014_auto_20210329_2248... OK
Applying postorius.0015_auto_20210619_0509... OK
Applying postorius.0016_auto_20210810_2157... OK
Applying postorius.0017_alter_emailtemplate_language... OK
Applying postorius.0018_alter_emailtemplate_language... OK
Applying socialaccount.0004_app_provider_id_settings... OK
Applying socialaccount.0005_socialtoken_nullable_app... OK
Applying socialaccount.0006_alter_socialaccount_extra_data... OK
At this point the errors remains about not reaching web part. So I started
mailman3-web.
Then I see these errors on var/log/mailman.log
Feb 19 15:35:14 2024 (543890) Traceback (most recent call last):
File
"/local/mailman/venv/lib/python3.10/site-packages/mailman_hyperkitty/__init__.py",
line 158, in _archive_message
url = self._send_message(mlist, msg)
File
"/local/mailman/venv/lib/python3.10/site-packages/mailman_hyperkitty/__init__.py",
line 228, in _send_message
raise ValueError(result.text)
ValueError: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
<hr>
<address>Apache/2.4.52 (Ubuntu) Server at 127.0.0.1 Port 80</address>
</body></html>
Feb 19 15:35:14 2024 (543890) HyperKitty failure on
http://127.0.0.1/archives/api/mailman/archive: <!DOCTYPE HTML PUBLIC
"-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
<hr>
<address>Apache/2.4.52 (Ubuntu) Server at 127.0.0.1 Port 80</address>
</body></html>
(404)
Feb 19 15:35:14 2024 (543890) Could not archive the message with id <
ff1707bb-d105-4f37-b3f8-9766b3563127(a)SESAMR604.domain.com>
Feb 19 15:35:14 2024 (543890) archiving failed, re-queuing (mailing-list
mylist.new-mailman.domain.com, message <
ff1707bb-d105-4f37-b3f8-9766b3563127(a)machine.domain.com>)
Feb 19 15:35:14 2024 (543890) Exception in the HyperKitty archiver:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
<hr>
<address>Apache/2.4.52 (Ubuntu) Server at 127.0.0.1 Port 80</address>
</body></html>
And I can't get access to the hyperkitty at all.
On var/logs/uwsgi-error.log:
--- Logging error ---
Traceback (most recent call last):
File
"/local/mailman/venv/lib/python3.10/site-packages/django_q/cluster.py",
line 356, in pusher
task = SignedPackage.loads(task[1])
File
"/local/mailman/venv/lib/python3.10/site-packages/django_q/signing.py",
line 25, in loads
return signing.loads(
File
"/local/mailman/venv/lib/python3.10/site-packages/django_q/core_signing.py",
line 35, in loads
base64d = force_bytes(TimestampSigner(key, salt=salt).unsign(s,
max_age=max_age))
File
"/local/mailman/venv/lib/python3.10/site-packages/django_q/core_signing.py",
line 70, in unsign
result = super(TimestampSigner, self).unsign(value)
File
"/local/mailman/venv/lib/python3.10/site-packages/django_q/core_signing.py",
line 55, in unsign
raise BadSignature('Signature "%s" does not match' % sig)
django.core.signing.BadSignature: Signature "48do9gGvueBxakX_a4uNmSwD7cs"
does not match
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.10/logging/__init__.py", line 1100, in emit
msg = self.format(record)
File "/usr/lib/python3.10/logging/__init__.py", line 943, in format
return fmt.format(record)
File "/usr/lib/python3.10/logging/__init__.py", line 678, in format
record.message = record.getMessage()
File "/usr/lib/python3.10/logging/__init__.py", line 368, in getMessage
msg = msg % self.args
TypeError: not all arguments converted during string formatting
Call stack:
File "/local/mailman/venv/bin/mailman-web", line 8, in <module>
sys.exit(main())
File
"/local/mailman/venv/lib/python3.10/site-packages/mailman_web/manage.py",
line 90, in main
execute_from_command_line(sys.argv)
File
"/local/mailman/venv/lib/python3.10/site-packages/django/core/management/__init__.py",
line 446, in execute_from_command_line
utility.execute()
File
"/local/mailman/venv/lib/python3.10/site-packages/django/core/management/__init__.py",
line 440, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File
"/local/mailman/venv/lib/python3.10/site-packages/django/core/management/base.py",
line 402, in run_from_argv
self.execute(*args, **cmd_options)
File
"/local/mailman/venv/lib/python3.10/site-packages/django/core/management/base.py",
line 448, in execute
output = self.handle(*args, **options)
File
"/local/mailman/venv/lib/python3.10/site-packages/django_q/management/commands/qcluster.py",
line 22, in handle
q.start()
File
"/local/mailman/venv/lib/python3.10/site-packages/django_q/cluster.py",
line 78, in start
self.sentinel.start()
File "/usr/lib/python3.10/multiprocessing/process.py", line 121, in start
self._popen = self._Popen(self)
File "/usr/lib/python3.10/multiprocessing/context.py", line 224, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "/usr/lib/python3.10/multiprocessing/context.py", line 281, in _Popen
return Popen(process_obj)
File "/usr/lib/python3.10/multiprocessing/popen_fork.py", line 19, in
__init__
self._launch(process_obj)
File "/usr/lib/python3.10/multiprocessing/popen_fork.py", line 71, in
_launch
code = process_obj._bootstrap(parent_sentinel=child_r)
File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in
_bootstrap
self.run()
File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File
"/local/mailman/venv/lib/python3.10/site-packages/django_q/cluster.py",
line 168, in __init__
self.start()
File
"/local/mailman/venv/lib/python3.10/site-packages/django_q/cluster.py",
line 172, in start
self.spawn_cluster()
File
"/local/mailman/venv/lib/python3.10/site-packages/django_q/cluster.py",
line 248, in spawn_cluster
self.pusher = self.spawn_pusher()
File
"/local/mailman/venv/lib/python3.10/site-packages/django_q/cluster.py",
line 201, in spawn_pusher
return self.spawn_process(pusher, self.task_queue, self.event_out,
self.broker)
File
"/local/mailman/venv/lib/python3.10/site-packages/django_q/cluster.py",
line 197, in spawn_process
p.start()
File "/usr/lib/python3.10/multiprocessing/process.py", line 121, in start
self._popen = self._Popen(self)
File "/usr/lib/python3.10/multiprocessing/context.py", line 224, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "/usr/lib/python3.10/multiprocessing/context.py", line 281, in _Popen
return Popen(process_obj)
File "/usr/lib/python3.10/multiprocessing/popen_fork.py", line 19, in
__init__
self._launch(process_obj)
File "/usr/lib/python3.10/multiprocessing/popen_fork.py", line 71, in
_launch
code = process_obj._bootstrap(parent_sentinel=child_r)
File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in
_bootstrap
self.run()
File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File
"/local/mailman/venv/lib/python3.10/site-packages/django_q/cluster.py",
line 358, in pusher
logger.error(e, traceback.format_exc())
Message: BadSignature('Signature "48do9gGvueBxakX_a4uNmSwD7cs" does not
match')
Arguments: ('Traceback (most recent call last):\n File
"/local/mailman/venv/lib/python3.10/site-packages/django_q/cluster.py",
line 356, in pusher\n task = SignedPackage.loads(task[1])\n File
"/local/mailman/venv/lib/python3.10/sit
e-packages/django_q/signing.py", line 25, in loads\n return
signing.loads(\n File
"/local/mailman/venv/lib/python3.10/site-packages/django_q/core_signing.py",
line 35, in loads\n base64d = force_bytes(TimestampSigner(key, salt=sa
lt).unsign(s, max_age=max_age))\n File
"/local/mailman/venv/lib/python3.10/site-packages/django_q/core_signing.py",
line 70, in unsign\n result = super(TimestampSigner,
self).unsign(value)\n File "/local/mailman/venv/lib/python3.10
/site-packages/django_q/core_signing.py", line 55, in unsign\n raise
BadSignature(\'Signature "%s" does not match\' %
sig)\ndjango.core.signing.BadSignature: Signature
"48do9gGvueBxakX_a4uNmSwD7cs" does not match\n',)
I'm using uwsgi via apache:
(venv) mailman@new-mailman3 ~ (v3.1.1)> more
/etc/apache2/conf-enabled/mailman3.conf
Alias /mailman3/favicon.ico /local/mailman/web/static/favicon.ico
Alias /mailman/favicon.ico /local/mailman/web/static/favicon.ico
Alias /favicon.ico /local/mailman/web/static/favicon.ico
Alias /mailman3/static /local/mailman/web/static
Alias /mailman/static /local/mailman/web/static
Alias /static /local/mailman/web/static
<Directory "/local/mailman/web/static">
Require all granted
</Directory>
<IfModule mod_proxy_uwsgi.c>
ProxyPass /mailman3/favicon.ico !
ProxyPass /mailman/favicon.ico !
ProxyPass /favicon.ico !
ProxyPass /mailman3/static !
ProxyPass /mailman/static !
ProxyPass /static !
ProxyPass /mailman3
unix:/local/mailman/var/uwsgi.sock|uwsgi://localhost/
ProxyPass /mailman
unix:/local/mailman/var/uwsgi.sock|uwsgi://localhost/
#ProxyPass /mailman3 http://localhost:8000/ timeout=180
#ProxyPass /mailman http://localhost:8000/ timeout=180
#ProxyPass / http://localhost:8000/ timeout=180
</IfModule>
Best Regards,
Helio Loureiro
https://helio.loureiro.eng.br
https://github.com/helioloureiro
https://mastodon.social/@helioloureiro
On Fri, 16 Feb 2024 at 22:39, Mark Sapiro <mark(a)msapiro.net> wrote:
> On 2/16/24 07:12, Helio Loureiro wrote:
>
> > - start mailman3 and mailman-3web
> > - run mailman3-web migrate
>
> You should run mailman3-web migrate when mailman-3web is not running.
>
> > django.db.utils.OperationalError: (1050, "Table
> > 'hyperkitty_mailinglist_moderators' already exists")
> >
> > I tried to drop the table, but then it complained about another one. I
> > dropped all the complained tables and as result hypperkitty never
> > started. So I went back to see why the first error happened.
>
> The errors occurred because you had recently added tables in your
> database so they couldn't be added by the migrations. Dropping the
> tables was the correct thing to do.
>
> Did you ultimately successfully run all the migrations?
>
> When you say `hypperkitty never started`, what exactly does that mean?
> What happens when you try to access the archives? Can you access
> postorius? Are any errors logged in mailman3-web's log?
>
> --
> 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 helio(a)loureiro.eng.br
>
1 year, 10 months
[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, 6 months
[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.
4 years
[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, 11 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, 5 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
>
1 year
[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, 5 months
[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
6 years