On 12/9/24 17:35, Hirayama, Pat wrote:
Greetings,
I'm finding something a bit odd with our listserv.
Please see https://wiki.list.org/DOC/Mailman%20is%20not%20Listserv
Some of the members of some of the lists are reporting that they aren't
receiving messages sent to the list. When I review the member options for the
person in question, I see that Delivery Status shows nothing selected (i.e.
neither radio button is selected for Enabled or Disabled).
If you look in the MTA logs is mail being sent to them.
As far as the Delivery Status showing nothing, that means the member's
delivery_status is None. The ultimate delivery status is determined by
checking first the member's delivery_status, then the address's
delivery_status, then the user's delivery_status and finally Mailman's
global preferences. The first non-None value is what's used. See
https://gitlab.com/mailman/mailman/-/blob/master/src/mailman/model/member.py?ref_type=heads#L175-L188
Also see the various tabs at
https://www.example.com/mailman3/accounts/subscriptions/
If I select Enabled and Save, then delivery starts working for that user.
This should only happen if the users address or user based preference or
the global preference is Disabled.
There are other members of the list that have neither Enabled or Disabled
selected, but they are working. Which also seems to mean that when I run:
mailman members --nomail any listname@listserv
Nothing is returned.
Because all members ultimately have delivery enabled.
If anyone has any ideas about why this might be the case, or how I might
proactively identify other members who aren't receiving mail, that would be
appreciated. Alternately, any thoughts on how I might force all members to
Delivery Status Enabled, that would also be great.
It shouldn't be necessary to do that. For one of these members, e.g.
u...@example.com, that isn't getting mail, do this in mailman shell
```
mailman shell -l l...@example.com
Welcome to the GNU 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.
The variable 'm' is the l...@example.com mailing list
>>> from mailman.core.constants import system_preferences
>>> mbr = m.members.get_member('u...@example.com')
>>> print(mbr.delivery_status)
(this will print the ultimate delivery_status, for the components do)
>>> print(mbr.preferences.delivery_status)
(output)
>>> print(mbr.address.preferences.delivery_status)
(output)
>>> print(mbr.address.user.preferences.delivery_status)
(output)
>>> print(system_preferences.delivery_status)
(output)
>>>
```
The first of the (output) lines which is not None should be the same as
the output from print(mbr.delivery_status).
--
Mark Sapiro <m...@msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
_______________________________________________
Mailman-users mailing list -- mailman-users@mailman3.org
To unsubscribe send an email to mailman-users-le...@mailman3.org
https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
Archived at:
https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message/WIDAKY4ZVYTFECHOTXZUXTHTHBZMLBE5/
This message sent to arch...@mail-archive.com