All messages to a new list/domain shunted from "in" queue with no logged exceptions
OK -- my turn to ask a question...
I created a new domain and lists in my (functioning) Mailman 3 install.
Messages to these new lists are successfully delivered via LMTP to Mailman and then disappear. They are in the shunt queue, with a source queue of "in". There are no exceptions logged in my mailman.log.
An example from a qfile: { '_parsemsg': False, 'envsender': 'noreply@[domain].com', 'lang': 'en', 'listid': '[listname].[domain].com', 'original_size': 2654, 'received_time': datetime.datetime(2023, 11, 25, 14, 0, 6, 968185), 'rule_hits': [], 'rule_misses': [], 'to_list': True, 'version': 3, 'whichq': 'in'} Unshunting the message has no effect, and no logs are generated.
Any suggestions?
Thanks, --Jered
On Sat, Nov 25, 2023 at 5:35 PM Jered Floyd <jered@convivian.com> wrote:
OK -- my turn to ask a question...
I created a new domain and lists in my (functioning) Mailman 3 install.
Messages to these new lists are successfully delivered via LMTP to Mailman and then disappear. They are in the shunt queue, with a source queue of "in". There are no exceptions logged in my mailman.log.
An example from a qfile: { '_parsemsg': False, 'envsender': 'noreply@[domain].com', 'lang': 'en', 'listid': '[listname].[domain].com', 'original_size': 2654, 'received_time': datetime.datetime(2023, 11, 25, 14, 0, 6, 968185), 'rule_hits': [], 'rule_misses': [], 'to_list': True, 'version': 3, 'whichq': 'in'} Unshunting the message has no effect, and no logs are generated.
Any suggestions?
I recently migrated an MM3 ML to my functional server. Don't ask about the details now :-) From the Django Admin interface, I created the site and a mail domain. From Postorious I created the domain and selected the webhost. I then created the ML by giving the name and selecting the mailhost.
The only special thing I had to do was to configure my MTA to know that the new domain name is to be treated as local. I use Exim as the MTA. And yes, I had to restart the MTA after making the change. I don't think Postfix requires a restart like Exim does.
TBH, I think your problem would be something with the MTA whose logs you haven't mentioned you checked.
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-) [How to ask smart questions: http://www.catb.org/~esr/faqs/smart-questions.html]
On 11/25/23 6:35 AM, Jered Floyd wrote:
OK -- my turn to ask a question...
I created a new domain and lists in my (functioning) Mailman 3 install.
Messages to these new lists are successfully delivered via LMTP to Mailman and then disappear. They are in the shunt queue, with a source queue of "in". There are no exceptions logged in my mailman.log.
When Mailman shunts a message, it always attempts to log the exception to its error.log which by default is written to mailman.log. If you can't find these messages, either you aren't looking in the right place or Mailman doesn't have permission to write the log.
Unshunting the message has no effect, and no logs are generated.
Actually, the message is moved back to the in
queue and shunted again.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
When Mailman shunts a message, it always attempts to log the exception to its error.log which by default is written to mailman.log. If you can't find these messages, either you aren't looking in the right place or Mailman doesn't have permission to write the log.
I've had them appear in my mailman.log previously, but I'll increase the logging level (and try a different file name for good measure) just to check.
Actually, the message is moved back to the
in
queue and shunted again.
Fair; I was using "no effect" as shorthand for that the operation was idempotent. :-)
--Jered
I added this to my config:
[logging.error] level: DEBUG path: debug-errors.log
That got me the traceback (I'll investigate why they weren't logging earlier), which is a bit curious; looking into the code now:
Nov 25 15:49:26 2023 (90) Uncaught runner exception: 'NoneType' object is not iterable Nov 25 15:49:26 2023 (90) Traceback (most recent call last): File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/core/runner.py", line 179, in _one_iteration self._process_one_file(msg, msgdata) File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/core/runner.py", line 272, in _process_one_file keepqueued = self._dispose(mlist, msg, msgdata) File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/runners/incoming.py", line 80, in _dispose process(mlist, msg, msgdata, start_chain) File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/core/chains.py", line 57, in process if link.rule.check(mlist, msg, msgdata): File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/rules/dmarc.py", line 324, in check if maybe_mitigate(mlist, address): File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/rules/dmarc.py", line 284, in maybe_mitigate for address in mlist.dmarc_addresses: TypeError: 'NoneType' object is not iterable Nov 25 15:49:26 2023 (90) SHUNTING: 1700927366.81852+6d2f84a8eb97e64c3ee93662f1744a2a756c7ca9 [...]
--Jered
----- On Nov 25, 2023, at 10:44 AM, Jered Floyd jered@convivian.com wrote:
When Mailman shunts a message, it always attempts to log the exception to its error.log which by default is written to mailman.log. If you can't find these messages, either you aren't looking in the right place or Mailman doesn't have permission to write the log.
I've had them appear in my mailman.log previously, but I'll increase the logging level (and try a different file name for good measure) just to check.
Actually, the message is moved back to the
in
queue and shunted again.Fair; I was using "no effect" as shorthand for that the operation was idempotent. :-)
--Jered
Mailman-users mailing list -- mailman-users@mailman3.org To unsubscribe send an email to mailman-users-leave@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/...
This message sent to jered@convivian.com
I was able to resolve this by going to the "List Settings"->"DMARC Mitigations" config page for the affected list, making no changes, and then clicking "Save Changes".
This suggests that new lists in 3.3.9 may be getting mlist.dmarc_addresses set to None rather than an empty list (which seems to be expected).
--Jered
----- On Nov 25, 2023, at 10:53 AM, Jered Floyd jered@convivian.com wrote:
I added this to my config:
[logging.error] level: DEBUG path: debug-errors.log
That got me the traceback (I'll investigate why they weren't logging earlier), which is a bit curious; looking into the code now:
Nov 25 15:49:26 2023 (90) Uncaught runner exception: 'NoneType' object is not iterable Nov 25 15:49:26 2023 (90) Traceback (most recent call last): File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/core/runner.py", line 179, in _one_iteration self._process_one_file(msg, msgdata) File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/core/runner.py", line 272, in _process_one_file keepqueued = self._dispose(mlist, msg, msgdata) File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/runners/incoming.py", line 80, in _dispose process(mlist, msg, msgdata, start_chain) File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/core/chains.py", line 57, in process if link.rule.check(mlist, msg, msgdata): File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/rules/dmarc.py", line 324, in check if maybe_mitigate(mlist, address): File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/rules/dmarc.py", line 284, in maybe_mitigate for address in mlist.dmarc_addresses: TypeError: 'NoneType' object is not iterable Nov 25 15:49:26 2023 (90) SHUNTING: 1700927366.81852+6d2f84a8eb97e64c3ee93662f1744a2a756c7ca9 [...]
--Jered
----- On Nov 25, 2023, at 10:44 AM, Jered Floyd jered@convivian.com wrote:
When Mailman shunts a message, it always attempts to log the exception to its error.log which by default is written to mailman.log. If you can't find these messages, either you aren't looking in the right place or Mailman doesn't have permission to write the log.
I've had them appear in my mailman.log previously, but I'll increase the logging level (and try a different file name for good measure) just to check.
Actually, the message is moved back to the
in
queue and shunted again.Fair; I was using "no effect" as shorthand for that the operation was idempotent. :-)
--Jered
Mailman-users mailing list -- mailman-users@mailman3.org To unsubscribe send an email to mailman-users-leave@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/...
This message sent to jered@convivian.com
Mailman-users mailing list -- mailman-users@mailman3.org To unsubscribe send an email to mailman-users-leave@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/...
This message sent to jered@convivian.com
On 11/25/23 8:01 AM, Jered Floyd wrote:
I was able to resolve this by going to the "List Settings"->"DMARC Mitigations" config page for the affected list, making no changes, and then clicking "Save Changes".
This suggests that new lists in 3.3.9 may be getting mlist.dmarc_addresses set to None rather than an empty list (which seems to be expected).
You beat me to it, but your analysis is correct. I'll need to fix that.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On 11/25/23 8:01 AM, Jered Floyd wrote:
This suggests that new lists in 3.3.9 may be getting mlist.dmarc_addresses set to None rather than an empty list (which seems to be expected).
How did you create this list?
I have tried and when I create a new list it has mlist.dmarc_addresses set to an empty list.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Via mailman-web. I’ll try to reproduce the behavior tomorrow, once I am home from another episode of turkey overconsumption.
I confess that I am not a python expert - once I create a new list, what’s the easiest way to inspect the object state?
--Jered
On Nov 25, 2023, at 18:28, Mark Sapiro <mark@msapiro.net> wrote:
On 11/25/23 8:01 AM, Jered Floyd wrote:
This suggests that new lists in 3.3.9 may be getting mlist.dmarc_addresses set to None rather than an empty list (which seems to be expected).
How did you create this list?
I have tried and when I create a new list it has mlist.dmarc_addresses set to an empty list.
-- Mark Sapiro <mark@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-leave@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/...
This message sent to jered@convivian.com
On 11/25/23 16:25, Jered Floyd wrote:
Via mailman-web. I’ll try to reproduce the behavior tomorrow, once I am home from another episode of turkey overconsumption.
I confess that I am not a python expert - once I create a new list, what’s the easiest way to inspect the object state?
$ mailman shell -l list@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 list@example.com mailing list
>>> print(m.dmarc_addresses)
[]
>>>
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
This was entirely my fault. *facepalm*
I replace styles/base.py when I do my container builds, so that I can override list defaults (personalization, subscription_policy, and dmarc_mitigate_action). I failed to notice the added dmarc_attributes attribute added to apply()
--Jered
----- On Nov 25, 2023, at 7:49 PM, Mark Sapiro mark@msapiro.net wrote:
On 11/25/23 16:25, Jered Floyd wrote:
Via mailman-web. I’ll try to reproduce the behavior tomorrow, once I am home from another episode of turkey overconsumption.
I confess that I am not a python expert - once I create a new list, what’s the easiest way to inspect the object state?
$ mailman shell -l list@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 list@example.com mailing list >>> print(m.dmarc_addresses) [] >>>
-- Mark Sapiro <mark@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-leave@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/...
This message sent to jered@convivian.com
On 11/26/23 11:41, Jered Floyd wrote:
This was entirely my fault. *facepalm*
I replace styles/base.py when I do my container builds, so that I can override list defaults (personalization, subscription_policy, and dmarc_mitigate_action). I failed to notice the added dmarc_attributes attribute added to apply()
Thanks for letting us know.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On 11/25/23 7:53 AM, Jered Floyd wrote:
File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/rules/dmarc.py", line 284, in maybe_mitigate for address in mlist.dmarc_addresses: TypeError: 'NoneType' object is not iterable Nov 25 15:49:26 2023 (90) SHUNTING: 1700927366.81852+6d2f84a8eb97e64c3ee93662f1744a2a756c7ca9 [...]
This may be a bug. I need to investigate. Meanwhile, go to the list's settings in Postorius and under DMARC Mitigations, put something in DMARC Addresses, save it and then remove it and save again.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (3)
-
Jered Floyd
-
Mark Sapiro
-
Odhiambo Washington