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,
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
I presume that the Persona login is removed now. I cannot hide it in my
version or at least I do not know how.
How do I set a template for one specific list? I want one list to have
a special footer template.
I have tried updating the database (template table) without effect so
apparently the database is not used for templates or some kind of
fallback is used to set it to the generic footer. Of course I also
tried to restart mailman after that operation to try to rule out any
I want to use a file://-path as that is the least painful way of doing
it. I also would like a solution to place a file in a special
location. My current templates are in a
structure with names like list:member:generic:footer.txt
I want to whitelist an email address on all lists to bypass moderation.
The email address is not a subscriber. On google I
found accept_these_nonmembers but I do not know how to use it.
Please show me some examples how to whitelist someone(a)example.org.
Thanks in advance.
I saw in the docs:
> We have it! We just don’t have proper documentation here yet.
Could you please be more specific - can I switch Mailman 3 installation to
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.