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,
im trying to setup mailman and have an issue:
first my environment:
- I’m running postfix etc with "mailcow-dockerized": https://mailcow.github.io/mailcow-dockerized-docs/
- I’m running mailman with "docker-mailman": https://asynchronous.in/docker-mailman/
I got almost everything working (with some configuration modifications, see other mail). The only thing which doesn’t work is conformation mails, they are rejected:
In the logs I see that postfix is trying both "liste-confirm+extension@domain" and "liste-confirm@domain" for another lookup map of type mysql (so "recipient_delimiter" is working), but not for the mailman map of type regexp.
Just a wild guess, I didn't find anything about it: can it be that “recipient_delimiter" doesn't work for “regexp" maps?
For now I worked around this issue by manually modifying the confirm regex in "postfix_lmtp” to /^liste-confirm\+.*(a)domain\.tld$/
Does anyone have an idea why the regexp map isn’t working for me and at least 1 other user (see https://gitlab.com/mailman/mailman/issues/401)?
Would my workaround be a long term solution which could be implemented in mailman? That would mean that mailman could work independent of the “recipient_delimiter” setting (or do I oversee something?)
Thanks and greetings,
Marc
I am making a serious attempt at installing Mailman 3 using docker. I have a CentOS 7 server setup via Linode. I am using the following documentation to setup a Mailman 3 server:
https://xiaoxing.us/2018/01/02/Deploy-Mailman-3-on-AWS-using-Docker/
I have Docker, Postfix, and Nginx installed and working fine. The installation of the Mailman 3 container went fine. However I am getting the following error when I go to test Posterius via shell:
curl http://172.19.199.3:8000/postorius/lists/
curl: (7) Failed connect to 172.19.199.3:8000; Connection refused
I assume this has something to do with uwsgi which I have no experience with.
Appreciate any assistance with getting Mailman 3 up and running. Thanks!
Brian Carpenter
I’m having an issue downloading attachments from HyperKitty. The download begins as expected, but never progresses. Eventually it times out. I imagine the browser is expecting data matching the content-length header, but never receives it.
Inspecting the contents of the download file reveals (address varies):
<memory at 0x7f148fcb9588>
I’ve been able to work around the issue with the following patch:
--- env/lib/python3.7/site-packages/hyperkitty/models/email.py.orig 2018-12-06 21:38:39.544448735 +0000
+++ env/lib/python3.7/site-packages/hyperkitty/models/email.py 2018-12-06 23:01:39.923239421 +0000
@@ -309,7 +309,7 @@
def get_content(self):
folder = self._get_folder()
if folder is None:
- return self.content
+ return self.content.tobytes()
filepath = os.path.join(folder, str(self.counter))
if not os.path.exists(filepath):
logger.error("Could not find local attachment %s for email %s",
I haven't been able to replicate the issue with the HyperKitty tests, presumably the issue is somewhere in the Django <-> uwsgi <-> nginx stack.
My configs are based on mailman-suite and maxking/docker-mailman. I've tried stripping out all the performance tweaks from my uwsgi and nginx configs, but no change.
Versions:
HyperKitty 1.2.1
Postorius 1.2.3
Django 2.1.7
nginx 1.14.1
uwsgi 2.0.18
Python 3.7.2
Has anyone come across this before?
Derek Lambert
Hello,
I’m going through importing archives from mm2 to mm3. One of the lists I’ve imported has messages going back to 11/2013. I was able to successfully import the lists settings using:
mailman import21 lists(a)domain.com<mailto:lists@domain.com> /path/to/list/config.pck
This successfully imported lists owners, moderators, subscribers, & settings. I then imported the messages with the following command:
python /path/to/manage.py hyperkitty_import -l list(a)domain.com<mailto:list@domain.com> /path/to/list.mbox —since 10/01/2013
I used that date because it is older than the first message sent to the list: 11/13/2013
And followed that up with the update index command:
python /path/to/manage.py update_index_one_list list(a)domain.com<mailto:list@domain.com>
This successfully imported all the messages from 11/13/2013 through 09/30/2018. Here is where I’m facing two issues:
* Messages from October 2018 were not imported
* The sidebar only shows the year 2018.
Fdasfds If I modify the URL to go to https://my.domain.org/hyperkitty/list/list@domain.com/2013/11 the archived emails show up fine. October 2018 shows two test messages I’ve sent but not any of the messages from October 2018 that should have been imported. Is there something additional that needs to be done to show the previous years and months in the sidebar?
Thanks,
Enrique
I've got mailman running on Ubuntu 14.04, with systemd service files to
govern the mailman and hyperkitty qcluster processes.
I notice in the systemctl status call for the qcluster command that
there are a bunch of errors like:
[Q] ERROR Failed [rebuild_thread_cache_votes] - Thread matching query does not exist.
[Q] INFO Process-1:1 processing [rebuild_email_cache_votes]
[Q] ERROR Failed [rebuild_email_cache_votes] - Email matching query does not exist.
[Q] INFO Process-1:2 processing [rebuild_thread_cache_votes]
[Q] ERROR Failed [rebuild_thread_cache_votes] - Thread matching query does not exist.
[Q] INFO Process-1:3 processing [rebuild_email_cache_votes]
[Q] ERROR Failed [rebuild_email_cache_votes] - Email matching query does not exist.
[Q] INFO Process-1:4 processing [rebuild_thread_cache_votes]
[Q] ERROR Failed [rebuild_thread_cache_votes] - Thread matching query does not exist.
Is there something more I should be doing to sync hyperkitty's database
with mailman? I've got the crontab file in place, and that appears to be
running without error. Anything else?
Thanks,
Eric
Hey hey,
I applied a recent Update from Debian Buster, und this night a received an email about a failing cronjob.
The traceback can be reproduced using:
# sudo -u www-data flock -n /var/run/mailman3-web/cron.daily /usr/share/mailman3-web/manage.py runjobs daily
ERROR OCCURED IN DAILY JOB: sync_mailman (APP: hyperkitty)
START TRACEBACK:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
psycopg2.IntegrityError: null value in column "description" violates not-null constraint
DETAIL: Failing row contains (2, hb-events(a)hackbrettl.de, hb-events, null, [hb-events] , 1, 2015-10-22 09:54:53.684306+00, hb-events.hackbrettl.de).
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/django_extensions/management/commands/runjobs.py", line 36, in runjobs
job().execute()
File "/usr/lib/python3/dist-packages/hyperkitty/jobs/sync_mailman.py", line 35, in execute
sync_with_mailman()
File "/usr/lib/python3/dist-packages/hyperkitty/lib/mailman.py", line 131, in sync_with_mailman
mlist.update_from_mailman()
File "/usr/lib/python3/dist-packages/hyperkitty/models/mailinglist.py", line 192, in update_from_mailman
self.save()
File "/usr/lib/python3/dist-packages/django/db/models/base.py", line 808, in save
force_update=force_update, update_fields=update_fields)
File "/usr/lib/python3/dist-packages/django/db/models/base.py", line 838, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/usr/lib/python3/dist-packages/django/db/models/base.py", line 905, in _save_table
forced_update)
File "/usr/lib/python3/dist-packages/django/db/models/base.py", line 955, in _do_update
return filtered._update(values) > 0
File "/usr/lib/python3/dist-packages/django/db/models/query.py", line 667, in _update
return query.get_compiler(self.db).execute_sql(CURSOR)
File "/usr/lib/python3/dist-packages/django/db/models/sql/compiler.py", line 1204, in execute_sql
cursor = super(SQLUpdateCompiler, self).execute_sql(result_type)
File "/usr/lib/python3/dist-packages/django/db/models/sql/compiler.py", line 899, in execute_sql
raise original_exception
File "/usr/lib/python3/dist-packages/django/db/models/sql/compiler.py", line 889, in execute_sql
cursor.execute(sql, params)
File "/usr/lib/python3/dist-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/usr/lib/python3/dist-packages/django/db/utils.py", line 94, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/lib/python3/dist-packages/django/utils/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/usr/lib/python3/dist-packages/django/db/backends/utils.py", line 64, 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 (2, hb-events(a)hackbrettl.de, hb-events, null, [hb-events] , 1, 2015-10-22 09:54:53.684306+00, hb-events.hackbrettl.de).
END TRACEBACK
Appearently there is something wrong with the database. Is there anything what I can do about this?
Running the migrations doesn't help:
# sudo -u www-data flock -n /var/run/mailman3-web/cron.daily /usr/share/mailman3-web/manage.py migrate
Operations to perform:
Apply all migrations: account, admin, auth, contenttypes, django_mailman3, django_q, hyperkitty, postorius, sessions, sites, socialaccount
Running migrations:
No migrations to apply.
Thanks!
Stefan
Hi,
I am new in the list. I have been looking for this topic in the archives
in order to avoid duplicate, but I could not find any thread.
According to the new GDPR rules, lists owners need to have a
confirmation from subscribers, and this is easy to do with Mailman 3.
What I can't figure out is how to save all the confirmation emails
received from users.
I only see the confirmations commands emails in the logs,
Is there another place/way to store them?
For GDPR compliance it is important to be able to demonstrate that you
received the confirmation, in case you may need it in the future.
Bests
Maddish
--
*MaadiX*
Tu nube en tus manos
https://maadix.nethttps://twitter.com/MaadiXnet
Hi,
I'm interesting in Mailman3 deployment with archiving feature completely
disabled.
I've tried to deploy Core + Postorius using this docker-compose template:
https://github.com/maxking/docker-mailman/blob/master/docker-compose-post...
Unfortunately Postorius version came with this template is quite outdated:
1.2.0a1 (as reported in page footer). In Hyperkitty-enabled docker image I
see version 1.2.3.
I've also checked image maxking/postorius:rolling but it seems
irrelevant/broken (container exits with error).
Are there newer Postorius docker image I can use?
Thanks,
Danil Smirnov