
On 2025-07-31 03:31, Mark Sapiro wrote:
Anything is possible, it's only code ;)
You could make your own user_adapter.py which is modified like
and set that as the ACCOUNT_ADAPTER. This depends on whatever is proxying to Django setting the appropriate HTTP_HOST header.
Thank you Mark. It's so close. After wrangling your solution a bit it's working a treat on my test server (wrangled solution below) .
When I add it to the production server (same OS, MM installation, etc) I'm getting a "Bad gateway" error page and the log reports ...
... raise self.model.DoesNotExist( django.contrib.sites.models.Site.DoesNotExist: Site matching query does not exist.
I cannot for the life of me get my head around that. I suspect it's something to do with what you said -- "whatever is proxying to Django setting the appropriate HTTP_HOST header." -- which I don't understand.
Any additional advice gratefully received.
================================== /opt/mailman/venv/lib/python3.11/site-packages/django_mailman3/views/user_adapter.py
COMMENT OUT THESE 2 LINES...
# def is_open_for_signup(self, req): # return False
REPLACE WITH THE FOLLOWING...
def is_open_for_signup(self, req):
if req.META['HTTP_HOST'] == 'lists.mydomain.com':
return False
else:
return True
================================== /etc/mailman3/settings.py
Append the following ...
ACCOUNT_ADAPTER = 'django_mailman3.views.user_adapter.DisableSignupAdapter'