I'm running a Mailman 3.1.0 installation on a CentOS 7 machine. Using
RPMs from
https://repos.fedorapeople.org/repos/abompard/hyperkitty/el-7/x86_64/
I do have problems with some lists occasionally going into some kind of
shunt mode, where alla mails sent to them gets shunted. In the Mailman
log I get entries for each shunted email:
Mar 17 11:54:11 2017 (6217) Uncaught runner exception: Multiple rows
were found for one_or_none()
Mar 17 11:54:11 2017 (6217) Traceback (most recent call last):
File "/usr/lib/python3.4/site-packages/mailman/core/runner.py", line
171, in _one_iteration
self._process_one_file(msg, msgdata)
File "/usr/lib/python3.4/site-packages/mailman/core/runner.py", line
264, in _process_one_file
keepqueued = self._dispose(mlist, msg, msgdata)
File "/usr/lib/python3.4/site-packages/mailman/runners/pipeline.py",
line 37, in _dispose
process(mlist, msg, msgdata, pipeline)
File "/usr/lib/python3.4/site-packages/mailman/core/pipelines.py",
line 53, in process
handler.process(mlist, msg, msgdata)
File "/usr/lib/python3.4/site-packages/mailman/handlers/rfc_2369.py",
line 121, in process
process(mlist, msg, msgdata)
File "/usr/lib/python3.4/site-packages/mailman/handlers/rfc_2369.py",
line 70, in process
archiver_set = IListArchiverSet(mlist)
File "/usr/lib/python3.4/site-packages/zope/component/hookable.py",
line 33, in __call__
return self.__implementation(*args, **kw)
File "/usr/lib/python3.4/site-packages/zope/component/_api.py", line
156, in adapter_hook
return sitemanager.queryAdapter(object, interface, name, default)
File "/usr/lib64/python3.4/site-packages/zope/interface/registry.py",
line 348, in queryAdapter
return self.adapters.queryAdapter(object, interface, name, default)
File
"/usr/lib/python3.4/site-packages/mailman/database/transaction.py", line
85, in wrapper
return function(args[0], config.db.store, *args[1:], **kws)
File "/usr/lib/python3.4/site-packages/mailman/model/mailinglist.py",
line 607, in __init__
ListArchiver.name == archiver_name).one_or_none()
File "/usr/lib64/python3.4/site-packages/sqlalchemy/orm/query.py",
line 2733, in one_or_none
"Multiple rows were found for one_or_none()")
sqlalchemy.orm.exc.MultipleResultsFound: Multiple rows were found for
one_or_none()
Mar 17 11:54:11 2017 (6217) SHUNTING:
1489748051.1949184+7a59df19c81493cb419306d620376efc0e381819
And so far my Google-fu hasn't been good enough to give me any useful
answers to why this happens. If I dump one of the pickles using qfile I
cannot see any complaints.
Most of the times, if I remove and recreate a failing list and run
unshunt the shunted emails get processed and sent.
Anyone seen something similar?
Regards,
Anders Nilsson
--
Anders Nilsson, Ph.D. <andersn(a)control.lth.se>
Dep. of Automatic Control, Lund University
Phone: +46 (0)46 222 87 94, Fax: +46 (0)46 13 81 18
Mob: +46 (0)703 22 57 67
Hi,
I have of course activated password login as it was not possible to get the
provider based logins to work (might be but not worth the time for me right
now). Is there any way for an user to request a new password when it is
forgotten?
I presume that the Persona login is removed now. I cannot hide it in my
version or at least I do not know how.
cheers
// David
Is deleting threads from the archive (via Hyperkitty) currently
supported? I am getting the error indicated above if I click on "Delete
this thread".
Is there another way to delete whole threads or individual posts?
Simon
Hi,
I am trying to change e.g. the value of "notify admin on membership
changes" through postorius. This is not possible as I have no URLs for
the various templates (all templates are using defaults stored on the
server). Is this something that can be circumvented or fixed?
I can of course change admin_notify_mchanges in the "mailman withlist"
interface, but this is less than ideal.
best regards
// David
Hello Mailpeople!
On behalf of the entire team and all our wonderful contributors, I'm happy to
announce the release of GNU Mailman 3.1 final. My deep thanks go to all the
Mailman project sprinters at Pycon 2017 for getting us over the line!
Two years after the original release of Mailman 3.0, this version contains a
huge number of improvements across the entire stack. Many bugs have been
fixed and new features added in the Core, Postorius (web u/i), and HyperKitty
(archiver). Upgrading from Mailman 2.1 should be better too. We are seeing
more production sites adopt Mailman 3, and we've been getting great feedback
as these have rolled out.
Important: mailman-bundler, our previous recommended way of deploying Mailman
3, has been deprecated. Abhilash Raj is putting the finishing touches on
Docker images to deploy everything, and he'll have a further announcement in a
week or two.
Feedback is welcome:
https://github.com/maxking/docker-mailman
What is GNU Mailman?
GNU Mailman is free software for managing electronic mail discussion and
e-newsletter lists. Mailman is integrated with the web, making it easy for
users to manage their accounts and for list owners to administer their lists.
Mailman supports built-in archiving, automatic bounce processing, content
filtering, digest delivery, and more. Mailman 3 is released under the terms
of the GNU General Public License, version 3.
The best places to start for all things related to this release:
http://docs.mailman3.org/http://www.list.org/https://gitlab.com/mailman
(Note: due to timezone skew, some of the tarballs may not be available on PyPI
until tomorrow.)
Happy Mailman Day,
-Your friendly neighborhood cabal
An overview of what's new in Mailman 3.1
========================================
Feature parity with Mailman 2.1
-------------------------------
* You should be able to do just about everything that you could do in Mailman
2.1 *except* for topics and sibling/umbrella lists.
Core
----
* Added support for Python 3.5 and 3.6
* MySQL is now an officially supported database
* Many improvements with importing Mailman 2.1 lists
* DMARC mitigations have been added, based on, but different than the same
feature in Mailman 2.1
* The REST API requires HTTP/1.1
* A new REST API version (3.1) has been added which changes how UUIDs are
interpreted, fixing the problem for some JavaScript libraries
* Many new REST resources and methods have been added
* Individual mailing lists can augment the system's header matching rules
* `mailman create` now creates missing domains by default
* `mailman digests` now has `--verbose` and `--dry-run` options
* `mailman shell` now supports readline history
* `mailman members` can filter members based on their subscription roles
* A new template system has been added for all messages originating from
inside Mailman.
* The Message-ID-Hash header replaces X-Message-ID-Hash
* New placeholders have been added for headers and footers
* Unsubscriptions can now be confirmed and/or moderated
Postorius/HyperKitty
--------------------
* General U/I and U/X improvements
* Many more features from the Core's have been plumbed through
* We've adopted Django social auth logins and dropped Persona (since it's no
longer supported upstream). You can now log in via Facebook, Google,
GitHub, and GitLab.
Backward incompatibilities
--------------------------
* Core/REST: Held message resources now have an `original_subject` key that is
not RFC 2047 decoded. `subject` is now RFC 2047 decoded.
* Core/REST: If you've run pre-release versions from git head, and stored
welcome and goodbye templates via REST, the template key names have changed
backward incompatibility.
Hello,
What is the correct syntax if I wanted to perform multiple header checks?
header_checks: X-Spam: (yes|maybe)
header_checks: x-another-header: (some|any)thing
or:
header_checks: X-Spam: (yes|maybe)
x-another-header: (some|any)thing
or:
header_checks: ['X-Spam: (yes|maybe)', 'x-another-header:
(some|any)thing']
Or something completely different? I don't think it is the first two
because "mailman conf -s antispam" shows only a single header_checks.
But the 3rd variant doesn't work either.
Simon
Hello,
What is the correct syntax if I wanted to perform multiple header
checks?
header_checks: X-Spam: (yes|maybe)
header_checks: x-another-header: (some|any)thing
or:
header_checks: X-Spam: (yes|maybe)
x-another-header: (some|any)thing
or:
header_checks: ['X-Spam: (yes|maybe)', 'x-another-header:
(some|any)thing']
Or something completely different? I don't think it is the first two
because "mailman conf -s antispam" shows only a single h= eader_checks.
But the 3rd variant doesn't work either.
Simon
Hi,
I'd like to have my descriptions of maillists with the correct
characters for my languages... Where is the character set for this
determined?
If I input e.g. 'è' (è) or 'ö' (ö) it is substituted with
a '?'. Of course the html entities are not allowed either, the
ampersand '&' is escaped somewhere between output and input.
Cheers
// David
Hi
I am seeing a whole bunch of error messages in mailmansuite.log whenever
a new message is sent to be archived:
ERROR 2017-05-14 15:41:41,261 13634 django.request Internal Server
Error: /hyperkitty/api/mailman/archive
...
File
"/opt/mailman/venv-2.7/local/lib/python2.7/site-packages/redis/connection.py",
line 442, in connect
raise ConnectionError(self._error_message(e))
ConnectionError: Error 111 connecting to localhost:6379. Connection refused.
I didn't see this mentioned anywhere. Does HyperKitty need a running
regis server to work? What am I missing?
Simon
Hello List,
I did see this discussed in #180
<https://gitlab.com/mailman/postorius/issues/180>, but I didn't quite
understand if this is an issue or not.
Why is it that I can run the development server just fine.
[07/May/2017 13:23:47] "GET
/static/postorius/libs/bootstrap/css/bootstrap.min.css HTTP/1.1" 304 0
[07/May/2017 13:23:47] "GET /static/postorius/css/style.css
HTTP/1.1" 304 0
[07/May/2017 13:23:47] "GET
/static/postorius/libs/bootstrap/js/bootstrap.min.js HTTP/1.1" 304 0
[07/May/2017 13:23:47] "GET /static/django-mailman3/js/main.js
HTTP/1.1" 304 0
[07/May/2017 13:23:47] "GET
/static/postorius/libs/jquery/jquery-1.11.3.min.js HTTP/1.1" 304 0
[07/May/2017 13:23:47] "GET /static/django-mailman3/css/main.css
HTTP/1.1" 304 0
[07/May/2017 13:23:47] "GET /static/postorius/js/script.js HTTP/1.1"
304 0
[07/May/2017 13:23:47] "GET
/static/postorius/img/mailman_logo_small_trans.png HTTP/1.1" 304 0
And as soon as I comment out
# SECURITY WARNING: don't run with debug turned on in production!
# DEBUG = True
in mailman-suite/mailman-suite_project/settings.py and restart it 404s
on me.
[07/May/2017 13:41:36] "GET
/static/postorius/libs/bootstrap/css/bootstrap.min.css HTTP/1.1" 404 127
[07/May/2017 13:41:36] "GET /static/django-mailman3/css/main.css
HTTP/1.1" 404 109
[07/May/2017 13:41:36] "GET /static/postorius/css/style.css
HTTP/1.1" 404 104
[07/May/2017 13:41:36] "GET /static/django-mailman3/js/main.js
HTTP/1.1" 404 107
[07/May/2017 13:41:36] "GET
/static/postorius/libs/bootstrap/js/bootstrap.min.js HTTP/1.1" 404 125
[07/May/2017 13:41:36] "GET
/static/postorius/libs/jquery/jquery-1.11.3.min.js HTTP/1.1" 404 123
[07/May/2017 13:41:36] "GET /static/postorius/js/script.js HTTP/1.1"
404 103
[07/May/2017 13:41:36] "GET
/static/postorius/img/mailman_logo_small_trans.png HTTP/1.1" 404 123
So the choice is insecure vs. ugly? Neither of those sounds very tempting.
I guess, I am missing something, or no?
Simon
Hi.
Today I learned to things: The default max_message_size is 40kB.
Messages larger than that are blocked (expected) with the reason "N/A"
(not expected). The reason would be helpful to me as admin.
Also: Is there any way to set a server default for this as it is a bit
of a hassle to change it from the command line for each new list. I
can of course find where in the code to change but that seems the
wrong way to me.
Cheers
// David