Re: Welcome message template errors
by Mark
On 2024-04-24 10:38, Mark Sapiro wrote:
> Try the following in `mailman shell` running as user mailman
> ```
> (venv) $ mailman shell
> 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.
>
>>>> import requests
>>>> r = requests.get(
> ...
> 'https://LISTS.MYDOMAIN.COM/mailman3/api/templates/list/MYTESTLIST.LISTS.MYD…',
> ... timeout=5)
>>>> t.text
> ```
> Note the URL above is all on one line.
> This is exactly what Mailman core is doing to get the template
> assuming the `uri` in the template` table entry is the argument of the
> requests.get().
>
> If this times out, try increasing the timeout= value.
************************************************
I crossed emails with you on my last post.
I reset the POSTORIUS_TEMPLATE_BASE_URL (in settings.py) back to the
domain name, restarted everything, created a new Welcome template (using
Postorius) and ...
>>> import requests
>>> r =
>>> requests.get('https://MYDOMAIN.COM/mailman3/api/templates/list/MYTESTLIST.MYDOMAIN.COM/li…',
>>> timeout=5)
>>> r.text
'Another test Welcome message for new members.'
>>>
... so all well there. And mailman is running mailman core ...
# cd /opt/mailman/venv/bin/
# ls -la
...
-rwxr-xr-x 1 mailman mailman 230 Jan 26 04:00 gunicorn
-rwxr-xr-x 1 mailman mailman 231 Jan 26 04:00 mailman
-rwxr-xr-x 1 mailman mailman 230 Mar 25 22:18 mailman-web
...
2 years, 4 months
Re: Ann: Mailman Core 3.3.5 is out
by Odhiambo Washington
@Eggert, I believe you used apt to install and so you have to wait for the
package maintainer to avail the upgrades via apt.
On Wed, Sep 29, 2021 at 7:48 PM Eggert Ehmke via Mailman-users <
mailman-users(a)mailman3.org> wrote:
> Should I upgrade my Mailman 3.3.3 installed from Debian Bullseye? I would
> have
> to bypass the Debian installer. Or will there be Debian packages
> available?
> Same question for Postorius 1.3.6
>
>
> Am Mittwoch, 29. September 2021, 05:26:47 CEST schrieb Abhilash Raj:
> > Hey Everyone,
> >
> > I just tagged and uploaded Mailman Core 3.3.5 release.
> >
> > This release includes both bug fixes and some new features. A full list
> of
> > changes is available here:
> >
> >
> >
> https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NEWS
> .
> > html#news-3-3-5
> >
> > You can install this version using pip:
> >
> > $ pip install mailman==3.3.5
> >
> > The release tarball is available on PyPI as well:
> >
> > https://pypi.org/project/mailman/3.3.5/#files
> >
> > Thanks to everyone who made this release possible!
> >
> > Abhilash
> >
> > > On Sep 19, 2021, at 11:02 AM, Abhilash Raj <maxking(a)asynchronous.in>
> > > wrote:
> > >
> > > Hey Everyone,
> > >
> > > I just tagged and released Mailman Core 3.3.5rc1 release.
> > >
> > > This is identical to 3.3.5b1 in code, the only changes that have been
> made
> > > are in utility scripts and testing configuration.>
> > > You can install this version using:
> > > $ pip install --pre mailman==3.3.5rc1
> > >
> > > If you want to download a release tarball, you can do so from here:
> > > https://pypi.org/project/mailman/3.3.5rc1/#files
> > >
> > > This is the first (and only) planned release candidate for 3.3.5
> release.
> > > The stable release is planned for next week.
> > >
> > > thanks,
> > > Abhilash
> > >
> > > On 9/7/21 12:39 AM, Abhilash Raj wrote:
> > >> Hello Everyone,
> > >> I am pleased to announce that Mailman Core 3.3.5b1 is now out. It is a
> > >> pre-release for 3.3.5, which is slated to come out in 3 weeks from
> now.
> > >> I am planning for a 2 week beta period, after which I'll release the
> > >> first RC and then stable a week after. Right now I am not planning to
> > >> release a second beta version, but if there are several changes in
> Core
> > >> in the next week or so, then I might. This release includes a lot of
> bug
> > >> fixes and some new features. It also includes a security enhancement
> > >> that improves the authentication of REST API by adding resistance to
> > >> some timing channel attacks. A full list of changes in this version
> can
> > >> be found here[1].
> > >> [1]:
> > >>
> https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NE
> > >> WS.html#news-3-3-5 We have also made improvements in the i18n workflow
> > >> and now the email templates are updated from the translated messages
> in
> > >> the .po files that we get from Weblate. Documentation for translators
> is
> > >> available here[2] if you want to help translate Mailman into your
> native
> > >> language. [2]: https://docs.mailman3.org/en/latest/translation.html
> > >>
> > >> This is a pre-release version, if you want to test it with your
> setup,
> you can install it using:
> > >> $ pip install --pre mailman==3.3.5b1
> > >>
> > >> If you want to download a release tarball, you can do so from here:
> > >> https://pypi.org/project/mailman/3.3.5b1/#files
> > >>
> > >> This release received a lot of contributions from community, which I
> am
> > >> really happy about! I'd like to thank everyone who made this release
> > >> possible!>
> > > --
> > > thanks,
> > > Abhilash Raj (maxking)
> >
> > --
> > thanks,
> > Abhilash Raj (maxking)
>
>
>
>
> _______________________________________________
> 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/
>
--
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254 7 3200 0004/+254 7 2274 3223
"Oh, the cruft.", egrep -v '^$|^.*#' :-)
4 years, 11 months
problem configuring mailman3 on debian bullseye
by Servizio Informatico U.I.C.I. Sezione territoriale di Brescia
Hello all,
I'm a blind server administrator living in Italy. I use mailman since
2010 and I was very happy for this list manager.
When was released the version 3 I started to have many problems to
configure it.
In this days I installed a new server for my association and I have this
problem that I don't know to solve.
The server is a debian bullseye.
I installed mailman3-full from the standard packege.
I'm using nginx as web server.
I configured mailman3 and mailman3-web wit https support.
All is working fine, but if I attempt to subscribe someone it does not
work.
I send a subscription e-mail to the address list and I receive correctly
the request to confirm subscription. When I reply to the request mailman
log gives this error:
requests.exceptions.SSLError: HTTPSConnectionPool(host='localhost',
port=443): Max retries exceeded with url:
/postorius/api/templates/list/listname.domain/list:user:notice:welcome
(Caused by SSLError(SSLCertVerificationError("hostname 'localhost'
doesn't match either of 'example.com', 'www.example.com'")))
The strange thing is that I configured a domain list.example.com and in
the configuration files I put this domain.
Mailman3-web works fine I can create lists and make settings.
Have you an idea about this issue?
Thanks
--
Roberto Burceni
Servizio informatico sezionale
Tel. 0302209417 (lunedì e giovedì mattina dalle 9:00 alle 13:00, martedì emercoledì pomeriggio dalle 14:00 alle 18:00
E-mail:
servizioinformatico(a)uicibrescia.it
Sito web: https://www.uicibrescia.it
3 years, 5 months
Re: [Django] ERROR (EXTERNAL IP): Internal Server Error: /hyperkitty/list/direttivo@catania.linux.it/top-threads
by Abhilash Raj
On Sun, Feb 28, 2021, at 10:17 AM, blackout69 wrote:
> Hello everybody,I received this error message and from that moment the
> maiilan3 has stopped working.I restarted the following services mailman3
> and mailman3-web and everything started working fine.Can you tell me
> what is the problem my django server has encountered?
What version of Hyperkitty are you running? It might be useful to include the versions of all the related Mailman packages, including: hyperkitty, django-mailman3, mailmanclient.
> Internal Server Error:
> /hyperkitty/list/direttivo(a)catania.linux.it/top-threads
>
> DoesNotExist at /hyperkitty/list/direttivo(a)catania.linux.it/top-threads
> Thread matching query does not exist.
>
> Request Method: GET
> Request URL:
> https://lists.catania.linux.it/hyperkitty/list/direttivo@catania.linux.it/t…
> Django Version: 1.11.29
> Python Executable: /usr/bin/uwsgi-core
> Python Version: 3.7.3
> Python Path: ['.', '', '/usr/lib/python37.zip', '/usr/lib/python3.7',
> '/usr/lib/python3.7/lib-dynload',
> '/usr/local/lib/python3.7/dist-packages',
> '/usr/lib/python3/dist-packages']
> Server time: Ven, 26 Feb 2021 20:10:53 +0100
> Installed Applications:
> ('hyperkitty',
> 'postorius',
> 'django_mailman3',
> 'django.contrib.admin',
> 'django.contrib.auth',
> 'django.contrib.contenttypes',
> 'django.contrib.sessions',
> 'django.contrib.sites',
> 'django.contrib.messages',
> 'django.contrib.staticfiles',
> 'rest_framework',
> 'django_gravatar',
> 'compressor',
> 'haystack',
> 'django_extensions',
> 'django_q',
> 'allauth',
> 'allauth.account',
> 'allauth.socialaccount')
> Installed Middleware:
> ('django.contrib.sessions.middleware.SessionMiddleware',
> 'django.middleware.common.CommonMiddleware',
> 'django.middleware.csrf.CsrfViewMiddleware',
> 'django.middleware.locale.LocaleMiddleware',
> 'django.contrib.auth.middleware.AuthenticationMiddleware',
> 'django.contrib.messages.middleware.MessageMiddleware',
> 'django.middleware.clickjacking.XFrameOptionsMiddleware',
> 'django.middleware.security.SecurityMiddleware',
> 'django_mailman3.middleware.TimezoneMiddleware',
> 'postorius.middleware.PostoriusMiddleware')
>
>
> Traceback:
>
> File "/usr/lib/python3/dist-packages/django/core/handlers/exception.py"
> in inner
> 41. response = get_response(request)
>
> File "/usr/lib/python3/dist-packages/django/core/handlers/base.py" in
> _get_response
> 187. response =
> self.process_exception_by_middleware(e, request)
>
> File "/usr/lib/python3/dist-packages/django/core/handlers/base.py" in
> _get_response
> 185. response = wrapped_callback(request,
> *callback_args, **callback_kwargs)
>
> File "/usr/lib/python3/dist-packages/hyperkitty/lib/view_helpers.py" in
> inner
> 134. return func(request, *args, **kwargs)
>
> File "/usr/lib/python3/dist-packages/hyperkitty/views/mlist.py" in
> overview_top_threads
> 196. 'threads': mlist.top_threads,
>
> File "/usr/lib/python3/dist-packages/hyperkitty/models/mailinglist.py"
> in top_threads
> 157. return self.cached_values["top_threads"]()
>
> File "/usr/lib/python3/dist-packages/hyperkitty/models/common.py" in
> __call__
> 59. return self.get_or_set(*args, **kwargs)
>
> File "/usr/lib/python3/dist-packages/hyperkitty/models/mailinglist.py"
> in get_or_set
> 365. return [Thread.objects.get(pk=pk) for pk in thread_ids]
>
> File "/usr/lib/python3/dist-packages/hyperkitty/models/mailinglist.py"
> in <listcomp>
> 365. return [Thread.objects.get(pk=pk) for pk in thread_ids]
>
> File "/usr/lib/python3/dist-packages/django/db/models/manager.py" in
> manager_method
> 85. return getattr(self.get_queryset(), name)(*args,
> **kwargs)
>
> File "/usr/lib/python3/dist-packages/django/db/models/query.py" in get
> 380. self.model._meta.object_name
>
> Exception Type: DoesNotExist at
> /hyperkitty/list/direttivo(a)catania.linux.it/top-threads
> Exception Value: Thread matching query does not exist.
> Request information:
> USER: blackout69
>
> GET: No GET data
>
> POST: No POST data
>
> FILES: No FILES data
>
> COOKIES:
> csrftoken =
> 'tqNIiLrMWyYNHYhkmnmQfjRdd0AtCeCAAW46VOL24wk2g7Opl5LSZWB2dZ2p79Sb'
> sessionid = 'brhb9jd3ko9blnluuc6bz3c1627u6h22'
>
> META:
> CONTENT_LENGTH = ''
> CONTENT_TYPE = ''
> CSRF_COOKIE =
> 'tqNIiLrMWyYNHYhkmnmQfjRdd0AtCeCAAW46VOL24wk2g7Opl5LSZWB2dZ2p79Sb'
> DOCUMENT_ROOT = '/usr/share/nginx/html'
> HTTPS = 'on'
> HTTP_ACCEPT = 'text/html, */*; q=0.01'
> HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
> HTTP_ACCEPT_LANGUAGE = 'it-IT'
> HTTP_COOKIE =
> 'csrftoken=tqNIiLrMWyYNHYhkmnmQfjRdd0AtCeCAAW46VOL24wk2g7Opl5LSZWB2dZ2p79Sb;
> sessionid=brhb9jd3ko9blnluuc6bz3c1627u6h22'
> HTTP_HOST = 'lists.catania.linux.it'
> HTTP_REFERER =
> 'https://lists.catania.linux.it/hyperkitty/list/direttivo@catania.linux.it/'
> HTTP_TE = 'trailers'
> HTTP_USER_AGENT = 'Mozilla/5.0 (Android 11; Mobile; rv:86.0) Gecko/86.0
> Firefox/86.0'
> HTTP_X_REQUESTED_WITH = 'XMLHttpRequest'
> PATH_INFO = '/hyperkitty/list/direttivo(a)catania.linux.it/top-threads'
> QUERY_STRING = ''
> REMOTE_ADDR = '2.38.155.170'
> REMOTE_PORT = '39208'
> REQUEST_METHOD = 'GET'
> REQUEST_SCHEME = 'https'
> REQUEST_URI = '/hyperkitty/list/direttivo(a)catania.linux.it/top-threads'
> SCRIPT_NAME = ''
> SERVER_NAME = 'lists.catania.linux.it'
> SERVER_PORT = '443'
> SERVER_PROTOCOL = 'HTTP/2.0'
> uwsgi.core = 1
> uwsgi.node = b'glugct.catania.linux.it'
> uwsgi.version = b'2.0.18-debian'
> wsgi.errors = <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'>
> wsgi.file_wrapper = ''
> wsgi.input = <uwsgi._Input object at 0x7f0e65582f00>
> wsgi.multiprocess = False
> wsgi.multithread = True
> wsgi.run_once = False
> wsgi.url_scheme = 'https'
> wsgi.version = '(1, 0)'
>
>
> Thank you in advance
>
> --
> blackout69
>
> _______________________________________________
> Mailman-users mailing list -- mailman-users(a)mailman3.org
> To unsubscribe send an email to mailman-users-leave(a)mailman3.org
> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
>
--
thanks,
Abhilash Raj (maxking)
5 years, 6 months
Docker Mailman3 installation frustration
by ccsmith@cetsi.com
I've been working on installing Mailman3 for several weeks now, with limited success. I have tried various installation methods following instructions on numerous different web pages. My experience has been that the instructions are often conflicting and never complete.
My best success has been with the Docker version, so that's what I'm going to concentrate on here.
I'm running Ubuntu 16.04 (under Citrix XenServer), with Apache httpd and postfix.
Following the instructions on https://asynchronous.in/docker-mailman/, I did the following:
* created the directories "/opt/mailman/core" and "/opt/mailman/web",
* created "/opt/mailman/core/mailman-extra.cfg" and inserted the suggested [mta] directives,
* inserted the "transport_maps", "local-recipient_maps", and "relay_domains" entries in the /etc/postfix/main.cf file,
* created the necessary apache config files,
* cloned "https://github.com/maxking/docker-mailman",
* ran "docker-compose up -d"
At this point, I am able to connect with Postorius. All of the text and icons show up properly; all is well. It tells me (correctly) that "There are currently no mailing lists."
When I click on the "Login" link at the top right, the "Sign In" page displays correctly. (Aside: Why do so many apps/sites have difficulty with choosing between "login" and "sign in" and, in fact, use both terms? It can really be off-putting to non-tech users... and me.) If I input an incorrect login, I receive (correctly) the message "The username and/or password you specified are not correct." However, if I input the correct sign-in, I receive: "Server Error (500)".
Running "sudo docker exec -it mailman-web cat ../mailman-web-data/logs/mailmanweb.log" shows me:
ERROR 2017-07-12 20:34:25,073 25 django.request Internal Server Error: /accounts/login/
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/django/core/handlers/exception.py", line 39, in inner
response = get_response(request)
... more stuff ...
File "/usr/local/lib/python2.7/smtplib.py", line 747, in sendmail
raise SMTPRecipientsRefused(senderrs)
SMTPRecipientsRefused: {u'pacetechadmin(a)cetsi.com': (451, '4.3.0 <pacetechadmin(a)cetsi.com>: Temporary lookup failure')}
On the Docker host (ubuntuServer2), /var/log/mail.log shows:
Jul 12 13:48:53 ubuntuServer2 postfix/smtpd[19931]: error: open /opt/mailman/core/var/data/postfix_domains: No such file or directory
Jul 12 13:48:53 ubuntuServer2 postfix/smtpd[19931]: error: open /opt/mailman/core/var/data/postfix_lmtp: No such file or directory
Jul 12 13:48:53 ubuntuServer2 postfix/smtpd[19931]: connect from unknown[172.19.199.3]
Jul 12 13:48:53 ubuntuServer2 postfix/trivial-rewrite[19843]: warning: regexp:/opt/mailman/core/var/data/postfix_domains is unavailable. open /opt/mailman/core/var/data/postfix_domains: No such file or directory
Jul 12 13:48:53 ubuntuServer2 postfix/trivial-rewrite[19843]: warning: relay_domains: regexp:/opt/mailman/core/var/data/postfix_domains: table lookup problem
Jul 12 13:48:53 ubuntuServer2 postfix/trivial-rewrite[19843]: warning: relay_domains lookup failure
Jul 12 13:48:53 ubuntuServer2 postfix/trivial-rewrite[19843]: warning: regexp:/opt/mailman/core/var/data/postfix_domains is unavailable. open /opt/mailman/core/var/data/postfix_domains: No such file or directory
Jul 12 13:48:53 ubuntuServer2 postfix/trivial-rewrite[19843]: warning: relay_domains: regexp:/opt/mailman/core/var/data/postfix_domains: table lookup problem
Jul 12 13:48:53 ubuntuServer2 postfix/trivial-rewrite[19843]: warning: relay_domains lookup failure
Jul 12 13:48:53 ubuntuServer2 postfix/smtpd[19931]: NOQUEUE: reject: RCPT from unknown[172.19.199.3]: 451 4.3.0 <pacetechadmin(a)cetsi.com>: Temporary lookup failure; from=<postorius(a)localhost.local> to=<pacetechadmin(a)cetsi.com> proto=ESMTP helo=<mailman-web>
Jul 12 13:48:54 ubuntuServer2 postfix/smtpd[19932]: error: open /opt/mailman/core/var/data/postfix_domains: No such file or directory
Jul 12 13:48:54 ubuntuServer2 postfix/smtpd[19932]: error: open /opt/mailman/core/var/data/postfix_lmtp: No such file or directory
Jul 12 13:48:54 ubuntuServer2 postfix/smtpd[19932]: connect from unknown[172.19.199.3]
Jul 12 13:48:54 ubuntuServer2 postfix/trivial-rewrite[19843]: warning: regexp:/opt/mailman/core/var/data/postfix_domains is unavailable. open /opt/mailman/core/var/data/postfix_domains: No such file or directory
Jul 12 13:48:54 ubuntuServer2 postfix/trivial-rewrite[19843]: warning: relay_domains: regexp:/opt/mailman/core/var/data/postfix_domains: table lookup problem
Jul 12 13:48:54 ubuntuServer2 postfix/trivial-rewrite[19843]: warning: relay_domains lookup failure
Jul 12 13:48:54 ubuntuServer2 postfix/trivial-rewrite[19843]: warning: regexp:/opt/mailman/core/var/data/postfix_lmtp is unavailable. open /opt/mailman/core/var/data/postfix_lmtp: No such file or directory
Jul 12 13:48:54 ubuntuServer2 postfix/trivial-rewrite[19843]: warning: regexp:/opt/mailman/core/var/data/postfix_lmtp lookup error for "root@localhost"
Jul 12 13:48:54 ubuntuServer2 postfix/trivial-rewrite[19843]: warning: transport_maps lookup failure
Jul 12 13:48:54 ubuntuServer2 postfix/smtpd[19932]: NOQUEUE: reject: RCPT from unknown[172.19.199.3]: 451 4.3.0 <root@localhost>: Temporary lookup failure; from=<root(a)localhost.local> to=<root@localhost> proto=ESMTP helo=<mailman-web>
Jul 12 13:48:54 ubuntuServer2 postfix/smtpd[19932]: disconnect from unknown[172.19.199.3] ehlo=1 mail=1 rcpt=0/1 rset=1 quit=1 commands=4/5
Jul 12 13:48:54 ubuntuServer2 postfix/smtpd[19931]: lost connection after RSET from unknown[172.19.199.3]
Jul 12 13:48:54 ubuntuServer2 postfix/smtpd[19931]: disconnect from unknown[172.19.199.3] ehlo=1 mail=1 rcpt=0/1 rset=1 commands=3/4
And /var/log/mail.err is filling up with:
Jul 12 13:48:53 ubuntuServer2 postfix/smtpd[19931]: error: open /opt/mailman/core/var/data/postfix_domains: No such file or directory
Jul 12 13:48:53 ubuntuServer2 postfix/smtpd[19931]: error: open /opt/mailman/core/var/data/postfix_lmtp: No such file or directory
Jul 12 13:48:54 ubuntuServer2 postfix/smtpd[19932]: error: open /opt/mailman/core/var/data/postfix_domains: No such file or directory
Jul 12 13:48:54 ubuntuServer2 postfix/smtpd[19932]: error: open /opt/mailman/core/var/data/postfix_lmtp: No such file or directory
Any thoughts on what the problem is? Have I missed a step?
9 years, 2 months
Re: Your Dashboard
by Mark Dadgar
On Feb 11, 2020, at 12:26 PM, Mark Sapiro <mark(a)msapiro.net> wrote:
>> This is actually a regression from Mailman 2.x. That train included a link to the relevant dashboard in the email, which I miss terribly.
>
>
> I explained above why this is the case, but you can fix it. You do so by
> making a sitewide template for this message. In the case of this list,
> we have a template in Mailman's var/templates/site/en/ directory (the
> default directory for sitewide english templates. This template is named
> list:admin:action:post.txt and its content on this site is:
>
>> As list administrator, your authorization is requested for the
>> following mailing list posting:
>>
>> List: $listname
>> From: $sender_email
>> Subject: $subject
>>
>> The message is being held because:
>>
>> $reasons
>>
>> At your convenience, visit
>> https://lists.mailman3.org/mailman3/lists/$list_id/held_messages
>
>
> Of course, in your case the <https://lists.mailman3.org/mailman3/> part
> of the URL will be different.
>
> See
> <https://wiki.list.org/DOC/Mailman%203%20installation%20experience#Templates>
> for the other templates I also install.
>
> You can also put domain specific templates in
> var/templates/domains/$domain/$lc/ which override site templates for the
> domain and list specific templates in var/templates/lists/$list_id/$lc/
> which override site and domain templates for the list, and you can also
> set list templates via Postorius.
Awesome - thank you.
- Mark
-----
mark(a)pdc-racing.net | 408-348-2878
6 years, 7 months
Re: Getting rid of held messages from the command line
by Mark Sapiro
On 03/14/2018 03:04 AM, Aymeric Mansoux wrote:
>
> So far so good, however, for some reasons, a couple of our lists have started to accumulate held messages that cannot be manipulated via the REST API. Regardless if we use the web interface or mailmanclient, it ends up with:
>
> Mar 14 10:58:32 2018 (24287) REST request handler error:
> Traceback (most recent call last):
> File "/usr/lib/python3.5/wsgiref/handlers.py", line 137, in run
> self.result = application(self.environ, self.start_response)
> File "/usr/local/lib/python3.5/dist-packages/mailman/database/transaction.py", line 50, in wrapper
> rtn = function(*args, **kws)
> File "/usr/local/lib/python3.5/dist-packages/mailman/rest/wsgiapp.py", line 214, in __call__
> return super().__call__(environ, start_response)
> File "/usr/local/lib/python3.5/dist-packages/falcon/api.py", line 244, in __call__
> responder(req, resp, **params)
> File "/usr/local/lib/python3.5/dist-packages/mailman/rest/post_moderation.py", line 167, in on_get
> resource = self._make_collection(request)
> File "/usr/local/lib/python3.5/dist-packages/mailman/rest/helpers.py", line 159, in _make_collection
> for resource in collection]
> File "/usr/local/lib/python3.5/dist-packages/mailman/rest/helpers.py", line 159, in <listcomp>
> for resource in collection]
> File "/usr/local/lib/python3.5/dist-packages/mailman/rest/post_moderation.py", line 157, in _resource_as_dict
> resource = self._make_resource(request.id)
> File "/usr/local/lib/python3.5/dist-packages/mailman/rest/post_moderation.py", line 70, in _make_resource
> resource = super()._make_resource(request_id)
> File "/usr/local/lib/python3.5/dist-packages/mailman/rest/post_moderation.py", line 39, in _make_resource
> results = requests.get_request(request_id)
> File "/usr/local/lib/python3.5/dist-packages/mailman/database/transaction.py", line 85, in wrapper
> return function(args[0], config.db.store, *args[1:], **kws)
> File "/usr/local/lib/python3.5/dist-packages/mailman/model/requests.py", line 120, in get_request
> result.data_hash, expunge=False)
> File "/usr/local/lib/python3.5/dist-packages/mailman/database/transaction.py", line 85, in wrapper
> return function(args[0], config.db.store, *args[1:], **kws)
> File "/usr/local/lib/python3.5/dist-packages/mailman/model/pending.py", line 138, in confirm
> value = json.loads(keyvalue.value)
> File "/usr/lib/python3.5/json/__init__.py", line 319, in loads
> return _default_decoder.decode(s)
> File "/usr/lib/python3.5/json/decoder.py", line 339, in decode
> obj, end = self.raw_decode(s, idx=_w(s, 0).end())
> File "/usr/lib/python3.5/json/decoder.py", line 355, in raw_decode
> obj, end = self.scan_once(s, idx)
> json.decoder.JSONDecodeError: Unterminated string starting at: line 1 column 1 (char 0)
> Mar 14 10:58:32 2018 (24287) 127.0.0.1 - - "GET /3.1/lists/xx(a)xx.xx/held HTTP/1.1" 500 59
>
> Is there a way to manipulate/see/remove these mails differently? Right now this prevent moderation of any held messages (note: some lists do not suffer from this and the held panel or mailmanclient works perfectly fine).
We've seen this issue before with a different underlying cause. See
<https://gitlab.com/mailman/mailman/issues/256>.
There are a couple of problems here. The serious problem is if there is
a held message which somehow throws an exception in processing in
mailman/rest/post_moderation.py, that totally breaks the Postorius held
messages view for that list. We need to fix that.
Also it would be good to see the problem message.
Here are some things you can do in 'mailman shell' (aka mailman
withlist). It is not clear what might not work, but you can try
mailman shell -l list@domain
which will respond
Welcome to the GNU Mailman shell
The variable 'm' is the list@domain mailing list
>>>
Then you should be able to do at the >>> prompts:
>>> req_db = IListRequests(m)
>>> reqs = list(req_db.held_requests)
reqs is now a list of the held requests and you can do something like
>>> for req in reqs:
... print('{}: {}'.format(req.id, req.request_type))
...
or since req_db.held_requests is a generator
>>> for req in rdb.held_requests:
... print('{}: {}'.format(req.id, req.request_type))
...
either of which will produce a list like
1: RequestType.held_message
with the IDs and types of each request.
You can handle these requests with something like
>>> from mailman.app.moderator import handle_message
>>> handle_message(m, 1, Action.defer)
where the second argument is the ID of the message and the action is one
of Action.defer, Action.hold, Action.discard, Action.reject or
Action.accept, the first two of which do nothing, but the others will do
the indicated action.
You can see the actual messages like this
>>> msg_db = getUtility(IMessageStore)
then
>>> key = req[0].key
>>> msg_db.get_message_by_id(key)
which will return the actual held message that is in this case index 0
in the list of held_requests.
You may have to do
>>> commit()
when done, although if you don't do abort(), just exiting with control-D
should do a commit().
I hope you find this helpful, and if you do determine the content of the
offending message(s), it will be helpful if you post that.
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
8 years, 5 months
Re: Archive Policy not reflecting in Hyperkitty
by Nathan Dixon
Ok, I've figured out how to run the job manually. And here's the error I'm
getting (list name and domain has been changed to <listname> and
<domain>.com for security reasons):
From within mailman-web container:
bash-4.4# python3 manage.py runjob sync_mailman
ERROR OCCURED IN JOB: sync_mailman (APP: None)
START TRACEBACK:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line
85, in _execute
return self.cursor.execute(sql, params)
psycopg2.IntegrityError: null value in column "description" violates
not-null constraint
DETAIL: Failing row contains (4, <listname>@<domain>.com, <LISTNAME>,
null, [<LISTNAME>] , 1, 2019-03-12 10:23:20.293675+00,
<listname>.<domain>.com).
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File
"/usr/lib/python3.6/site-packages/django_extensions/management/commands/runjob.py",
line 35, in runjob
job().execute()
File "/usr/lib/python3.6/site-packages/hyperkitty/jobs/sync_mailman.py",
line 35, in execute
sync_with_mailman()
File "/usr/lib/python3.6/site-packages/hyperkitty/lib/mailman.py", line
131, in sync_with_mailman
mlist.update_from_mailman()
File "/usr/lib/python3.6/site-packages/hyperkitty/models/mailinglist.py",
line 192, in update_from_mailman
self.save()
File "/usr/lib/python3.6/site-packages/django/db/models/base.py", line
718, in save
force_update=force_update, update_fields=update_fields)
File "/usr/lib/python3.6/site-packages/django/db/models/base.py", line
748, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using,
update_fields)
File "/usr/lib/python3.6/site-packages/django/db/models/base.py", line
812, in _save_table
forced_update)
File "/usr/lib/python3.6/site-packages/django/db/models/base.py", line
861, in _do_update
return filtered._update(values) > 0
File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line
712, in _update
return query.get_compiler(self.db).execute_sql(CURSOR)
File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py",
line 1383, in execute_sql
cursor = super().execute_sql(result_type)
File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py",
line 1065, in execute_sql
cursor.execute(sql, params)
File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line
68, in execute
return self._execute_with_wrappers(sql, params, many=False,
executor=self._execute)
File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line
77, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line
85, in _execute
return self.cursor.execute(sql, params)
File "/usr/lib/python3.6/site-packages/django/db/utils.py", line 89, in
__exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line
85, in _execute
return self.cursor.execute(sql, params)
django.db.utils.IntegrityError: null value in column "description" violates
not-null constraint
DETAIL: Failing row contains (4, <listname>@<domain.com>, <LISTNAME>,
null, [LISTNAME] , 1, 2019-03-12 10:23:20.293675+00,
<listname>.<domain>.com).
END TRACEBACK
So it looks like there's a null in one of the columns.
This list was created using the Postorius interface. I had sent a couple of
messages to the list while the archive attribute was set to public and then
I changed it to private and sent some more test mails to it.
Hopefully this will help us find a solution to this.
Thanks
On Tue, 7 May 2019 at 10:40, Nathan Dixon <nathan.dixon(a)evadon.com> wrote:
> I'm not sure if it's also related, but within the mailman-web and
> mailman-core docker containers, crontab -e only shows these entries:
> # do daily/weekly/monthly maintenance
> # min hour day month weekday command
> */15 * * * * run-parts /etc/periodic/15min
> 0 * * * * run-parts /etc/periodic/hourly
> 0 2 * * * run-parts /etc/periodic/daily
> 0 3 * * 6 run-parts /etc/periodic/weekly
> 0 5 1 * * run-parts /etc/periodic/monthly
>
> And all of those folders are empty.
>
> I'm not sure where the synchronisation task for Hyperkitty should actually
> being run from?
>
> Thank you
>
> On Tue, 7 May 2019 at 10:20, Nathan Dixon <nathan.dixon(a)evadon.com> wrote:
>
>> The change to the archiving policy aren't reflected in Hyperkitty after
>> many days for all the lists.
>>
>> The only error that I am seeing in the /web/mailmanweb.log is:
>> INFO 2019-05-02 14:16:55,062 38 hyperkitty.tasks AsyncTask task
>> "<function unlock_and_call at 0x7f5d8851f048>" with args "(<function
>> update_from_mailman at 0x7f5d88544a60>, 'task:status:%s:%s', '<list
>> address>')" and kwargs "{}" finished with errors.
>>
>> I'm not sure if that could be related? (I have changed the actual list
>> address to <list address> for security reasons)
>>
>> Thank you
>>
>> On Sat, 4 May 2019 at 16:24, Abhilash Raj <maxking(a)asynchronous.in>
>> wrote:
>>
>>> On Fri, May 3, 2019, at 8:38 AM, Nathan Dixon wrote:
>>> > So the issue I am seeing is that when I set a lists archive policy to
>>> > prviate, it isn't reflecting that in Hyperkitty.
>>> >
>>> > I am running the docker installation of Mailman, postorius and
>>> hyperkitty.
>>> > So I go into the docker instance of mailman-core and run this:
>>> >
>>> > python3 manage.py shell from hyperkitty.models.mailinglist import
>>> > MailingList MailingList.objects.all().values_list('name',
>>> 'archive_policy')
>>> >
>>> > And all my lists are showing '2', regardless of how I set the mailing
>>> list
>>> > archive policy.
>>> >
>>> > This might be a duplicate of
>>> >
>>> https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/thread/…
>>> >
>>> > Am I missing something in my install? Or is this a bug?
>>>
>>> It can take upto an hour for this change to reflect in Hyperkitty. Did
>>> you wait
>>> for that long?
>>>
>>> This happens because Hyperkitty stores it's own data, and queries Mailman
>>> Core periodically to fetch updates every hour. In future, we might be
>>> able to
>>> do this in more realtime fashion by using an event based pub/sub model.
>>> But,
>>> we are not there yet.
>>>
>>>
>>> >
>>> > Many thanks for your attention,
>>> >
>>> > --
>>> >
>>> > *Nathan Dixon* MEng
>>> > Senior Software Architect
>>> > m: +44 (0)7402 690311
>>> >
>>> > t: +44 (0)20 81231252
>>> > e: nathan.dixon(a)evadon.com
>>> > w: www.evadon.com
>>> >
>>> > This e-mail and any attachments are confidential and may be protected
>>> by
>>> > legal, professional or other privilege. If you are not the intended
>>> > recipient you should not store it, copy it, re-transmit it, use it or
>>> > disclose its contents, but should return it to the sender immediately
>>> and
>>> > delete your copy from your system. The views expressed are those of the
>>> > sender and not necessarily those of Evadon. Please note that whilst we
>>> scan
>>> > all e-mails for viruses we cannot guarantee that any e-mail is
>>> virus-free.
>>> > Please be advised that we expressly reserve the right to monitor email
>>> > content for the purposes of ensuring compliance with legal
>>> requirements and
>>> > company policies and your sending to, or receiving from, us of any
>>> email
>>> > constitutes your agreement to these terms.
>>> >
>>> >
>>> > Evadon Dynamics Limited, registered in England No. 09494097. Registered
>>> > Office: Electric Works, Sheffield Digital Campus, 3 Concourse Way,
>>> Sheffield,
>>> > S1 2BJ
>>> > _______________________________________________
>>> > Mailman-users mailing list -- mailman-users(a)mailman3.org
>>> > To unsubscribe send an email to mailman-users-leave(a)mailman3.org
>>> > https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
>>> >
>>>
>>> --
>>> thanks,
>>> Abhilash Raj (maxking)
>>> _______________________________________________
>>> 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/
>>>
>>
>>
>> --
>>
>> *Nathan Dixon* MEng
>> Senior Software Architect
>> m: +44 (0)7402 690311
>>
>> t: +44 (0)20 81231252
>> e: nathan.dixon(a)evadon.com
>> w: www.evadon.com
>>
>> This e-mail and any attachments are confidential and may be protected by
>> legal, professional or other privilege. If you are not the intended
>> recipient you should not store it, copy it, re-transmit it, use it or
>> disclose its contents, but should return it to the sender immediately and
>> delete your copy from your system. The views expressed are those of the
>> sender and not necessarily those of Evadon. Please note that whilst we scan
>> all e-mails for viruses we cannot guarantee that any e-mail is virus-free.
>> Please be advised that we expressly reserve the right to monitor email
>> content for the purposes of ensuring compliance with legal requirements and
>> company policies and your sending to, or receiving from, us of any email
>> constitutes your agreement to these terms.
>>
>>
>> Evadon Dynamics Limited, registered in England No. 09494097. Registered
>> Office: Electric Works, Sheffield Digital Campus, 3 Concourse Way, Sheffield,
>> S1 2BJ
>>
>
>
> --
>
> *Nathan Dixon* MEng
> Senior Software Architect
> m: +44 (0)7402 690311
>
> t: +44 (0)20 81231252
> e: nathan.dixon(a)evadon.com
> w: www.evadon.com
>
> This e-mail and any attachments are confidential and may be protected by
> legal, professional or other privilege. If you are not the intended
> recipient you should not store it, copy it, re-transmit it, use it or
> disclose its contents, but should return it to the sender immediately and
> delete your copy from your system. The views expressed are those of the
> sender and not necessarily those of Evadon. Please note that whilst we scan
> all e-mails for viruses we cannot guarantee that any e-mail is virus-free.
> Please be advised that we expressly reserve the right to monitor email
> content for the purposes of ensuring compliance with legal requirements and
> company policies and your sending to, or receiving from, us of any email
> constitutes your agreement to these terms.
>
>
> Evadon Dynamics Limited, registered in England No. 09494097. Registered
> Office: Electric Works, Sheffield Digital Campus, 3 Concourse Way, Sheffield,
> S1 2BJ
>
--
*Nathan Dixon* MEng
Senior Software Architect
m: +44 (0)7402 690311
t: +44 (0)20 81231252
e: nathan.dixon(a)evadon.com
w: www.evadon.com
This e-mail and any attachments are confidential and may be protected by
legal, professional or other privilege. If you are not the intended
recipient you should not store it, copy it, re-transmit it, use it or
disclose its contents, but should return it to the sender immediately and
delete your copy from your system. The views expressed are those of the
sender and not necessarily those of Evadon. Please note that whilst we scan
all e-mails for viruses we cannot guarantee that any e-mail is virus-free.
Please be advised that we expressly reserve the right to monitor email
content for the purposes of ensuring compliance with legal requirements and
company policies and your sending to, or receiving from, us of any email
constitutes your agreement to these terms.
Evadon Dynamics Limited, registered in England No. 09494097. Registered
Office: Electric Works, Sheffield Digital Campus, 3 Concourse Way, Sheffield,
S1 2BJ
7 years, 4 months
Re: can't get mail into mailman3 in docker
by Stephen J. Turnbull
bob B writes:
> Anyone have any ideas?
First, what docker configuration are you using? One supplied by the
Mailman project? If not, you need to tell us more about what's going
on. If so, are there any containers other than those running the
Mailman suite (Mailman 3 core, Postorius, HyperKitty)?
In mydestination you have
mydestination = $myhostname, localhost.$mydomain, localhost, mydomain.mydomain.com
I do not understand the "localhost.$mydomain" entry. I guess that's a
Postfix-ism, but I can't find any documentation about it. You could
try taking it out (this is a very random suggestion).
You say you have no /etc/postfix-mailman.cfg. Where are you looking
for it? That file will only exist in the container, not in the host
OS. (If it were in the host OS, it would be located somewhere like
/opt/mailman/core/postfix-mailman.cfg.) Try `find /opt/mailman/core
-name postfix-mailman.cfg`, although "automatically" might mean it's
generated in the container when it starts. Abhilash would know, but
he doesn't seem to be available. I really don't think it's the issue
because I assume "bmimailmandr1" is the Docker container running
Mailman core. If so Postfix is connecting to the configured LMTP port
on localhost which is what it's supposed to do from the configuration.
Since the container's Postfix appears to be connecting to the right
place but the connection is refused, that Mailman core may not be
running.
For more help you'll have to wait for Abhilash.
Steve
5 years, 1 month
Mailman web interface / uwsgi
by Jan Eden
Hi,
I followed the installation instructions at
https://docs.mailman3.org/en/latest/install/virtualenv.html#virtualenv-inst…,
which thankfully shielded me from configuring the Django applications
for the web interface manually. All Django applications (postorius,
hyperkitty, haystack etc) are loaded via mailman_web/settings/base.py,
which is in turn referenced by the top-level settings file in
/etc/mailman3. uwsgi is linked to mailman_web via
/etc/mailman3/uwsgi.ini. So far, so good.
I do not want to dive into the interaction between the various
components and just want to switch from a http socket (http-socket =
0.0.0.0:8000) to a file socket (socket =
/opt/mailman/mm/var/mailman.sock). After making this change in
/etc/mailman3/uwsgi.ini, I applied it in the nginx proxy
configuration
proxy_pass http://127.0.0.1:8000; → proxy_pass http://unix:/opt/mailman/mm/var/mailman.sock;
and received an error message (as expected):
2022/11/25 18:39:12 [error] 2978606#2978606: *3 upstream prematurely closed connection while reading response header from upstream, client: 37.201.155.65, server: lists.eden.one, request: "GET /mailman3/lists/ HTTP/2.0", upstream: "http://unix:/opt/mailman/mm/var/mailman.sock:/mailman3/lists/", host: "lists.eden.one"
There are obviously a couple of places where the http-socket on port
8000 is referenced (e.g. mailman_web/settings/mailman.py,
/opt/mailman/mm/hyperkitty.cfg). Is there an overview of the
required changes when using a different (file) socket?
Related question: My own (much simpler) Django applications use
the following (e.g. in mysite_nginx.conf):
upstream django {
server unix:///private/tmp/mysite.sock;
}
location / {
uwsgi_pass django;
}
instead of the "http://unix:/..." notation I tried for Mailman above. Is
there any difference between the upstream/uwsgi_pass combination and the
proxy_pass variant?
Thanks,
Jan
3 years, 9 months