Re: changing the main template for subscriptions and more
by Andreas Barth
* Jens Günther (jens.guenther(a)posteo.de) [210621 17:05]:
> Hey there,
>
> in Mailman2 there was a simple link in the moderation-emails, with
> which I was able to open directly the "held-messages". I know how to
> manually integrate such a link with the variables of mailman (https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/rest/docs/…).
> But:
>
> How can I change the template for all the lists (respectively
> maildomains/webdomains) so that I don't have to do this manually for
> all lists? I searched a bit for the corresponding template, but
> didn't find it. At the end it only says the following:
I'm using this patch (however, german-only)
Andi
diff --git a/src/mailman/templates/de/list:admin:action:post.txt b/src/mailman/templates/de/list:admin:action:post.txt
index bc76a54c4..85cdd9376 100644
--- a/src/mailman/templates/de/list:admin:action:post.txt
+++ b/src/mailman/templates/de/list:admin:action:post.txt
@@ -9,5 +9,6 @@ Die Nachricht wurde aus folgenden Gründen zurückgehalten:
$reasons
-Besuchen Sie die Administrations-Seiten, um die Nachricht
+Besuchen Sie die Administrations-Seiten, um die Nachricht
anzunehmen oder abzulehnen.
+https://$domain/mailman3/postorius/lists/$list_id/held_messages
diff --git a/src/mailman/templates/de/list:admin:action:subscribe.txt b/src/mailman/templates/de/list:admin:action:subscribe.txt
index 88427c8d0..ba77aa3ce 100644
--- a/src/mailman/templates/de/list:admin:action:subscribe.txt
+++ b/src/mailman/templates/de/list:admin:action:subscribe.txt
@@ -3,3 +3,7 @@ die Mailingliste nötig:
Für: $member
Liste: $listname
+
+Besuchen Sie die Administrations-Seiten, um die Anmeldung
+anzunehmen oder abzulehnen.
+https://$domain/mailman3/postorius/lists/$list_id/subscription_requests
diff --git a/src/mailman/templates/de/list:admin:action:unsubscribe.txt b/src/mailman/templates/de/list:admin:action:unsubscribe.txt
index c794355e8..0bace3950 100644
--- a/src/mailman/templates/de/list:admin:action:unsubscribe.txt
+++ b/src/mailman/templates/de/list:admin:action:unsubscribe.txt
@@ -3,3 +3,7 @@ der Mailingliste nötig:
Für: $member
Liste: $listname
+
+Besuchen Sie die Administrations-Seiten, um die Abmeldung
+anzunehmen oder abzulehnen.
+https://$domain/mailman3/postorius/lists/$list_id/subscription_requests
diff --git a/src/mailman/templates/de/list:user:notice:welcome.txt b/src/mailman/templates/de/list:user:notice:welcome.txt
index 3efc32bd1..974d8e465 100644
--- a/src/mailman/templates/de/list:user:notice:welcome.txt
+++ b/src/mailman/templates/de/list:user:notice:welcome.txt
@@ -1,16 +1,18 @@
Willkommen auf der Mailingliste "$display_name"!
-Um an diese Liste zu schreiben, senden Sie eine E-Mail an:
-
+E-Mails an die Adresse
$listname
+werden an alle Teilnehmer verteilt.
-Sie können Einstellungen vornehmen, indem Sie eine E-Mail an
+Auf der Webseite https://$domain/ können Sie Ihre Einstellungen verwalten.
+Wer dies möchte, kann sich dort registrieren - bitte mit der E-Mail-Adresse,
+die auf der Mailingliste eingetragen ist. Nach dem Einloggen ist auch
+möglich, die Empfangsadresse für die Mailinglisten zu ändern, oder
+zusätzliche Sendeadressen einzurichten.
+Sie können auch Einstellungen vornehmen, indem Sie eine E-Mail an
$request_email
-
mit dem Wort 'help' (ohne Anführungszeichen) im Betreff oder im Inhalt
-senden, Sie erhalten dann eine automatisierte Antwort mit weiteren
-Instruktionen. Sie werden Ihr Passwort benötigen, um Änderungen an Ihren
-Einstellungen vorzunehmen, aber aus Sicherheitsgründen wird dieses hier
-nicht angegeben. Sollten Sie Ihr Passwort vergessen haben, nutzen Sie bitte
-die 'Passwort vergessen'-Funktion auf der Login-Seite.
+senden. Sie erhalten dann eine automatisierte Antwort mit weiteren
+Instruktionen. Um Änderungen bei den Einstellungen vorzunehmen, wird das auf
+https://$domain/ vereinbarte Passwort benötigt.
3 years, 5 months
Re: Moderation not working?
by Mark Sapiro
On 11/24/20 12:30 PM, peter(a)chubb.wattle.id.au wrote:
>
> Hi Folks,
> Running a shiny new instance of mailman3, as per the Debian package
> (version 3.2.2) but the moderation doesn't seem to work. WE got
> hit by a heap of spammers overnight, even though the 'hold for
> moderation' bit is set for non-members (and now for members too).
If the action for member posts was accept ot default processing at the
time, perhaps the spam spoofed a member address in one of From:,
Reply-To:, Sender: or the envelope sender,
> Emails seem just to get straight through.
Even now with both member and non-member actions set to hold?
> Any advice on how to debug this? Would upgrading to a later version
> using pip help?
An upgrade probably won't help. This should work in your version.
For one of the mail's, check all 4 addresses, From:, Reply-To:, Sender:
and the envelope sender (available in the MTA logs). Note that Reply-To:
and/or Sender: may have been modified by the list.
Then see if any of those addresses matches a member or a non-member and
what the specific moderation action is for that address. Also check the
list's accept_these_nonmembers which is probably not exposed in your
version of Postorius but which you can see via `mailman shell`.
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
4 years
Re: How to best disable message decoration for all lists defined for a domain
by Abhilash Raj
On Mon, Mar 18, 2019, at 2:27 PM, Ralph Seichter wrote:
> Hello list.
>
> I have read [1] and [2], but I am not quite sure what the recommended
> method is to completely disable message headers/footers and subject
> modifications for *all* lists tied to a specific domain. Being new to
> Mailman 3, I was actually surprised that there are no configuration
> switches in the Web UI's settings for mailing lists that allow me to get
> rid of unwanted message decorations.
Yes, you are right and there aren't any ways to disable decorations. Can
you please open an issue on Gitlab?
As a workaround, you can set an empty domain level template for header
and footer and remove the subject prefix. There is an issue open on Postorius[1]
which doesn't allow empty templates, you need to add at least a blank space
to create a template, which should result in similar looking message.
[1]: https://gitlab.com/mailman/postorius/issues/331
>
> [1]
> https://mailman.readthedocs.io/en/latest/src/mailman/handlers/docs/decorate…
> [2]
> https://mailman.readthedocs.io/en/latest/build/lib/mailman/rest/docs/templa…
>
> Thanks for your input.
>
> -Ralph
> _______________________________________________
> 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, 8 months
Re: High memory usage
by Stephen J. Turnbull
Philip Colmer writes:
[Nothing about individual processes.] *Something* is using that
memory. ps(1) should help identify it when your alarm is triggered,
top(1) allows monitoring in realtime. For example, the information
about the size of archives is interesting only if HyperKitty is using
the memory. I guess it might be indicative of core usage since
there's an awful lot of traffic, but core won't be reading archives
into memory or anything like that, it doesn't even know or care where
the archives are. It only knows where on the Internet to send
messages so the archiver that lives there can add them. And I find it
hard to imagine why Postorius would be consuming memory.
> What is particularly curious for us is that we have four Mailman 3
> servers.
Are these servers identically configured, or nearly so? If so,
perhaps you can find "interesting" differences in memory usage across
them.
> Finally, and just FYI, we're using PostgreSQL for the database and
> Xapian for the indexing engine.
Either of those would be a weird cause. The point of an RDBMS is to
store data in mass storage, although I suppose it's possible to write
queries that would return huge quantites of data in memory. And the
indexer is not a long-running process, as far as I know. So it should
run, exit, and release memory. Again, if it's related to one of those
it should turn up in ps.
2 years, 9 months
Re: sqlite3 Database "read only" error on mailman_sync job
by Ugnius
Thank You. This is very valuable information. According documentation I understood that "runserver" should run on some internal port and uwsgi just works like proxy connects to the same as runserver port and serves content to apachi. Because when I was playing with the setup without "runserver" Web interface didn't work.
Yes, I have stopped "runserver" and page still works fine. :) This didn't solve me database RO issue, but this information was important. Thank You. I am thinking what to do now... Maybe to recreate database (make initiation once again). It could take 2-3 hours. I did not noticed option to export/import lists setting. Or to try find solution how to make sqlite3 multiple writable.
SQLite version 3.16.2 2017-01-06 16:32:41
Enter ".help" for usage hints.
BR
Ugnius
> On 5 Sep 2019, at 23:31, Abhilash Raj <maxking(a)asynchronous.in> wrote:
>
>> On Thu, Sep 5, 2019, at 1:15 PM, Ugnius wrote:
>>
>> I do not know... In the setup example settings was something like process number = 2. But I understand at least 1 uwsgi and 1 run server should run?
>
> No, only uwsgi needs to run. It is fine if there are two of those, since it probably forks to have 2 worker process. There shouldn't be any "python manage.py runserver" processes running at all, it is meant only for testing purposes.
>
> The doc mentions that it is "development" server[1][2].
>
> [1]: # Run the Django's "development" server at localhost:8000
> [2]: http://docs.mailman3.org/en/latest/prodsetup.html#setting-up-django-project
>
> Perhaps it should be more descriptive about what does it mean.
>
>>
>>> On 5 Sep 2019, at 23:08, Abhilash Raj <maxking(a)asynchronous.in> wrote:
>>> 6644 ? S 0:12 /usr/bin/uwsgi --master --ini /opt/home/uwsgi.ini
>>> 6645 ? S 0:00 /usr/bin/python3 /opt/home/manage.py runserver 0:8015
>>> 6653 ? Sl 636:28 /usr/bin/python3 /opt/home/manage.py runserver 0:8015
>>> 6656 ? Sl 0:27 /usr/bin/uwsgi --master --ini /opt/home/uwsgi.ini
>>>
>>> This fishy, why do you have both uwsgi and "python manage.py runserver" running?
>>>
>>> You only need one of those, since they both do the exact same thing. Please remove
>>> whatever is running the "python manage.py runserver" part and only use uwsgi.
>>>
>>>> On Thu, Sep 5, 2019, at 1:02 PM, Ugnius S wrote:
>>>> Thank You, Abhilash, to helping. I have checked the processes, but also I have read, that sqlite3 can run in multi writing mode.
>>>> May mailman processes are next:
>>>>
>>>> 6644 ? S 0:12 /usr/bin/uwsgi --master --ini /opt/home/uwsgi.ini
>>>> 6645 ? S 0:00 /usr/bin/python3 /opt/home/manage.py runserver 0:8015
>>>> 6653 ? Sl 636:28 /usr/bin/python3 /opt/home/manage.py runserver 0:8015
>>>> 6656 ? Sl 0:27 /usr/bin/uwsgi --master --ini /opt/home/uwsgi.ini
>>>> 6643 ? S 0:00 /usr/bin/python3 /usr/bin/master -C /opt/home/mailman.cfg
>>>> 659 ? S 0:46 /usr/bin/python3 /usr/bin/runner -C /opt/home/mailman.cfg --runner=in:0:1
>>>> 6660 ? S 0:42 /usr/bin/python3 /usr/bin/runner -C /opt/home/mailman.cfg --runner=nntp:0:1
>>>> 6661 ? S 0:42 /usr/bin/python3 /usr/bin/runner -C /opt/home/mailman.cfg --runner=digest:0:1
>>>> 6662 ? S 0:48 /usr/bin/python3 /usr/bin/runner -C /opt/home/mailman.cfg --runner=pipeline:0:1
>>>> 6663 ? S 0:44 /usr/bin/python3 /usr/bin/runner -C /opt/home/mailman.cfg --runner=archive:0:1
>>>> 6664 ? S 0:41 /usr/bin/python3 /usr/bin/runner -C /opt/home/mailman.cfg --runner=command:0:1
>>>> 6665 ? S 0:01 /usr/bin/python3 /usr/bin/runner -C /opt/home/mailman.cfg --runner=retry:0:1
>>>> 6666 ? S 0:45 /usr/bin/python3 /usr/bin/runner -C /opt/home/mailman.cfg --runner=virgin:0:1
>>>> 6667 ? Sl 0:16 /usr/bin/python3 /usr/bin/runner -C /opt/home/mailman.cfg --runner=lmtp:0:1
>>>> 6668 ? Sl 1:30 /usr/bin/python3 /usr/bin/runner -C /opt/home/mailman.cfg --runner=rest:0:1
>>>> 6669 ? S 0:42 /usr/bin/python3 /usr/bin/runner -C /opt/home/mailman.cfg --runner=bounces:0:1
>>>> 6670 ? S 0:49 /usr/bin/python3 /usr/bin/runner -C /opt/home/mailman.cfg --runner=out:0:1
>>>>
>>>> Looks like there are no double. Nothing more is running.
>>>>
>>>> 2019-09-05, kt, 03:16 Abhilash Raj <maxking(a)asynchronous.in> rašė:
>>>>
>>>>> On Wed, Sep 4, 2019, at 2:05 PM, Ugnius S wrote:
>>>>>
>>>>> I have installed using documentation. My linux distribution version has no full package available. I have installed step by step:
>>>>> $ sudo pip3 install mailman
>>>>> $ sudo pip3 install postorius
>>>>> $ sudo pip3 install hyperkitty
>>>>> $ sudo pip3 install mailman-hyperkitty
>>>>> And of course all mandatory components... Everything without errors, I can drop db files and I can download mailman-suite again and start from empty page again. But it will not guarantee that DB will not become READ ONLY again. Here should be logic. No developing support here?
>>>>
>>>> Could you be running two separate processes such that the database is locked by one and so other finds it as READ Only? When you find a read only database, can you check if it is open in some other process?
>>>>
>>>>>
>>>>>
>>>>>
>>>>> 2019-09-03, an, 19:36 Abhilash Raj <maxking(a)asynchronous.in> rašė:
>>>>>
>>>>>
>>>>> On Sun, Sep 1, 2019, at 3:22 AM,ugniusviln(a)gmail.com wrote:
>>>>> > Hi. All the project installation is under the same user / path and
>>>>> > it works. Archiving working as well, (just one remark: no matter what
>>>>> > to set in postorius, hyperkitty shows list as public)
>>>>> > I have found work around - it is possible to change list as private in
>>>>> > "admin" page.
>>>>> > I started to get issues with runjobs after I have created couple of
>>>>> > new lists with "no archive" option.
>>>>>
>>>>> How did you install all these components. It seems there the installation is broken in weird ways.
>>>>>
>>>>> >
>>>>> > If as owner user from project home I run:
>>>>> >
>>>>> > django-admin mailman_sync
>>>>> >
>>>>> > Traceback (most recent call last):
>>>>> > File
>>>>> > "/home/user/.local/lib/python3.5/site-packages/django/db/backends/utils.py",
>>>>> > line 84, in _execute
>>>>> > return self.cursor.execute(sql, params)
>>>>> > File
>>>>> > "/home/user/.local/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py",
>>>>> > line 383, in execute
>>>>> > return Database.Cursor.execute(self, query, params)
>>>>> > sqlite3.OperationalError: attempt to write a readonly database
>>>>> >
>>>>> > "django-admin runjob sync_mailman " - makes read only errors as well.
>>>>> > "django-admin runjob new_lists_from_mailman"
>>>>> > django.db.utils.OperationalError: attempt to write a readonly database
>>>>> > END TRACEBACK
>>>>> >
>>>>> > I did not find information how to fix this. It was worked without errors
>>>>> > before.
>>>>> > I noticed, that if I stop mailman, "django-admin mailman_sync" starts
>>>>> > to work.
>>>>> > If I start "mailman start", then "django-admin mailman_sync" failing
>>>>> > again.
>>>>> > I did not check other jobs, but I think what is related to database,
>>>>> > will get errors.
>>>>> > Seems mailman locking the database. It is not a file permissions issue.
>>>>> > Mailman db location is: /project_directory/var/data/mailman.db
>>>>> >
>>>>> > if to rename /project_directory/var/data/mailman.db to something,
>>>>> > mailman creates database file size 0, django-admin runjobs start
>>>>> > working, but of course postorius stops working. I did it for testing.
>>>>> > I have returned this database file back, postorius started to work
>>>>> > again, but django-admin runjobs does not work, error: "database read
>>>>> > only".
>>>>> > Please help me how to fix this issue.
>>>>> > _______________________________________________
>>>>> > 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)
>>>>
>>>> --
>>>> thanks,
>>>> Abhilash Raj (maxking)
>>>>
>>>>
>>>
>>> --
>>> thanks,
>>> Abhilash Raj (maxking)
>>>
>>>
>
> --
> thanks,
> Abhilash Raj (maxking)
>
>
5 years, 2 months
Cannot locate manage.py
by Frank van den Heuvel
Hello,
While following https://docs.mailman3.org/en/latest/migration.html, I
want to execute:
python manage.py hyperkitty_import -l foo-list(a)example.com $var_prefix/archives/private/foo-list.mbox/foo-list.mbox
Of course edited with values for my list. But I already get stuck in not
being able to locate "manage.py".
When I run "locate manage.py", I get:
/opt/mailman/mm/venv/lib/python3.7/site-packages/django/conf/project_template/manage.py-tpl
/opt/mailman/mm/venv/lib/python3.7/site-packages/example_project/manage.py
/opt/mailman/mm/venv/lib/python3.7/site-packages/falcon/bench/dj/manage.py
Which one is the right one?
With kind regards and thanks for your work!
Frank van den Heuvel
BTW: This is a debian 10.2 with Mailman3:
Django Version: 2.2.9
Python Executable: /opt/mailman/mm/venv/bin/python
Python Version: 3.7.3
Python Path: ['/opt/mailman/mm', '/opt/mailman/mm/', '/opt/mailman/mm/bin', '/usr/lib/python37.zip', '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', '/opt/mailman/mm/venv/lib/python3.7/site-packages']
Server time: Tue, 21 Jan 2020 08:34:45 -0800
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',
'allauth.socialaccount.providers.github',
'allauth.socialaccount.providers.gitlab',
'allauth.socialaccount.providers.google')
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')
4 years, 10 months
Re: New messages not being archived
by Sarah H
The site is behind a proxy, yes. apache serves the client site redirecting 80 to 443 and serving SSL for the site then proxying to Nginx for postorius/hyperkitty at 8080. I've also tried going straight to 8080 bypassing the proxy internally using localhost or loopback to the same end result.
The log is mostly these three errors repeatedly with the same above wall of html between them, some of them end with (404) after the last html tag indicating url not found and browsing to them gives the same custom 404 page for postorius.
Jul 15 12:37:08 2021 (471314) HyperKitty failure on http://lists.client.org/hyperkitty/api/mailman/archive:
Jul 15 12:37:08 2021 (471314) Traceback (most recent call last):
File "/opt/mailman/venv/lib64/python3.6/site-packages/mailman_hyperkitty/__init__.py", line 154, in _archive_message
url = self._send_message(mlist, msg)
File "/opt/mailman/venv/lib64/python3.6/site-packages/mailman_hyperkitty/__init__.py", line 210, in _send_message
raise ValueError(result.text)
ValueError:
Jul 15 12:37:08 2021 (471314) Exception in the HyperKitty archiver:
I was able to find (about 5000 lines up in the log for a single post attempt... it's a bit excessive to print the html response every error) this when I dug through instead of tailing the last 500 lines.
[15/Jul/2021:12:37:06 -0700] "GET /3.1/addresses/sarah.h@email HTTP/1.1" 200 380 "-" "GNU Mailman REST client v3.3.2"
and at the start of the block:
[15/Jul/2021:12:37:03 -0700] "GET /3.1/lists/admin.lists.client.org/member/sarah.%40email HTTP/1.1" 200 516 "-" "GNU Mailman REST client v3.3.2"
Jul 15 12:37:05 2021 (471317) ACCEPT: <162637782380.3116.619498070458942231@sysname>
3 years, 4 months
Re: How To Install Mailman 3 on Debian 10 (Complete Guide)
by Lars Schimmer
On 26/02/2021 00:55, Brian Carpenter wrote:
> I have finished my how-to install Mailman 3 on Debian 10 completed to
> the point where you can use it to get a fully functional Mailman 3
> environment up and running. This is a comprehensive guide that walks you
> through installing EVERYTHING (currently!) that Mailman 3 needs to run.
> It also makes updating Mailman 3/Postorius/Hyperkitty very easy. I have
> not added the update directions yet but will very soon. I also plan on
> adding a section on setting up DKIM and Xapian with Mailman 3.
>
> I hope this helps those who wish to get a Mailman 3 server up and
> running quickly and brings a sense of sanity to the confusion regarding
> the various documentation out there concerning the installation of
> Mailman 3/Postorius/Hyperkitty. I intend to add a How-to for Ubuntu 20
> at some point.
>
> Without further ado:
>
> https://wiki.list.org/DOC/Howto_Install_Mailman3_On_Debian10
>
> I am sure the above guide can use improvements. Feel free to contact me
> off-list to point out mistakes/improvements, etc.
>
Hm, it completely ignores the standard way for Debian:
apt-get install mailman3-full
also exim4 as standard mailer.
And apache2.
But thats just my 2 cent.
MfG,
Lars Schimmer
--
-------------------------------------------------------------
TU Graz, Institut für ComputerGraphik & WissensVisualisierung
Tel: +43 316 873-5405 E-Mail: l.schimmer(a)cgv.tugraz.at
Fax: +43 316 873-5402 PGP-Key-ID: 0x4A9B1723
3 years, 9 months
Re: using SSH/TLS with external MTA
by Roland Giesler
On 2024/07/28 00:39, Mark Sapiro wrote:
> On 7/27/24 15:16, Roland Giesler via Mailman-users wrote:
>>
>> The server runs power-mailinabox, which uses Postfix indeed. All my
>> mail, and quite a few others' mail is sent from the using SMTP-Auth
>> on port 465. Actually, this message is sent via that server too. So
>> it's clear to me that MM3 is not authenticating for some reason.
>
> What do you see in Mailman's smtp.log and in the mail.log on the mail
> server?
The smtp log is in syslog...
Jul 28 12:48:19 mailman postfix/smtpd[63855]: connect from localhost[::1]
Jul 28 12:48:19 mailman postfix/smtpd[63855]: NOQUEUE: reject: RCPT from
localhost[::1]: 454 4.7.1 <roland(a)giesler.za.net>: Relay access denied;
from=<postorius(a)giesler.za.net> to=<roland(a)giesler.za.net> proto=ESMTP
helo=<mailman.fast.za.net>
Jul 28 12:48:19 mailman postfix/smtpd[63769]: lost connection after RSET
from localhost[::1]
Jul 28 12:48:19 mailman postfix/smtpd[63769]: disconnect from
localhost[::1] ehlo=1 mail=1 rcpt=0/1 rset=1 commands=3/4
Jul 28 12:48:19 mailman postfix/smtpd[63769]: connect from localhost[::1]
Jul 28 12:48:19 mailman postfix/smtpd[63769]: 4D0DE120A5B:
client=localhost[::1]
Jul 28 12:48:19 mailman postfix/cleanup[63291]: 4D0DE120A5B:
message-id=<172217089931.2150.9004701361968608890(a)mailman.fast.za.net>
Jul 28 12:48:19 mailman postfix/qmgr[330]: 4D0DE120A5B:
from=<root(a)giesler.za.net>, size=21782, nrcpt=1 (queue active)
Jul 28 12:48:19 mailman postfix/smtpd[63769]: disconnect from
localhost[::1] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
Jul 28 12:48:19 mailman postfix/local[63575]: 4D0DE120A5B:
to=<root@localhost>, relay=local, delay=0.01, delays=0.01/0/0/0,
dsn=2.0.0, status=sent (delivered to mailbox)
Jul 28 12:48:19 mailman postfix/qmgr[330]: 4D0DE120A5B: removed
I think I see what's going on here. The mail is being sent from
postorius(a)giesler.za.net and there is no log entry on
box2.gtahardware.co.za that shows this logon attempt. So it seems it's
not going to that server, but rather to the local postfix.
A mail was sent to root on the localhost with the following content:
Return-Path: <root(a)giesler.za.net>
X-Original-To: root@localhost
Delivered-To: root@localhost
Received: from mailman.fast.za.net (localhost [IPv6:::1])
by mailman.localdomain (Postfix) with ESMTP id 2174A120A5B
for <root@localhost>; Sun, 28 Jul 2024 13:11:03 +0000 (UTC)
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Subject: [Django] ERROR (EXTERNAL IP): Internal Server Error:
/accounts/login/
From: root(a)giesler.za.net
To: root@localhost
Date: Sun, 28 Jul 2024 13:11:03 -0000
Message-ID: <172217226313.2150.10895652368679013629(a)mailman.fast.za.net>
Internal Server Error: /accounts/login/
SMTPRecipientsRefused at /accounts/login/
{'roland(a)giesler.za.net': (454, b'4.7.1 <roland(a)giesler.za.net>: Relay acce=
ss denied')}
Request Method: POST
Request URL: http://192.168.161.103/accounts/login/
Django Version: 3.2.12
Python Executable: /usr/bin/uwsgi-core
Python Version: 3.10.12
Python Path: ['.', '', '/usr/lib/python310.zip', '/usr/lib/python3.10', '/u=
sr/lib/python3.10/lib-dynload', '/usr/local/lib/python3.10/dist-packages', =
'/usr/lib/python3/dist-packages', '/usr/lib/python3.10/dist-packages']
Server time: Sun, 28 Jul 2024 15:11:03 +0200
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',
'django_mailman3.lib.auth.fedora')
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 (most recent call last):
File
"/usr/lib/python3/dist-packages/django/core/handlers/exception.py", line
47, in inner
response =3D get_response(request)
File "/usr/lib/python3/dist-packages/django/core/handlers/base.py",
line 181, in _get_response
response =3D wrapped_callback(request, *callback_args,
**callback_kwargs)
File "/usr/lib/python3/dist-packages/django/views/generic/base.py",
line 70, in view
return self.dispatch(request, *args, **kwargs)
File "/usr/lib/python3/dist-packages/django/utils/decorators.py",
line 43, in _wrapper
return bound_method(*args, **kwargs)
File
"/usr/lib/python3/dist-packages/django/views/decorators/debug.py", line
89, in sensitive_post_parameters_wrapper
return view(request, *args, **kwargs)
File "/usr/lib/python3/dist-packages/allauth/account/views.py", line
146, in dispatch
return super(LoginView, self).dispatch(request, *args, **kwargs)
File "/usr/lib/python3/dist-packages/allauth/account/views.py", line
74, in dispatch
response =3D super(RedirectAuthenticatedUserMixin, self).dispatch(
File "/usr/lib/python3/dist-packages/django/views/generic/base.py",
line 98, in dispatch
return handler(request, *args, **kwargs)
File "/usr/lib/python3/dist-packages/allauth/account/views.py", line
102, in post
response =3D self.form_valid(form)
File "/usr/lib/python3/dist-packages/allauth/account/views.py", line
159, in form_valid
return form.login(self.request, redirect_url=3Dsuccess_url)
File "/usr/lib/python3/dist-packages/allauth/account/forms.py", line
196, in login
ret =3D perform_login(
File "/usr/lib/python3/dist-packages/allauth/account/utils.py", line
175, in perform_login
send_email_confirmation(request, user, signup=3Dsignup, email=3Demail)
File "/usr/lib/python3/dist-packages/allauth/account/utils.py", line
346, in send_email_confirmation
email_address.send_confirmation(request, signup=3Dsignup)
File "/usr/lib/python3/dist-packages/allauth/account/models.py", line
62, in send_confirmation
confirmation.send(request, signup=3Dsignup)
File "/usr/lib/python3/dist-packages/allauth/account/models.py", line
169, in send
get_adapter(request).send_confirmation_mail(request, self, signup)
File "/usr/lib/python3/dist-packages/allauth/account/adapter.py",
line 464, in send_confirmation_mail
self.send_mail(email_template,
emailconfirmation.email_address.email, ctx)
File "/usr/lib/python3/dist-packages/allauth/account/adapter.py",
line 136, in send_mail
msg.send()
File "/usr/lib/python3/dist-packages/django/core/mail/message.py",
line 284, in send
return self.get_connection(fail_silently).send_messages([self])
File
"/usr/lib/python3/dist-packages/django/core/mail/backends/smtp.py", line
109, in send_messages
sent =3D self._send(message)
File
"/usr/lib/python3/dist-packages/django/core/mail/backends/smtp.py", line
125, in _send
self.connection.sendmail(from_email, recipients,
message.as_bytes(linesep=3D'\r\n'))
File "/usr/lib/python3.10/smtplib.py", line 901, in sendmail
raise SMTPRecipientsRefused(senderrs)
Exception Type: SMTPRecipientsRefused at /accounts/login/
Exception Value: {'roland(a)giesler.za.net': (454, b'4.7.1
<roland(a)giesler.za.net>: Relay access denied')}
Request information:
USER: AnonymousUser
GET: No GET data
POST:
csrfmiddlewaretoken =3D
'41gp97hhfO2FhiEzOFLf1c5P3WLxk5TZvOgF0Qske6zI3EHtk8YK3w6wlEhLQAVS'
login =3D 'roland(a)giesler.za.net'
password =3D '********************'
next =3D '/postorius/lists/'
FILES: No FILES data
COOKIES:
csrftoken =3D
'aW8mw1heNIcuQ1YTMwnWMzi9DMaDFES6BJ8CnKshM0JxCn1NiZArOTjQVuGRb9UZ'
META:
CONTENT_LENGTH =3D '164'
CONTENT_TYPE =3D 'application/x-www-form-urlencoded'
CSRF_COOKIE =3D
'aW8mw1heNIcuQ1YTMwnWMzi9DMaDFES6BJ8CnKshM0JxCn1NiZArOTjQVuGRb9UZ'
DOCUMENT_ROOT =3D '/usr/share/nginx/html'
HTTP_ACCEPT =3D
'text/html,application/xhtml+xml,application/xml;q=3D0.9,image/avif,image/webp,image/apng,*/*;q=3D0.8'
HTTP_ACCEPT_ENCODING =3D 'gzip, deflate'
HTTP_ACCEPT_LANGUAGE =3D 'en-GB,en'
HTTP_CACHE_CONTROL =3D 'max-age=3D0'
HTTP_CONNECTION =3D 'keep-alive'
HTTP_CONTENT_LENGTH =3D '164'
HTTP_CONTENT_TYPE =3D 'application/x-www-form-urlencoded'
HTTP_COOKIE =3D
'csrftoken=3DaW8mw1heNIcuQ1YTMwnWMzi9DMaDFES6BJ8CnKshM0JxCn1NiZArOTjQVuGRb9UZ'
HTTP_HOST =3D '192.168.161.103'
HTTP_ORIGIN =3D 'http://192.168.161.103'
HTTP_REFERER =3D
'http://192.168.161.103/accounts/login/?next=3D/postorius/lists/'
HTTP_SEC_GPC =3D '1'
HTTP_UPGRADE_INSECURE_REQUESTS =3D '1'
HTTP_USER_AGENT =3D 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36'
PATH_INFO =3D '/accounts/login/'
QUERY_STRING =3D ''
REMOTE_ADDR =3D '192.168.131.150'
REMOTE_PORT =3D '60098'
REQUEST_METHOD =3D 'POST'
REQUEST_SCHEME =3D 'http'
REQUEST_URI =3D '/accounts/login/'
SCRIPT_NAME =3D ''
SERVER_NAME =3D ''
SERVER_PORT =3D '80'
SERVER_PROTOCOL =3D 'HTTP/1.1'
uwsgi.core =3D 1
uwsgi.node =3D b'mailman'
uwsgi.version =3D b'2.0.20-debian'
wsgi.errors =3D <_io.TextIOWrapper name=3D2 mode=3D'w'
encoding=3D'ANSI_X3.4-1968'>
wsgi.file_wrapper =3D <built-in function uwsgi_sendfile>
wsgi.input =3D <uwsgi._Input object at 0x7facb44bd530>
wsgi.multiprocess =3D False
wsgi.multithread =3D True
wsgi.run_once =3D False
wsgi.url_scheme =3D 'http'
wsgi.version =3D '(1, 0)'
Settings:
Using settings module settings
ABSOLUTE_URL_OVERRIDES =3D {}
ACCOUNT_AUTHENTICATION_METHOD =3D 'username_email'
ACCOUNT_DEFAULT_HTTP_PROTOCOL =3D 'https'
ACCOUNT_EMAIL_REQUIRED =3D True
ACCOUNT_EMAIL_VERIFICATION =3D 'mandatory'
ACCOUNT_UNIQUE_EMAIL =3D True
ADMINS =3D "(('Mailman Suite Admin', 'root@localhost'),)"
ALLOWED_HOSTS =3D ['*']
APPEND_SLASH =3D True
AUTHENTICATION_BACKENDS =3D
"('django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend')"
AUTH_PASSWORD_VALIDATORS =3D '********************'
AUTH_USER_MODEL =3D 'auth.User'
BASE_DIR =3D '/usr/share/mailman3-web'
CACHES =3D {'default': {'BACKEND':
'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS =3D 'default'
CACHE_MIDDLEWARE_KEY_PREFIX =3D '********************'
CACHE_MIDDLEWARE_SECONDS =3D 600
COMPRESSORS =3D {'css': 'compressor.css.CssCompressor', 'js':
'compressor.js.JsCompressor'}
COMPRESS_CACHEABLE_PRECOMPILERS =3D '()'
COMPRESS_CACHE_BACKEND =3D 'default'
COMPRESS_CACHE_KEY_FUNCTION =3D '********************'
COMPRESS_CLEAN_CSS_ARGUMENTS =3D ''
COMPRESS_CLEAN_CSS_BINARY =3D 'cleancss'
COMPRESS_CLOSURE_COMPILER_ARGUMENTS =3D ''
COMPRESS_CLOSURE_COMPILER_BINARY =3D 'java -jar compiler.jar'
COMPRESS_CSS_HASHING_METHOD =3D 'mtime'
COMPRESS_DATA_URI_MAX_SIZE =3D 1024
COMPRESS_DEBUG_TOGGLE =3D None
COMPRESS_ENABLED =3D True
COMPRESS_FILTERS =3D {'css':
['compressor.filters.css_default.CssAbsoluteFilter'], 'js':
['compressor.filters.jsmin.JSMinFilter']}
COMPRESS_JINJA2_GET_ENVIRONMENT =3D <function
CompressorConf.JINJA2_GET_ENVIRONMENT at 0x7facb6a52b00>
COMPRESS_MINT_DELAY =3D 30
COMPRESS_MTIME_DELAY =3D 10
COMPRESS_OFFLINE =3D True
COMPRESS_OFFLINE_CONTEXT =3D {'STATIC_URL': '/mailman3/static/'}
COMPRESS_OFFLINE_MANIFEST =3D 'manifest.json'
COMPRESS_OFFLINE_TIMEOUT =3D 31536000
COMPRESS_OUTPUT_DIR =3D 'CACHE'
COMPRESS_PARSER =3D 'compressor.parser.AutoSelectParser'
COMPRESS_PRECOMPILERS =3D '()'
COMPRESS_REBUILD_TIMEOUT =3D 2592000
COMPRESS_ROOT =3D '/var/lib/mailman3/web/static'
COMPRESS_STORAGE =3D 'compressor.storage.CompressorFileStorage'
COMPRESS_TEMPLATE_FILTER_CONTEXT =3D {'STATIC_URL': '/mailman3/static/'}
COMPRESS_URL =3D '/mailman3/static/'
COMPRESS_URL_PLACEHOLDER =3D '/__compressor_url_placeholder__/'
COMPRESS_VERBOSE =3D False
COMPRESS_YUGLIFY_BINARY =3D 'yuglify'
COMPRESS_YUGLIFY_CSS_ARGUMENTS =3D '--terminal'
COMPRESS_YUGLIFY_JS_ARGUMENTS =3D '--terminal'
COMPRESS_YUI_BINARY =3D 'java -jar yuicompressor.jar'
COMPRESS_YUI_CSS_ARGUMENTS =3D ''
COMPRESS_YUI_JS_ARGUMENTS =3D ''
CSRF_COOKIE_AGE =3D 31449600
CSRF_COOKIE_DOMAIN =3D None
CSRF_COOKIE_HTTPONLY =3D False
CSRF_COOKIE_NAME =3D 'csrftoken'
CSRF_COOKIE_PATH =3D '/'
CSRF_COOKIE_SAMESITE =3D 'Lax'
CSRF_COOKIE_SECURE =3D False
CSRF_FAILURE_VIEW =3D 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME =3D 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS =3D []
CSRF_USE_SESSIONS =3D False
DATABASES =3D {'default': {'ENGINE': 'django.db.backends.mysql', 'NAME':
'mailman3web', 'USER': 'mailman3web', 'PASSWORD':
'********************', 'HOST': 'localhost', 'PORT': '', 'OPTIONS':
{'init_command': "SET sql_mode=3D'STRICT_TRANS_TABLES'"},
'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0,
'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None,
'MIGRATE': True, 'MIRROR': None, 'NAME': None}}}
DATABASE_ROUTERS =3D []
DATA_UPLOAD_MAX_MEMORY_SIZE =3D 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS =3D 1000
DATA_UPLOAD_MAX_NUMBER_FILES =3D 100
DATETIME_FORMAT =3D 'N j, Y, P'
DATETIME_INPUT_FORMATS =3D ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f',
'%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y
%H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M']
DATE_FORMAT =3D 'N j, Y'
DATE_INPUT_FORMATS =3D ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y',
'%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B
%Y', '%d %B, %Y']
DEBUG =3D False
DEBUG_PROPAGATE_EXCEPTIONS =3D False
DECIMAL_SEPARATOR =3D '.'
DEFAULT_AUTO_FIELD =3D 'django.db.models.AutoField'
DEFAULT_CHARSET =3D 'utf-8'
DEFAULT_EXCEPTION_REPORTER =3D 'django.views.debug.ExceptionReporter'
DEFAULT_EXCEPTION_REPORTER_FILTER =3D
'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE =3D 'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL =3D 'postorius(a)giesler.za.net'
DEFAULT_HASHING_ALGORITHM =3D 'sha256'
DEFAULT_INDEX_TABLESPACE =3D ''
DEFAULT_TABLESPACE =3D ''
DISALLOWED_USER_AGENTS =3D []
EMAILNAME =3D 'giesler.za.net'
EMAIL_BACKEND =3D 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST =3D 'localhost'
EMAIL_HOST_PASSWORD =3D '********************'
EMAIL_HOST_USER =3D ''
EMAIL_PORT =3D 25
EMAIL_SSL_CERTFILE =3D None
EMAIL_SSL_KEYFILE =3D '********************'
EMAIL_SUBJECT_PREFIX =3D '[Django] '
EMAIL_TIMEOUT =3D None
EMAIL_USE_LOCALTIME =3D False
EMAIL_USE_SSL =3D False
EMAIL_USE_TLS =3D False
FILE_UPLOAD_DIRECTORY_PERMISSIONS =3D None
FILE_UPLOAD_HANDLERS =3D
['django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE =3D 2621440
FILE_UPLOAD_PERMISSIONS =3D 420
FILE_UPLOAD_TEMP_DIR =3D None
FILTER_VHOST =3D False
FIRST_DAY_OF_WEEK =3D 0
FIXTURE_DIRS =3D []
FORCE_SCRIPT_NAME =3D None
FORMAT_MODULE_PATH =3D None
FORM_RENDERER =3D 'django.forms.renderers.DjangoTemplates'
HAYSTACK_CONNECTIONS =3D {'default': {'ENGINE':
'haystack.backends.whoosh_backend.WhooshEngine', 'PATH':
'/var/lib/mailman3/web/fulltext_index'}}
HOSTNAME =3D 'localhost.local'
IGNORABLE_404_URLS =3D []
INSTALLED_APPS =3D "('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',
'django_mailman3.lib.auth.fedora')"
INTERNAL_IPS =3D []
LANGUAGES =3D [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ar-dz',
'Algerian Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg',
'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'),
('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'),
('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el',
'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb',
'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar',
'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx',
'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve',
'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa',
'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'),
('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he',
'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper
Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia',
'Interlingua'), ('id', 'Indonesian'), ('ig', 'Igbo'), ('io', 'Ido'),
('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka',
'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'),
('kn', 'Kannada'), ('ko', 'Korean'), ('ky', 'Kyrgyz'), ('lb',
'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk',
'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr',
'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokm=C3=A5l'), ('ne',
'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os',
'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'),
('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru',
'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'),
('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'),
('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('tg', 'Tajik'),
('th', 'Thai'), ('tk', 'Turkmen'), ('tr', 'Turkish'), ('tt', 'Tatar'),
('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('uz', 'Uzbek'),
('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant',
'Traditional Chinese')]
LANGUAGES_BIDI =3D ['he', 'ar', 'ar-dz', 'fa', 'ur']
LANGUAGE_CODE =3D 'en-za'
LANGUAGE_COOKIE_AGE =3D None
LANGUAGE_COOKIE_DOMAIN =3D None
LANGUAGE_COOKIE_HTTPONLY =3D False
LANGUAGE_COOKIE_NAME =3D 'django_language'
LANGUAGE_COOKIE_PATH =3D '/'
LANGUAGE_COOKIE_SAMESITE =3D None
LANGUAGE_COOKIE_SECURE =3D False
LOCALE_PATHS =3D []
LOGGING =3D {'version': 1, 'disable_existing_loggers': False, 'filters':
{'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'}},
'handlers': {'mail_admins': {'level': 'ERROR', 'filters':
['require_debug_false'], 'class': 'django.utils.log.AdminEmailHandler'},
'file': {'level': 'INFO', 'class':
'logging.handlers.RotatingFileHandler', 'filename':
'/var/log/mailman3/web/mailman-web.log', 'formatter': 'verbose'},
'console': {'class': 'logging.StreamHandler', 'formatter': 'simple'}},
'loggers': {'django.request': {'handlers': ['mail_admins', 'file'],
'level': 'INFO', 'propagate': True}, 'django': {'handlers': ['file'],
'level': 'INFO', 'propagate': True}, 'hyperkitty': {'handlers':
['file'], 'level': 'INFO', 'propagate': True}, 'postorius': {'handlers':
['file'], 'level': 'INFO', 'propagate': True}}, 'formatters':
{'verbose': {'format': '%(levelname)s %(asctime)s %(process)d %(name)s
%(message)s'}, 'simple': {'format': '%(levelname)s %(message)s'}}}
LOGGING_CONFIG =3D 'logging.config.dictConfig'
LOGIN_REDIRECT_URL =3D 'list_index'
LOGIN_URL =3D 'account_login'
LOGOUT_REDIRECT_URL =3D None
LOGOUT_URL =3D 'account_logout'
MAILMAN_ARCHIVER_FROM =3D "('127.0.0.1', '::1')"
MAILMAN_ARCHIVER_KEY =3D '********************'
MAILMAN_REST_API_PASS =3D '********************'
MAILMAN_REST_API_URL =3D '********************'
MAILMAN_REST_API_USER =3D '********************'
MANAGERS =3D []
MEDIA_ROOT =3D ''
MEDIA_URL =3D '/'
MESSAGE_STORAGE =3D
'django.contrib.messages.storage.fallback.FallbackStorage'
MESSAGE_TAGS =3D {40: 'danger'}
MIDDLEWARE =3D "('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')"
MIGRATION_MODULES =3D {}
MONTH_DAY_FORMAT =3D 'F j'
NUMBER_GROUPING =3D 0
PASSWORD_HASHERS =3D '********************'
PASSWORD_RESET_TIMEOUT =3D '********************'
PASSWORD_RESET_TIMEOUT_DAYS =3D '********************'
POSTORIUS_TEMPLATE_BASE_URL =3D 'http://localhost/mailman3/'
PREPEND_WWW =3D False
Q_CLUSTER =3D {'timeout': 300, 'save_limit': 100, 'orm': 'default',
'poll': 5}
ROOT_URLCONF =3D 'urls'
SECRET_KEY =3D '********************'
SECURE_BROWSER_XSS_FILTER =3D False
SECURE_CONTENT_TYPE_NOSNIFF =3D True
SECURE_HSTS_INCLUDE_SUBDOMAINS =3D False
SECURE_HSTS_PRELOAD =3D False
SECURE_HSTS_SECONDS =3D 0
SECURE_PROXY_SSL_HEADER =3D None
SECURE_REDIRECT_EXEMPT =3D []
SECURE_REFERRER_POLICY =3D 'same-origin'
SECURE_SSL_HOST =3D None
SECURE_SSL_REDIRECT =3D False
SERVER_EMAIL =3D 'root(a)giesler.za.net'
SESSION_CACHE_ALIAS =3D 'default'
SESSION_COOKIE_AGE =3D 1209600
SESSION_COOKIE_DOMAIN =3D None
SESSION_COOKIE_HTTPONLY =3D True
SESSION_COOKIE_NAME =3D 'sessionid'
SESSION_COOKIE_PATH =3D '/'
SESSION_COOKIE_SAMESITE =3D 'Lax'
SESSION_COOKIE_SECURE =3D False
SESSION_ENGINE =3D 'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE =3D False
SESSION_FILE_PATH =3D None
SESSION_SAVE_EVERY_REQUEST =3D False
SESSION_SERIALIZER =3D
'django.contrib.sessions.serializers.PickleSerializer'
SETTINGS_MODULE =3D 'settings'
SHORT_DATETIME_FORMAT =3D 'm/d/Y P'
SHORT_DATE_FORMAT =3D 'm/d/Y'
SIGNING_BACKEND =3D 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS =3D []
SITE_ID =3D 1
SOCIALACCOUNT_PROVIDERS =3D {}
STATICFILES_DIRS =3D '()'
STATICFILES_FINDERS =3D
"('django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'compressor.finders.CompressorFinder')"
STATICFILES_STORAGE =3D
'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT =3D '/var/lib/mailman3/web/static'
STATIC_URL =3D '/mailman3/static/'
TEMPLATES =3D [{'BACKEND':
'django.template.backends.django.DjangoTemplates', 'DIRS': [],
'APP_DIRS': True, 'OPTIONS': {'context_processors':
['django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.template.context_processors.csrf',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django_mailman3.context_processors.common',
'hyperkitty.context_processors.common',
'postorius.context_processors.postorius']}}]
TEST_NON_SERIALIZED_APPS =3D []
TEST_RUNNER =3D 'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR =3D ','
TIME_FORMAT =3D 'P'
TIME_INPUT_FORMATS =3D ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE =3D 'Africa/Johannesburg'
USE_I18N =3D True
USE_L10N =3D True
USE_THOUSAND_SEPARATOR =3D False
USE_TZ =3D True
USE_X_FORWARDED_HOST =3D True
USE_X_FORWARDED_PORT =3D False
WSGI_APPLICATION =3D 'wsgi.application'
X_FRAME_OPTIONS =3D 'DENY'
YEAR_MONTH_FORMAT =3D 'F Y'
4 months
Re: Default moderation for new members
by Seth Seeger
On Thu, Nov 14, 2019, at 9:33 PM, Mark Sapiro wrote:
>
> > I’d like to have new members who join my lists have their posting ability set to moderated. (After their first legitimate post, they would set to be unmoderated.) I haven’t been able to find this, though I’m suspecting the language has changed.
>
>
> In Postorius set Settings -> Message Acceptance -> "Default action to
> take when a member posts to the list" to Hold for moderation.
>
> This is the action which will be taken for a post from a member whose
> individual Moderation is List Default as it is for all new members.
>
> Then when a post from that member is held, if you click the subject in
> the held messages view, a dialog opens showing the message content with
> Accept, Reject and Discard buttons and a dropdown list you can use to
> set that member's Moderation to Default processing.
>
> Default processing is generally what you want as it bypasses the
> moderation hold but still applies other tests such as header filters,
> administrivia, implicit-dest, max-recipients, max-size, etc.
So I've set my "Default action to take when a member posts to the list" to "hold". I'm just unclear on what I want to set each member's moderation action to... defer or accept? (I've been reading the docs, but I'm not clear on the difference.)
Thanks,
Seth
4 years, 11 months