Can't post to my own list from HyperKitty

Hi Everyone,
I've recently installed Mailman3 and still testing it. I tried to reply to a topic on my own list while also being a superuser from HyperKitty, but I got this error message:
"This list is moderated, please subscribe to it before posting."
Then why I even see the archive of the private list? What might be wrong?
One thing that might confuse the system is that I added a secondary e-mail to my account. I thought it would allow me to post from any of my addresses, but it seems like it's not the case, looks like I can only subscribe with one of the addresses.
It also looks like HyperKitty has trouble matching up the addresses, as it lists 4 participants for the conversation, while 2 of them is my account, the other 2 is my test address. In reality, it should list 2 posters.
Best regards, MegaBrutal

On 4/5/25 13:00, megabrutal--- via Mailman-users wrote:
Hi Everyone,
I've recently installed Mailman3 and still testing it. I tried to reply to a topic on my own list while also being a superuser from HyperKitty, but I got this error message:
"This list is moderated, please subscribe to it before posting."
Is your login a member of the list?
Then why I even see the archive of the private list? What might be wrong?
You can see the private archive because you are logged in as a superuser.
One thing that might confuse the system is that I added a secondary e-mail to my account. I thought it would allow me to post from any of my addresses, but it seems like it's not the case, looks like I can only subscribe with one of the addresses.
How did you add that email? When you find yourself at https://example.com/mailman3/users and click Manage, do you see the expected addresses?
It also looks like HyperKitty has trouble matching up the addresses, as it lists 4 participants for the conversation, while 2 of them is my account, the other 2 is my test address. In reality, it should list 2 posters.
This is normal. Hyperkitty lists participants by address whether or not the addresses are linked to the same user.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Is your login a member of the list?
It's supposed to be – when I click „Manage subscription” in the very same thread, it reveals that I'm subscribed. This is why I can't subscribe again. Yet I still can't post from HyperKitty, however I can by e-mail.
However, when I checked the member list, I also found my address as a „nonmember” (besides being listed as „member” too). I removed myself as „nonmember”, but I still can't post to the list from HyperKitty.
It looks like if HyperKitty would try to use a different „token” when I try to post to the list than the one it shows when I manage my subscription.
How did you add that email? When you find yourself at https://example.com/mailman3/users and click Manage, do you see the expected addresses?
Yes! I see three of my addresses, actually.
This is normal. Hyperkitty lists participants by address whether or not the addresses are linked to the same user.
Yes, that's right, but I see the very same addresses listed twice, when in reality I only posted with 2 different addresses (of which the second is an entirely different account that by the way can post through HyperKitty).

On 4/6/25 14:40, via Mailman-users wrote:
Is your login a member of the list?
It's supposed to be – when I click „Manage subscription” in the very same thread, it reveals that I'm subscribed. This is why I can't subscribe again. Yet I still can't post from HyperKitty, however I can by e-mail.
However, when I checked the member list, I also found my address as a „nonmember” (besides being listed as „member” too). I removed myself as „nonmember”, but I still can't post to the list from HyperKitty.
What response do you get when you click reply
on a message? and what
when you click Start a new thread
. Do you get an error immediately or
do you get a composition dialog and only get an error when you click
Send
. What do the errors look like?
What do you see in Django's logs when you do this?
What HyperKitty version is this and is it installed from PyPI or is it a downstream package?
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Mark Sapiro <mark@msapiro.net> ezt írta (időpont: 2025. ápr. 7., H, 0:44):
On 4/6/25 14:40, via Mailman-users wrote:
Is your login a member of the list?
It's supposed to be – when I click „Manage subscription” in the very same thread, it reveals that I'm subscribed. This is why I can't subscribe again. Yet I still can't post from HyperKitty, however I can by e-mail.
However, when I checked the member list, I also found my address as a „nonmember” (besides being listed as „member” too). I removed myself as „nonmember”, but I still can't post to the list from HyperKitty.
What response do you get when you click
reply
on a message? and what when you clickStart a new thread
. Do you get an error immediately or do you get a composition dialog and only get an error when you clickSend
. What do the errors look like?
I get a composition dialog and can type my message, but when I click send, I get the error message: „This list is moderated, please subscribe to it before posting.”. Upon reply, a red rectangle appears to enclose this message. Upon trying to create a new thread, a white page loads which only contains this error message.
What do you see in Django's logs when you do this?
I don't know where to look – I don't see anything outstanding, only a few HTTP requests appear in mailman.log on mailman side and uwsgi.log on web side. None of these indicate any error.
What HyperKitty version is this and is it installed from PyPI or is it a
downstream package?
Version 1.3.12. It is installed through pip with the virtualenv method.

On 4/6/25 16:00, MegaBrutal via Mailman-users wrote:
Mark Sapiro <mark@msapiro.net> ezt írta (időpont: 2025. ápr. 7., H, 0:44):
What response do you get when you click
reply
on a message? and what when you clickStart a new thread
. Do you get an error immediately or do you get a composition dialog and only get an error when you clickSend
. What do the errors look like?I get a composition dialog and can type my message, but when I click send, I get the error message: „This list is moderated, please subscribe to it before posting.”. Upon reply, a red rectangle appears to enclose this message. Upon trying to create a new thread, a white page loads which only contains this error message.
In that composition dialog below the text box, it should say
This message will be sent as: user@example.com Link another address
If you aren't a current list member, sending this message will subscribe
you.
What the error is saying is it is checking if the sender is subscribed to the list and it finds that it is not subscribed. It wants to subscribe the sender but the list's subscription policy is "moderate" or "confirm_then_moderate" and it doesn't want to bypass moderation so it issues the error.
Is the address I have shown as user@example.com what you expect and it it a list member?
What if you click that address (it's a link) and chose another subscribed address.
What do you see in Django's logs when you do this?
I don't know where to look – I don't see anything outstanding, only a few HTTP requests appear in mailman.log on mailman side and uwsgi.log on web side. None of these indicate any error.
If you configured your settings.py per https://docs.mailman3.org/en/latest/install/virtualenv.html#initial-configur... your Django log which is where HyperKitty logs is at /opt/mailman/web/logs/mailmanweb.log. However, I don't think there will be anything useful there.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Mark Sapiro <mark@msapiro.net> ezt írta (időpont: 2025. ápr. 7., H, 2:05):
On 4/6/25 16:00, MegaBrutal via Mailman-users wrote:
I get a composition dialog and can type my message, but when I click send, I get the error message: „This list is moderated, please subscribe to it before posting.”. Upon reply, a red rectangle appears to enclose this message. Upon trying to create a new thread, a white page loads which only contains this error message.
In that composition dialog below the text box, it should say
This message will be sent as: user@example.com Link another address If you aren't a current list member, sending this message will subscribe you.
No, it doesn't say anything like that. It says if I'm not subscribed, sending the message would subscribe me – no address is shown there at all.
What do you see in Django's logs when you do this?
I don't know where to look – I don't see anything outstanding, only a few HTTP requests appear in mailman.log on mailman side and uwsgi.log on web side. None of these indicate any error.
If you configured your settings.py per
https://docs.mailman3.org/en/latest/install/virtualenv.html#initial-configur... your Django log which is where HyperKitty logs is at /opt/mailman/web/logs/mailmanweb.log. However, I don't think there will be anything useful there.
Yeah, I checked that, nothing useful.

Note that I also don't see my address in Mailman's HyperKitty. It's the same message, posting the message would subscribe me.
My HyperKitty is localized to Hungarian, what I actually see is: „Ha még nem tagja a listának, akkor ezen üzenet elküldése feliratkoztatja Önt.” – Is it possible that it's a translation error, i.e the wrong message is entered into the language file instead the one that I should see?

On 4/6/25 17:30, MegaBrutal via Mailman-users wrote:
No, it doesn't say anything like that. It says if I'm not subscribed, sending the message would subscribe me – no address is shown there at all.
Compare your hyperkitty/templates/hyperkitty/fragments/send_as.html to https://gitlab.com/mailman/hyperkitty/-/blob/master/hyperkitty/templates/hyp...
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Mark Sapiro <mark@msapiro.net> ezt írta (időpont: 2025. ápr. 7., H, 2:43):
On 4/6/25 17:30, MegaBrutal via Mailman-users wrote:
No, it doesn't say anything like that. It says if I'm not subscribed, sending the message would subscribe me – no address is shown there at all.
Compare your hyperkitty/templates/hyperkitty/fragments/send_as.html to
https://gitlab.com/mailman/hyperkitty/-/blob/master/hyperkitty/templates/hyp...
100% match: fa83f9809576572bf6d40b9ce322bd8f6a939ec80f08186be0d184d62bc4a42e *./venv/lib/python3.9/site-packages/hyperkitty/templates/hyperkitty/fragments/send_as.html fa83f9809576572bf6d40b9ce322bd8f6a939ec80f08186be0d184d62bc4a42e */tmp/send_as.html

On 4/6/25 17:42, Mark Sapiro wrote:
Compare your hyperkitty/templates/hyperkitty/fragments/send_as.html to https://gitlab.com/mailman/hyperkitty/-/blob/master/hyperkitty/templates/hyp...
Nevermind. Yours is probably OK and it's probably not a translation issue.
The This message will be sent as: user@example.com Link another address
line is contingent on
{% if form.fields.sender.choices|length > 1 %}
so it is saying there is only one choice for sender which I think means there is only one address associated with your login. That still doesn't explain why it thinks you're not a list member.
Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

On Mon, Apr 7, 2025, 03:04 Mark Sapiro <mark@msapiro.net> wrote:
so it is saying there is only one choice for sender which I think means there is only one address associated with your login. That still doesn't explain why it thinks you're not a list member.
Indeed, it doesn't explain. Are there any maintenance scripts or DB queries you recommend to run to get to see what's happening under the hood?
I've already tried mailman-web mailman_sync
, but it didn't do anything.

On 4/7/25 02:30, MegaBrutal via Mailman-users wrote:
On Mon, Apr 7, 2025, 03:04 Mark Sapiro <mark@msapiro.net> wrote:
so it is saying there is only one choice for sender which I think means there is only one address associated with your login. That still doesn't explain why it thinks you're not a list member.
Indeed, it doesn't explain. Are there any maintenance scripts or DB queries you recommend to run to get to see what's happening under the hood?
Not offhand.
What is the exact email address that you are logging on to the web UI with. Does it match exactly with the address of a list member or are there mixed-case differences? You might try an interaction like this:
mailman-web shell
Python 3.12.8 (main, Dec 21 2024, 12:52:28) [GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django_mailman3.lib.mailman import get_mailman_client
>>> client = get_mailman_client()
>>> list_id = 'test.example.com' # your actual list_id
>>> rest_list = client.get_list(list_id)
>>> email = 'user@example.com' # your actual email
>>> member = rest_list.get_member(email)
>>> member
This should print something like
<Member 'user@example.com' on 'test.example.com' with role 'member'>
This is exactly what HyperKitty is doing except in your case rest_list.get_member(email) is throwing a ValueError exception instead of returning the member.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Mark Sapiro <mark@msapiro.net> ezt írta (időpont: 2025. ápr. 7., H, 19:23):
What is the exact email address that you are logging on to the web UI with. Does it match exactly with the address of a list member or are there mixed-case differences? You might try an interaction like this:
mailman-web shell Python 3.12.8 (main, Dec 21 2024, 12:52:28) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. (InteractiveConsole) >>> from django_mailman3.lib.mailman import get_mailman_client >>> client = get_mailman_client() >>> list_id = 'test.example.com' # your actual list_id >>> rest_list = client.get_list(list_id) >>> email = 'user@example.com' # your actual email >>> member = rest_list.get_member(email) >>> member This should print something like <Member 'user@example.com' on 'test.example.com' with role 'member'>
This is exactly what HyperKitty is doing except in your case rest_list.get_member(email) is throwing a ValueError exception instead of returning the member.
I get: <Member 'megabrutal@gmail.com' on 'the.correct.list.address' with role 'member'>
So it's even weirder – however, I'm really not sure if this is the address HyperKitty is checking for, as I have 3 attached to my account! How may I know which one it's trying to use?

On 4/7/25 17:45, MegaBrutal via Mailman-users wrote:
So it's even weirder – however, I'm really not sure if this is the address HyperKitty is checking for, as I have 3 attached to my account! How may I know which one it's trying to use?
If you go to https://example.com/user-profile/ what Primary email and Other emails do you see? Do you see all three? And if you go to https://example.com/mailman3/users and click Manage for your address, do you see all 3 under Addresses?
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Mark Sapiro writes:
On 4/7/25 17:45, MegaBrutal via Mailman-users wrote:
So it's even weirder – however, I'm really not sure if this is the address HyperKitty is checking for, as I have 3 attached to my account! How may I know which one it's trying to use?
If you go to https://example.com/user-profile/ what Primary email and Other emails do you see? Do you see all three? And if you go to https://example.com/mailman3/users and click Manage for your address, do you see all 3 under Addresses?
Is it possible this is a weird new symptom of the "multiple entries for archiver" bug?
-- GNU Mailman consultant (installation, migration, customization) Sirus Open Source https://www.siriusopensource.com/ Software systems consulting in Europe, North America, and Japan

Mark Sapiro <mark@msapiro.net> ezt írta (időpont: 2025. ápr. 8., K, 4:06):
On 4/7/25 17:45, MegaBrutal via Mailman-users wrote:
So it's even weirder – however, I'm really not sure if this is the
address
HyperKitty is checking for, as I have 3 attached to my account! How may I know which one it's trying to use?
If you go to https://example.com/user-profile/ what Primary email and Other emails do you see? Do you see all three? And if you go to https://example.com/mailman3/users and click Manage for your address, do you see all 3 under Addresses?
Now I see a difference here!
User-profile shows my GMail address as primary and my own-domain address as secondary. The third address is not present, because I actually wanted to get rid of it, and it seems I succeeded in that.
Mailman3/users shows me with the address I wanted to get rid of. If I click Manage, I see all 3 addresses, with (for some reason) only the GMail one being verified (strange because I'm sure I verified the other as well). And here's something interesting: it shows me as a member with my GMail address under subscriptions, but shows me with my megabrutal.com domain under ownerships.
This might be the cause? Maybe HyperKitty wants to use my owner identity, which is not subscribed? Btw, is the owner not automatically considered as someone who can post to the list, they also need to be subscribed?

On 4/8/25 18:45, MegaBrutal via Mailman-users wrote:
User-profile shows my GMail address as primary and my own-domain address as secondary. The third address is not present, because I actually wanted to get rid of it, and it seems I succeeded in that.
This is your Django user which has the two addresses associated with it.
Mailman3/users shows me with the address I wanted to get rid of. If I click Manage, I see all 3 addresses, with (for some reason) only the GMail one being verified (strange because I'm sure I verified the other as well). And here's something interesting: it shows me as a member with my GMail address under subscriptions, but shows me with my megabrutal.com domain under ownerships.
These are your Mailman user and its addresses. They are not the same as
your Django user and its addresses. I don't think you can unlink an
address from your Mailman user in Postorius/HyperKitty. You can do that
in mailman shell
.
$ mailman shell
Use commit() to commit changes.
Use abort() to discard changes since the last commit.
Exit with ctrl+D does an implicit commit() but exit() does not.
>>> um = getUtility(IUserManager)
>>> usr = um.get_user('user@example.com') # any of the three addresses
>>> usr.addresses
prints a list of the 3 addresses. These are indexed as 0, 1, 2
>>> usr.preferred_address
prints the preferred address. If this is the one you want to delete, do
>>> usr.preferred_address = usr.addresses[n] # n is the index of one
you want
>>> del usr.addresses[n] # n is the index of the address you don't want
>>> usr.addresses.remove(n) # n is the index of the address you don't want
>>> commit()
It may not be clear from the above, but the idea is that you are deleting the address you don't want from usr.addresses, but before that if the one you don't want is the preferred_address, you need to set the preferred address to one of the others.
Also, del usr.addresses[n]
deletes the address record, but it is still
in the addresses list, thus the usr.addresses.remove(n)
.
This is untested, so before committing you may want to verify that
usr.addresses
now lists just the two addresses you want
This might be the cause? Maybe HyperKitty wants to use my owner identity, which is not subscribed? Btw, is the owner not automatically considered as someone who can post to the list, they also need to be subscribed?
An owner is not a list member and has no special posting privileges. If only members are allowed to post, the owner address must also be a member to be allowed to post.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Mark Sapiro <mark@msapiro.net> ezt írta (időpont: 2025. ápr. 9., Sze, 4:49):
$ mailman shell Use commit() to commit changes. Use abort() to discard changes since the last commit. Exit with ctrl+D does an implicit commit() but exit() does not. >>> um = getUtility(IUserManager) >>> usr = um.get_user('user@example.com') # any of the three addresses >>> usr.addresses prints a list of the 3 addresses. These are indexed as 0, 1, 2 >>> usr.preferred_address prints the preferred address. If this is the one you want to delete, do >>> usr.preferred_address = usr.addresses[n] # n is the index of one you want >>> del usr.addresses[n] # n is the index of the address you don't want >>> usr.addresses.remove(n) # n is the index of the address you don't want >>> commit()
Thanks, I successfully removed my unwanted address, so it now doesn't appear anywhere. (Looks like .remove(n) wasn't needed, it only gave an exception, and the settings were saved even without commit() – which is concerning because I would have assumed that I can cancel transactions by omitting it.)
However, the problem still persists: I can't post to the list from HyperKitty. In this regard, nothing has changed since my original report. I'm subscribed to the list with my primary, preferred address, which is the GMail address right now.

On 4/10/25 18:30, MegaBrutal via Mailman-users wrote:
Thanks, I successfully removed my unwanted address, so it now doesn't appear anywhere. (Looks like .remove(n) wasn't needed, it only gave an exception, and the settings were saved even without commit() – which is concerning because I would have assumed that I can cancel transactions by omitting it.)
As it says when you first invoke mailman shell
Use commit() to commit changes. Use abort() to discard changes since the last commit. Exit with ctrl+D does an implicit commit() but exit() does not.
However, the problem still persists: I can't post to the list from HyperKitty. In this regard, nothing has changed since my original report. I'm subscribed to the list with my primary, preferred address, which is the GMail address right now.
So your gmail.com address is a list member and your megabrutal.com address is only an owner. Is that correct? What if you add your megabrutal.com address as a list member - you can set delivery to disabled if you don't want it to get mail. Does that work?
How are you logging in to the web UI. I am concerned, because if you are logging in to an account that has both addresses linked, you should see the
This message will be sent as: user@example.com Link another address
line below the text box in the message dialog and if you click on user@example.com, you should be able to pick the other address.
Also, if you go to https://example.com/user-profile/ you should see a Primary email: and Other emails:. Do you see that?
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (4)
-
Mark Sapiro
-
MegaBrutal
-
megabrutal@gmail.com
-
Stephen J. Turnbull