Computers Do Not Always Do As Expected
At work I needed to send an email to all customers about an upcoming maintenance outage. We have a list server running
Mailman. I don’t pretend to know as much about Mailman as I would like, but I have not needed to dig deep into learning more.
Previously my sole use of the list server was sending the company newsletter and customer security notices. I have sent those email notifications many times. I use a specific email address for those notifications related to that sole purpose.
That assigned email address was inappropriate for the upcoming maintenance outage. I decided to use one of the generic company support email addresses.
I sent the email. Immediately I was greeted with more than 150 mailman approval requests.
Insert whichever four letter word seems adequate.
I knew of no immediate way to approve all of the hold requests. An hour later, slothing through the web browser interface, I finished approving the pending messages.
I'm not doing that again. Ever.
I needed to discover why I never had messages held for approval with the newsletter and security notices but was smacked down hard with the company support address.
Unlike the email address I use to send newsletters and security notices, the company support address was not in the list of owners and moderators. I sought to remedy that — incorrectly thinking that was the cause of my wasted hour in life.
After updating the company knowledge base with comments and warnings about this experience, I read in the same topic about some shell scripts I had written about a year and half ago. Because of a lack of need, I had forgotten about the scripts. I was pleased I had the knowledge base to remind me. Otherwise I might have wasted more time reinventing the wheel.
The scripts are wrappers to the
/usr/lib/mailman/bin/config_list command. The scripts are narrowly focused to modify the owners and moderators of every list. My bash history in the list server indicated I actually used the scripts. My memories soon returned how all of this transpired.
I reviewed the scripts and made some nominal revisions. Using the scripts I added the company support address and my normal work address to the list of owners and moderators for those 150 plus lists. I spot checked several mail lists and with each check verified the two new addresses were added as owner and moderator.
Now the additional email addresses were owners and moderators in all lists. I needed to test.
A few years ago when I first started using the list server I created a test list. The idea was to provide a way for me and other users to learn how to send messages before going live with customer messages.
I sent a new email to the test list using my normal work address, which now was an owner and moderator.
Immediately I was greeted with message approval emails. My grand plan had accomplished nothing.
Still confusing was why my newsletter and security notice email address never encountered these approval requests.
I had a hunch my problem was conceptual. I was missing something important. I searched online for clues. I read about four ways in which a message would be held for approval. One way is a subscriber configured to being “moderated.”
Hmm. Far deep in my mind a light bulb glowed ever so dimly.
I was unaware, but discovered that the company support address I used is a subscriber to every single list. This was done intentionally as a feedback mechanism to confirm that each list actually received the outgoing message.
Although I had configured the support address as an owner and moderator in each list, that address is flagged as requiring moderation. For good reason. All of these mail lists are for notifications only. None of the lists are intended for every day conversations. Every single subscriber is flagged for moderation.
Including my normal work address in my test list.
Despite my adding the address to the owners and moderators, that the address is also a subscriber meant the addition as owner and moderator has no impact. Irrelevant. All subscribers are flagged for moderation and that configuration overrules that a subscriber might be an owner and moderator.
I was in red herring territory. Because of my limited usage of the list server I had misled myself into thinking how the list messages work.
In the test list I disabled the moderated flag for my normal user account. I sent a test message from that account.
This time there were no message approval emails.
In all lists my newsletter and security list notice email address is an owner and moderator. Because of my limited usage I misled myself thinking that was the connection. Yet that address is not a member of any lists.
How then was I able to send messages with my newsletter and security list notice email address? I discovered my newsletter and security list notice email address is an approved non member. Understanding the
mod flag and discovering the non member list resolved the puzzle.
Because of that unique configuration I never needed to grapple with the moderated flag until my recent effort.
In all lists I removed the support email address from being an owner and moderator. That had been a wasted effort. To the approved non member addresses I added a different company email address that is not a member of any lists. The next time I need to send an email to all customers I’ll use that address.
The lesson is timeless and familiar to anybody experienced with computers, including myself. Computers always do as instructed. Often that outcome is not what our minds expect.