I want to make you aware of a potential privacy problem in Mailman's
Hyperkitty. Under the upcoming EU General Data Protection Regulation
(GDPR), which will be in force as of 2018-05-25, it is illegal to
transmit data to third parties without a right to do so. Without going
into the details, the inclusion of third party services into one's
website is usually deemed such a transmission, and unless one has
explicit consent of the user (e.g., by an optional (!), unticked ticking
box) this is normally illegal (if one targets EU users).
The GDPR does not affect private and family use (Art. 2(2)(c) GDPR), but
the exact reach of that clause is yet to be determined; it certainly
does not exclude company use of Mailman.
I've found it's possible to disable the social login providers quite
easily (we had this discussion here on the mailinglist recently), but I
don't see an option to disable Gravatar. If there is one, please
enlighten me, but anyway I want to propose this as a feature request
against Hyperkitty. A GDPR-compliant implementation of Gravatar in
Mailman would look like this:
* In order to not transmit website visitor's data (IP address, browser
info, etc) to Gravatar, Hyperkitty has to request the avatar image
itself and not leave that to the user's browsers to do. In other
words, the HTTP GET request needs to come from the server running
Hyperkitty and the user's browser then just requests the avatar from
the Hyperkitty server. Most likely easiest way to do this is to
pre-download the avatar when an email is archived.
* In order to not transmit the subscribers' data (email address, allows
Gravatar to track the subscriber) to Gravatar illegally,
the retrieval of the avatar image from Gravatar has to be disabled by
default. Instead, an option needs to be added to the subscriber's
control panel which he has to actively enable in order to have his
Gravatar downloaded and thus used (privacy-by-default rule).
I'm not saying Gravatar tracks people and sells the information
gathered, though I have doubts on how Automattic makes money with the
service. I'm just outlining the legal duties under the upcoming GDPR for
service owners, which are independant of how Automattic processes the
data in this specific case.
Please don't dismiss this as some side feature not needed. The fines
that can be imposed on service owners due to violation of the GDPR are
very high (up to 20,000,000 € [that's 20 million euros, really]).
PGP/GPG ID: F1D8799FBCC8BC4F
Hello all ,
I configured mailman3 following this contributer guide http://docs.mailman3.org/en/latest/devsetup.html but i'am still getting problem with the configuration of MySQL and postfix . Is this section is enough for MySQL configurations ?
url: mysql+pymysql://myuser:mypassword@mymysqlhost/mailman?charset=utf8&use_unicode=1htmlI will appreciated if there are some documents to provide to cotinue the intergration of mailman3 .
Is there any tuto for postfix config ?
Thanks in advance
I am facing errors when using import21 to import list archives. The error message is "A string literal cannot contain NUL (0x00) characters." and the import stops, thus importing only mails up to 2009. The dublicates is mails already imported when retrying. If a mail contains illegal characters I would expect disregarding the particular mail and continue, or ignoring the nul character.
bash-4.3# python manage.py hyperkitty_import --verbosity 3 --since "01.01.1970" --list-address example(a)mailman3.ku.dk /opt/mailman-web-data/tmp/example(a)mailman3.ku.dk.mbox
Duplicate email with message-id '857A4D84DE6D1D41837DD9284F2729AB08F0C385(a)srv1.example.ku.dk'
Duplicate email with message-id '857A4D84DE6D1D41837DD9284F2729AB09DA5E45(a)srv1.example.ku.dk'
Failed adding message <857A4D84DE6D1D41837DD9284F2729AB09E20126(a)srv1.example.ku.dk>: A string literal cannot contain NUL (0x00) characters.
Traceback (most recent call last):
File "manage.py", line 10, in <module>
File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 359, in execute
File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 305, in run_from_argv
File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 356, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.7/site-packages/hyperkitty/management/commands/hyperkitty_import.py", line 278, in handle
File "/usr/local/lib/python2.7/site-packages/hyperkitty/management/commands/hyperkitty_import.py", line 152, in from_mbox
File "/usr/local/lib/python2.7/site-packages/hyperkitty/lib/incoming.py", line 149, in add_to_list
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 796, in save
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 824, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 908, in _save_table
result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 947, in _do_insert
File "/usr/local/lib/python2.7/site-packages/django/db/models/manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 1043, in _insert
File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 1054, in execute_sql
File "/usr/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
ValueError: A string literal cannot contain NUL (0x00) characters.
I would suggest that there is something very broken here: there seems to be a problem with communication between the email system (mailman core…?) and HyperKitty.
On November 21, I sent the message below, as a part of this very thread, to Thor and cc’d the mailman 3 list. But the message never showed up in HyperKitty . I don’t know if other list members received it in their email inboxes or not.
Thor obviously received the message (it was addressed to him directly), because he referenced it in a message that is in the archives . However, I never received an email copy of his message from the list.
So, what’s going on?
What baffles me is that more people are not complaining about this. Is it just that no one has noticed? Or is it some subtle misconfiguration in my system? And in Thor’s apparently. And maybe in the lists.mailman3.org system as well.
> On 2017.11.21, at 06:31 , Cameron Smith <ccsmith(a)mail2.cetsi.com> wrote:
> I, too, have been struggling with messages not showing up , although the conditions are somewhat different.
> What I have found works to make all of the messages appear is the following, which you might try:
> sudo docker-compose exec mailman-web ./manage.py runjobs yearly
>  https://email@example.com/threa...
>> On 2017.11.21, at 04:41 , Thor Atle Rustad <thor.rustad(a)gmail.com> wrote:
>>>> When I send a message from the Postorius interface, it is neither sent
>>>> or stored. I briefly see this message: "Your reply has been sent and is
>>>> being processed.", and then nothing happens.
So I installed a crontab for list and read about configuring the DB (I think
I'll use SQLite). I got to http://docs.mailman3.org/en/latest/config-web.html
. Because of the dollar sign, I assume that the commands are to be run as
list. Here's what I did:
root@lists:~# sudo list
sudo: list: command not found
root@lists:~# su list
This account is currently not available.
root@lists:~# ls /var/list
ls: cannot access '/var/list': No such file or directory
root@lists:~# locate mailman-suite_project
root@lists:~# mkdir /var/list
root@lists:~# chown list.list /var/list
root@lists:~# su list
This account is currently not available.
root@lists:~# man su
root@lists:~# su -s /bin/bash list
list@lists:~$ cd mailman-suite_project
bash: cd: mailman-suite_project: No such file or directory
list@lists:~$ mkdir mailman-suite_project
list@lists:~$ cd mailman-suite_project
list@lists:~/mailman-suite_project$ python manage.py createsuperuser
python: can't open file 'manage.py': [Errno 2] No such file or directory
list@lists:~/mailman-suite_project$ locate manage.py
Which manage.py should I use?
Lanthanidia deliciosa: What the kiwifruit would be
if it weren't so radioactive.
Using Docker. Suppose I've overcome
https://gitlab.com/mailman/mailman/issues/359 and I can make Mailman use
the templates/site/no directory for my customized templates. Yes, it seems
to be working, no hickups when national characters are used in the
the welcome message still says "Welcome to the "listname" mailing list" in
English. Is it possible to change that?
Hi everyone :),
This is my first post in this group, so let me thank all of the developers
for incredible work with Mailman3. Special congratulations goes to new
project leader, Abhilash :)
I've been using Mailman2 from over 15 years, and recently decided that it
is time to upgrade. For several days I'm playing with all of the components
of the system. Currently everything looks to be working nicely :)
Mailman-core, Mailman-suite (Postorius, Hyperkitty) installed directly, not
using docker containers.
The last step was integration with MTA. I've configured Postfix and
Mailman-core according to:
But messages send to the list address are not delivered to the list :( I've
started to investigate whats happening and realize that Postfix can not
connect to mailman using LMTP. It seems that mailman is not listening on
Nov 24 13:12:31 lists postfix/lmtp: connect to
127.0.0.1[127.0.0.1]:8024: Connection refused
I've checked log files, but haven't realize anything unusual . Any ideas
where I could try to find cause of the problem ?
My mailman.cfg file MTA section:
Somewhen in the dark recesses of intarweb history, I found myself as the project leader for both Jython (née JPython) and GNU Mailman. I'd been involved with Jython since it was invented by Jim Hugunin around the time he came to work with us at Pythonlabs. I'd been contributing to Mailman since we inherited John Viega's Python-based Dave Matthews Band list server, and put it to use replacing python.org's Majordomo installation.
I'd enjoyed both projects, but knew I could not lead both, so I had to make a choice. I chose to turn over Jython to a team that's done a much better job over the years than I ever could have. Something about email, and especially the communication and collaboration patterns that it facilitates, really fascinated me. I know, I know, but we all have our lapses of sanity. Mine has lasted almost 20 years, a bit more than "momentary" perhaps.
I've rarely gotten paid to work on Mailman, but it did provide me some great opportunities. Most notably it led to my 10 year stint at Canonical. I was originally hired on there to integrate mailing lists with Launchpad, and Mailman was the obvious choice. I learned a ton doing that project, and working within the constraints of integrating the two Python-based systems, especially since Launchpad was originally not free software and Mailman was GPL'd. Later, the Zope-based Launchpad source code was released under the AGPL, making much of the monkeypatching unnecessary, but by then the system was solid and reliable, and you don't fix what's not broken.
Except, I guess I did. I took a lot of the lessons from that work, along with a good hard look at all the problems with Mailman 2, and began to break another cardinal rule of software development: second system syndrome. The result is Mailman 3. It took forever, and we're still not at complete feature parity with Mailman 2, but at least it's Real Enough to be used at many Real Sites, including python.org and lists.fedoraprojects.org.
It would be ridiculous for me to take significant credit for this. I have to acknowledge the amazing user community -- you! -- for all the support, patches, suggestions, feedback, patience, criticism, donations, and contributions that you've given to the project, and to me personally over the years. And my deepest gratitude goes to all the core developers that have stayed or come and gone, but most especially the current Cabal: Abhilash Raj, Aurelien Bompard, Florian Fuchs, Mark Sapiro, Stephen J. Turnbull, Terri Oda. You should know that each and every one of them is truly awesome, both in what they contribute technically, and in their amazing friendships. Mailman is infinitely better because of their involvement, and I've loved spending time with them over the years at the Pycon sprints, making releases and sharing teas and meals.
My blog is called We Fear Change, and that's humorously taken from a 90's bit in Mike Myer's excellent Wayne's World movie (a phrase actually uttered by the brilliant Dana Carvey as Garth). The irony of course is that while we all may fear change, it's the one constant thing we can count on. And in fact, we *require* change to thrive, because if you aren't changing, you aren't alive. Time, and being engaged with life's vagaries, means there's no alternative to change; it must be embraced.
And so, with a vague reference to the many (good!) changes in my personal and professional life, I'm announcing that I'm stepping down from the project leadership role of GNU Mailman, effective... nowish! And it's with unanimous agreement among the GNU Mailman Steering Committee (a.k.a. the Mailman Cabal), that we are announcing Abhilash Raj as the new project leader.
If you don't recognize Abhilash's name, you probably aren't paying attention, at least to Mailman 3. Abhilash came to us in 2013 as a Google Summer of Code student, and he's become one of the project's most valuable contributors. His list of accomplishments is long, and it includes everything from redesigning the website, to integrating CI with our GitLab build system, porting our code to the SQLAlchemy ORM, adding MySQL support, revving up adoption through his Docker images, along with his great coding work on Core, Postorius, HyperKitty, and mailmanclient.
This transition is good for the project too. Email, its defining protocols and standards, and its role in our daily lives, has changed profoundly since the early days of Mailman. A fresh perspective and enthusiasm will help keep Mailman relevant to the changing ways we -- especially the FLOSS and tech communities -- communicate.
Please join me in supporting Abhilash in every way possible as he takes over in this new role as project leader. I'll be here when and if needed, even as I create space in my "spare" time for... Something Else. I look forward to the vision that Abhilash will bring to the project, and I know that he will do a great job. To me, Mailman has always been about collaboration, and the best
way for it to succeed is for you to continue to contribute your insights, experiences, opinions, and skills with positive intention.
I have had this working before, so I guess it's a simple setup error.
When I send a message from the Postorius interface, it is neither sent out
or stored. I briefly see this message: "Your reply has been sent and is
being processed.", and then nothing happens.
I have installed maxking's docker-mailman and copied my old setup with
basic stuff like passwords and such. The only new thing is that I'm now
running in userspace by putting in /etc/subuid and subguid:
and in /etc/docker/daemon.json:
So I get the following ownership in /opt/mailman:
drwxrwsr-x 3 10100 10000 4096 nov. 21 09:00 core
drwx------ 19 10070 10000 4096 nov. 21 09:27 database
drwxr-sr-x 5 10100 10101 4096 nov. 21 09:24 web
(I have created a user named mailman with uid 10100 so, in reality, it says
"mailman" there instead of 10100 but I guess that is irrelevant here)