![](https://secure.gravatar.com/avatar/0f421df3b117df4c7e29add77a11ff1c.jpg?s=120&d=mm&r=g)
Hi All,
I am a list administrator for a number of mailing lists hosted on lists.sonic.net. The folks at sonic are great, except they really don't fully understand Mailman, so I am hoping to get a few of my issues resolved here.
All my lists are pretty standard (aka, I don't need any help for them), except for one. One of the lists was recently migrated from Autoshare (finally got to say goodbye to Mac OS 9, the only OS Autoshare runs on). There are certain features of Autoshare that are awesome, but I cannot figure out how to configure Mailman to support these features.
In a nutshell, this list is a combination announcement list and tech support list, and the list contributions are modified by the list administrator on a regular basis (either to remove excessive text from previous posts, add signatures, remove profane or rude language, and/or remove sensitive data that is commonly posted in error on our list). The way it worked on Autoshare, and they way I want it to work on Mailman, is like this:
All posts go directly to the moderator (not the mailman "list moderator", because that puts a bunch of extraneous pre-text in the email that I don't want to have to wade through on every post). Upon acceptance of the post, modified or not, I then redirect the post to the actual mailing list. Redirect means the "TO:" header remains in tact as the original poster, and the moderator email is the "envelope" sender. Autoshare recognized the envelope sender and passed the post through to the list immediately.
I have been unable to recreate this configuration on Mailman, but I'm hoping that there is a way to do it. I have successfully set up the list such that the Reply-To goes to the moderator. This sends the post, in tact, with no extraneous pre-text, directly to the moderator. The problems I'm having are as follows:
The reply-to does not seem to work for digest members. Digest members are reporting that the reply-to of the digests goes to the list (which then creates the moderator email text before sending to the moderator). How do I get the reply-to for digest members to work the same as non-digest?
For members whose email clients use buttons based upon email headers - specifically, list-id - they click on Reply to List and it goes to the wrong place. I would either like to change the list-id value, or remove it entirely. Is there a way to do that?
When I redirect the modified/approved post to the list, I want the TO field to maintain the original poster's email, and the moderator's email will be the envelope sender. I would like the Mailman list to recognize the envelope sender to authorize immediate distribution of the post. Currently, however, it holds the post for moderator approval. Is there a way to do this?
Lastly, the web archives created by Autoshare automatically created clickable HTML links for all HTML URL's in posts. The Mailman archives are all unclickable plain text URL's. Note, I want the list to remain a plain text list, as it was on Autoshare, but I'd still like Mailman to build HTML code to make the links active in the web archive. Is there a way to do this?
I really appreciate any help in this matter.
Bill C.
![](https://secure.gravatar.com/avatar/334b870d5b26878a79b2dc4cfcc500bc.jpg?s=120&d=mm&r=g)
andale@excaliburworld.com writes:
This can be done by setting up aliases as follows (pseudo-syntax, your mileage will vary):
foo-list: moderator@example.com foo-list-moderated: | mailman post foo-list
That requires modifying the mailman aliases in the MTA manually, though. And the moderator needs to know to send moderated posts to foo-list-moderated, and will need software capable of editing and resending without changing headers that the moderator doesn't want changed.
Autoshare recognized the envelope sender and passed the post through to the list immediately.
Recent mailman recognizes envelope sender for the "authorized posters". You might want to screen out cases where the From spoofs the moderator using the spam filters because the test is "from OR sender OR envelope sender IS IN authorized-senders".
This sends the post, in tact, with no extraneous pre-text, directly to the moderator.
Ah, so the moderator already has an MUA that is capable of doing what is needed. That's a relief. :-)
I'll leave that to someone more familiar with the code.
IMO it is preferable to reroute the workflow using aliases as described above. That will fix your digest problem too.
That said, the option you need is on the admin page, near the bottom. Try disabling inclusion of the "List-Post" header. If that doesn't work, disable inclusion of the "RFC 2369" headers, too.
Yes, this is possible. There's a FAQ on this. Somebody else will give details shortly, I suppose.
A second option here is to use the Approved: header or pseudo-header. Many MUAs can be set to add these automatically, YMMV.
I don't think Pipermail (the default archiver bundled with Mailman) can do it at all, but it is possible to use external archivers such as MHonArc. This requires substantial effort and cooperation from the list host admins, though. There are also third-party archiving services. Again, see the FAQ.
Sorry not to be of more help directly, but hope it is of some help to know that there is a source of information....
![](https://secure.gravatar.com/avatar/0f421df3b117df4c7e29add77a11ff1c.jpg?s=120&d=mm&r=g)
At 1:55 PM +0900 on 8/12/09, Stephen J. Turnbull wrote:
This went over my head. What does "MTA manually" mean? Does that mean it cannot be done with the web interface? Do I need to contact my ISP, or is there something I can do using my shell account access?
My ISP is using Mailman 2.1.11. Is that the latest? I'm guessing no, since it is currently NOT recognizing the envelope sender. This sounds like one that I'll need to contact my ISP for.
It seems that if you change the reply-to to an explicit address, that both digest and non-digest members should have the same reply-to. Is this an oversight? Or perhaps this is something fixed in the latest version of Mailman?
Hoping for some clarification on that, and I'd love to give it a try.
I did both. It appears to have fixed the problem (not sure which action, if not both, resolved it).
Above you mentioned that it's already supported in the latest Mailman. Is the solution you recommend here something that will work in the version 2.1.11? In either case, which FAQ discusses it? I've seen a few, but have yet to find something about envelope sender.
A second option here is to use the Approved: header or pseudo-header. Many MUAs can be set to add these automatically, YMMV.
Could you elaborate on this? I don't know how to use Approved: header or pseudo-header (not sure what that means). I also don't know what MUA stands for (sorry if I sound like a newbie... I guess I am).
Interestingly, the archives for *this* mailing list appears to have some decent formatted archives. Does this list use MHonArc?
Thanks for your response. I really appreciate any further information I can get. I'd like to accomplish as much as I can before going back to sonic.net.
Bill
![](https://secure.gravatar.com/avatar/334b870d5b26878a79b2dc4cfcc500bc.jpg?s=120&d=mm&r=g)
Bill Catambay writes:
Working with the mail transfer agent (MTA == Postfix IIRC) cannot be done through Mailman's web interface. [If you have something like cPanel it might be possible.] To change aliases in the MTA you would need not just shell access, but root access. You may need help from your ISP in that case.
No, it is not the latest, 2.1.12 is.
Unfortunately, it looks like things don't work as you need them to, definitely not in 2.1.11, and probably not in 2.1.12. As far as I can tell from the 2.1.11 code, the envelope sender *is* recognized in the moderation module, but only as one of several possible candidates for the *author* of the message. And the From header will be preferred to envelope sender for that.
Among other things, I don't think Mailman knows who the moderator(s) is; anybody with the moderation password is a moderator. I can think of several approaches to make this work, but the only non-invasive one (ie, it restricts all changes in Mailman behavior to your lists) would require ISP intervention every time you want to change the moderator's address. Otherwise, there would need to be changes to some web templates and so on. I wouldn't like that if I were them.
It seems that if you change the reply-to to an explicit address, that both digest and non-digest members should have the same reply-to.
Sounds plausible but these things are complex. As I say, somebody more familiar with the detail needs to answer this one.
Progress ....
MUA is "mail user agent", also called a "client". Most people think of it as "my mail program", but on this list that could mean the MUA, the MTA, or mailman itself, so ....
Most MUAs have a fixed set of headers which you fill in as a form in a GUI: From, To, Cc, Subject. A powerful MUA will allow you to add arbitrary headers. If this is possible, then you add a header like this:
Approved: <password>
A pseudo-header looks exactly the same, but it is placed as the very first line of the body, before any formatted text. Not all MUAs can do this, either, unfortunately, if they are forwarding a formatted (eg, HTML) mail. In either case, Mailman automatically removes the Approved header.
A third approach involves putting the approval in the subject. There was discussion of "Approved in the subject header" earlier this week or last week, check the archives. Mark provided a patch (that would definitely need intervention by your ISP). I think Mark's patch was somewhat invasive (ie, it would affect other people's lists in the same way, which your ISP might or might not like). There's also a method using a "Handler" that should work, and could be installed and configured without affecting anyone else's lists. It would require intervention by the ISP both to install the handler and configure it for you.
Both the pseudo-header and Approved in Subject are somewhat unreliable and insecure IMO, but the advantage to Approved in Subject is that all MUAs can do this. "Moderator is Sender" is of course the easiest.
All of these approaches suffer from the possibility that your moderation password could theoretically be "sniffed" on the net unless your moderator uses an encrypted channel to send mail to the list host. The "Moderator is Enveloper Sender" approach is also vulnerable, since it is easy (if you have the right tools such as a Linux workstation, or certain "unofficial" MUAs) to spoof the envelope sender. I don't want to alarm you, just to give you some information you need to compare these approaches.
Apparently I was totally wrong. I thought Pipermail only did that for its own links (next message, etc), but it does seem to do it for all URLs. In particular, this list does use pipermail.
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
Stephen J. Turnbull wrote:
It's somewhat confusing and complicated, but it hasn't changed in a long time. The way it works is that a post is considered to be from a member if a member address is found in any of (by default, see SENDER_HEADERS) the From: header, the envelope sender, the Reply-To: header if any and the Sender: header if any.
If this test determines the post is from a member, the member's 'moderate' flag is checked and the post is handled accordingly. If more than one member address is in the above set, it's the first found in the above order that is used. This decision as to which moderate flag to use is the only place where the ordering of the search for a member address is significant
If the post is not from a member, then a possibly different address is checked against *_these_nonmembers. This address is the first address found in a search that depends on the setting of USE_ENVELOPE_SENDER. If USE_ENVELOPE_SENDER is false (the default) the search order is From: header, Sender: header, envelope sender. If USE_ENVELOPE_SENDER is true, the search order is Sender: header, From: header, envelope sender. Thus, the name USE_ENVELOPE_SENDER is really a misnomer, but note that this only possibly affects the address used for *_these_nonmembers checks.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/334b870d5b26878a79b2dc4cfcc500bc.jpg?s=120&d=mm&r=g)
Mark Sapiro writes:
Unfortunately, it looks like things don't work as you need them to,
NB. "As he needs them to" means that the *list moderator* be recognized as the *envelope sender*, and the message be approved in that case.
It's somewhat confusing and complicated, but it hasn't changed in a long time.
And won't work for the OP, since envelope sender is always lowest priority in the checks.
Just to summarize, since the OP characterizes himself as a "newbie". Bottom line, a new feature is needed for his use case.
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
Stephen J. Turnbull wrote:
I don't think so. Moderate.py calls the Message.get_senders() method to get *all* the addresses from the From: header, envelope sender, Reply-To: header and Sender: header. If any of those addresses is a member, the post is from a member.
It is only later, after we decide it's a non-member post that Moderate calls Message.get_sender() to get the single, first address in From: and Sender: headers and the envelope sender to match against *_these_nonmembers.
Thus, if the list moderator's address is the envelope sender and is a list member, the post is a member post.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/334b870d5b26878a79b2dc4cfcc500bc.jpg?s=120&d=mm&r=g)
Mark Sapiro writes:
Stephen J. Turnbull wrote:
Bottom line, a new feature is needed for his use case.
The point is that the OP's use-case is to make a decision based on envelope sender == moderator, while preserving originator headers. A member check is not what he wants.
![](https://secure.gravatar.com/avatar/0f421df3b117df4c7e29add77a11ff1c.jpg?s=120&d=mm&r=g)
At 2:12 PM +0900 on 8/14/09, Stephen J. Turnbull wrote:
Correct. The From: header should always be a member of the list (but a member whose "mod" flag is turned off). The envelope sender would be me, the moderator.
I have noticed that about 10 to 20 percent of posts I redirect to the list (with me as the envelope sender) are actually getting posted without me having to approve them. I'm not sure why that is.
The majority, however, are being held for approval.
What I'm really looking for is something to tell Mailman to look at envelope sender first, and if it's a privileged member (aka, "mod" is true), immediately deliver.
SIDE NOTE: I've also noticed a few posts recently (total of 3) that triggered an admin email asking for approval, but when I went to the web admin interface, there was nothing in the pending queue. I actually had to send the posts a 2nd time. This is a completely different issue, of course, but I thought I'd mention it in case it's a known issue.
Bill
PS: Yes, I realize that those who understand their email clients and understand how the list works would be able to spoof the envelope sender if they wanted to, but this is not a realistic concern. In 15 years of moderating this list, no one has ever done that.
![](https://secure.gravatar.com/avatar/334b870d5b26878a79b2dc4cfcc500bc.jpg?s=120&d=mm&r=g)
Bill Catambay writes:
Aha. The mod flag means that the member's posts will be held for moderation, *not* that the member *is* a moderator. Moderators are identified by having the list moderator password, and in Mailman 2.1, that is the only identification of moderators. They need not be members of the lists they moderate.
The list *owner* is known to Mailman by email address. If the list owner is also the only moderator, it would be easy to make this work (but does require additional code not in Mailman 2.1.11 or 2.1.12 AFAICS).
[I don't understand the random moderation behavior, so I'm going to skip it for now.]
This a plausible design, but it simply isn't the way Mailman looks at this. The idea of the mod bit in Mailman is that mostly the members should post without hindrance, but if somebody gets too obstreperous, we flip the mod bit to slow them down for a few days. (There's also a mechanism to flip everybody on, or off, at once; this allows configuring announce lists, or doing "emergency moderation" in case of a flame war or somebody's contact list getting scarfed by a spammer.)
However, as long as "moderate everybody but me" is an acceptable usage for you, it would be possible to abuse the mod bit this way, with a little extra code. (I say "abuse" because (1) it will confuse the heck out of experienced Mailman admins trying to help you in the future, and (2) because it may conflict with your attempts to use other Mailman features in the future. (2) isn't all that likely, but we *are* talking about something outside of the design parameters.)
IMO, it would be better to use list owner in this role if that would work for you.
The real worry is somebody getting "owned", and the rootkit sending their contact list to a spammer. Not that this should worry you very much, but you should be prepared to slam on the brakes. Here, to protect your members, you just moderate yourself, then call mailman-users to learn how to handle huge moderation queues, and reconfigure to weed out the spam before it gets to Mailman. :-)
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
Stephen J. Turnbull wrote:
The above is not quite correct. Each list has two attributes, owner and moderator, which are lists of email addresses, but these have nothing to do with mail approval or roles in Mailman. See the FAQs at <http://wiki.list.org/x/5YA9> and <http://wiki.list.org/x/WYA9>. Basically, those owner and moderator addresses determine who receives various notices. Owner and moderator roles are determined by knowledge of the respective passwords.
You can do this but it will require the cooperation of the Mailman host. The cooperation part is to set
SENDER_HEADERS = (None, 'from', 'reply-to', 'sender')
in mm_cfg.py. Putting None first will check the envelope sender before the From: header.
Then unmoderate the authorized envelope sender(s) and moderate everyone else.
Note that Stephen's other remarks are valid. Also, I apologize for being slow to understand the actual requirement. I confess, I only skimmed the OP and Stephen's original reply, and then got somewhat lost in the details in the follow-ups.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/70dbe67e0eb08a96d695871292b27eef.jpg?s=120&d=mm&r=g)
<<I confess, I only skimmed the OP and Stephen's original reply, and then got somewhat lost in the details in the follow-ups.>>
Mark, Stephen & Bill;
I have a serious feeling that Bill's situation is 'close' to a cPanel version of MM.
I poked around sonic.net and do NOT see anywhere either cPanel NOR MM even mentioned !?!?
In all my 'provider' searching over the past couple of years one or the other or both is ALWAY 'mentioned' or not.-:).
So IMHO Bill needs to tell The List not only the version of MM BUT the
source of
install so that everybody is "playing with a FULL deck of cards".
Right-:) ???
Ed Stuck behind cPanel - LOL
![](https://secure.gravatar.com/avatar/0f421df3b117df4c7e29add77a11ff1c.jpg?s=120&d=mm&r=g)
At 12:21 PM -0500 on 8/15/09, Shop at \" Just Brits \" wrote:
I don't remember if I answered this question before or not, but just to cover all the bases:
lists.sonic.net is running Mailman v2.1.11
An overview of Mailman on this server can be found at: http://lists.sonic.net/mailman/listinfo
I'm also posting a note to mailman@lists.sonic.net to find out about the source.
Bill
![](https://secure.gravatar.com/avatar/0f421df3b117df4c7e29add77a11ff1c.jpg?s=120&d=mm&r=g)
At 6:54 AM -0700 on 8/14/09, Mark Sapiro wrote:
This suggestion (posted several months ago) would solve my issue of having to approve posts that I've already sent to the list (with myself as the envelope sender). Of course, if Steve's solution works (and is what I think it is), then it would resolve both of my issues (6 step approval process, and reply-to issue on digests). But as a fallback, this solution sounds like it would still change my 6 step process down to 3 steps. Just for clarity, who exactly would perform the above change? My ISP who hosts Mailman? Can you give me the technically correct language I could use to suggest it to them? (i.e., so that they know exactly what to do)
Thanks, Bill
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
Bill Catambay wrote:
This needs to be done by someone at the ISP who has the ability to write to the mailman configuration file which by default is at /usr/local/mailman/Mailman/mm_cfg.py, but may be elsewhere in their installation.
They would just add the one line
SENDER_HEADERS = (None, 'from', 'reply-to', 'sender')
to the end of the file. This will change the order of membership tests. Instead of checking for membership and moderated in the default From:, (envelope sender), Reply-To:, Sender: order, it will check in the order (envelope sender), From:, Reply-To:, Sender:.
From the host's point of view, this is a global change that affects every list, so they may be understandably reluctant to do it.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/334b870d5b26878a79b2dc4cfcc500bc.jpg?s=120&d=mm&r=g)
Mark Sapiro writes:
They would just add the one line
SENDER_HEADERS = (None, 'from', 'reply-to', 'sender')
An alternative to this would be a custom pipeline with the places that checks SENDER_HEADERS altered to use that. You might also want to grep for some appropriate host's trace headers to avoid replay attacks.
Sorry, I don't have time to go into detail, but I think that in combination with changing the list-post address to go directly to the moderator should do what Bill wants to happen. It has the big advantage from the host's point of view that it only affects Bill's list; the small disadvantage is a small amount of work installing the change.
It's not a ton of work though; the first time I did this it took 45 minutes from deciding to do it to a working installation. I think the host should be able to do this in less than 10 minutes, as long as Bill is willing to accept the slight risk that the ML might go down until the host has time to look at it again.
![](https://secure.gravatar.com/avatar/0f421df3b117df4c7e29add77a11ff1c.jpg?s=120&d=mm&r=g)
At 1:41 AM +0900 on 8/14/09, Stephen J. Turnbull wrote:
It does sound like something requiring my ISP involvement. I'm sure they won't mind if it's a one-time setup and they understand what I'm requesting. The thing is that I don't really understand what I'd be requesting, or why.
foo-list is the name of my mailing list, and moderator@example.com would be the moderator's email (aka, my email address). I'm asking them to create an alias for the list name? Or should that be the full list email address (e.g., foo-list@lists.sonic.net) ?
What is "foo-list-moderated"? I'm guessing "| mailman post foo-list" is some command line syntax that any server running Mailman would understand. I can pretend to understand that (since my ISP tech support will probably understand it).
This suggestion was in response to my leading paragraph, not any of my 4 issues,so I'm not really sure what this buys if I were to get my ISP to do it. Was this a suggestion for how to do the redirection? (in which case, I'm already good, as I already use my email client for redirection)
Maybe there was an assumption made that people generally don't click reply to a digest (since the subject would be wrong, and the quoted text would be excessive). It does happen. For some, it's easier to click reply and change the subject and then trim the quoted text (there are a few times when they forget to do the subject change and/or trimming, but those would be rejected anyway).
I tried this once, and I felt really really uncomfortable with it. I kept looking at the To: to make sure I wasn't sending it to someone. The admin email says to click reply, but when I click reply, it addresses it to the list owner (e.g., foo-list-owner@lists.sonic.net), so it just comes back to me. I'm not sure where it was supposed to go, but I'm also not sure I would feel comfortable with this method anyway. I can picture me doing this some night when I'm running on 2 brain cells, and sending the list password to some random email.
Okay, this is bizarre. I just went to our web archives, and they now have the formatted "previous" and "next" links, as well as HTML links within the body. I swear the other day I was staring at plain text. The footer has changed to "This archive was generated by Pipermail 0.09 (Mailman edition)." I looked at the footer before, and it was completely different (no mention of Pipermail).
[looks again]
Okay, I think I know what happened. I clicked on the "Gzip'd Text" link, and when you do that, it shows the archives in plain text. It seems kind of obvious now. I guess that was one of those nights I was running on minimum brain cells.
Bill
![](https://secure.gravatar.com/avatar/334b870d5b26878a79b2dc4cfcc500bc.jpg?s=120&d=mm&r=g)
Bill Catambay writes:
Yes, it is aliasing the list to you. Everything gets forwarded to you, you make your decisions, and send it on to the list. If done this way, (almost) all the Mailman filtering can be turned off.
"foo-list-moderated" is where you send the mail once you've approved it. The best way would be if you can use an authenticated link, and nobody can send to that address without authentication. But that's somewhat complex for the ISP to support. "Security through obscurity" should work OK, though.
I don't understand. To what address do members send their posts?
Could be, but the digest feature is like 15 years old now.
Gotta run, but I think we're converging to a plan.
Steve
![](https://secure.gravatar.com/avatar/334b870d5b26878a79b2dc4cfcc500bc.jpg?s=120&d=mm&r=g)
andale@excaliburworld.com writes:
This can be done by setting up aliases as follows (pseudo-syntax, your mileage will vary):
foo-list: moderator@example.com foo-list-moderated: | mailman post foo-list
That requires modifying the mailman aliases in the MTA manually, though. And the moderator needs to know to send moderated posts to foo-list-moderated, and will need software capable of editing and resending without changing headers that the moderator doesn't want changed.
Autoshare recognized the envelope sender and passed the post through to the list immediately.
Recent mailman recognizes envelope sender for the "authorized posters". You might want to screen out cases where the From spoofs the moderator using the spam filters because the test is "from OR sender OR envelope sender IS IN authorized-senders".
This sends the post, in tact, with no extraneous pre-text, directly to the moderator.
Ah, so the moderator already has an MUA that is capable of doing what is needed. That's a relief. :-)
I'll leave that to someone more familiar with the code.
IMO it is preferable to reroute the workflow using aliases as described above. That will fix your digest problem too.
That said, the option you need is on the admin page, near the bottom. Try disabling inclusion of the "List-Post" header. If that doesn't work, disable inclusion of the "RFC 2369" headers, too.
Yes, this is possible. There's a FAQ on this. Somebody else will give details shortly, I suppose.
A second option here is to use the Approved: header or pseudo-header. Many MUAs can be set to add these automatically, YMMV.
I don't think Pipermail (the default archiver bundled with Mailman) can do it at all, but it is possible to use external archivers such as MHonArc. This requires substantial effort and cooperation from the list host admins, though. There are also third-party archiving services. Again, see the FAQ.
Sorry not to be of more help directly, but hope it is of some help to know that there is a source of information....
![](https://secure.gravatar.com/avatar/0f421df3b117df4c7e29add77a11ff1c.jpg?s=120&d=mm&r=g)
At 1:55 PM +0900 on 8/12/09, Stephen J. Turnbull wrote:
This went over my head. What does "MTA manually" mean? Does that mean it cannot be done with the web interface? Do I need to contact my ISP, or is there something I can do using my shell account access?
My ISP is using Mailman 2.1.11. Is that the latest? I'm guessing no, since it is currently NOT recognizing the envelope sender. This sounds like one that I'll need to contact my ISP for.
It seems that if you change the reply-to to an explicit address, that both digest and non-digest members should have the same reply-to. Is this an oversight? Or perhaps this is something fixed in the latest version of Mailman?
Hoping for some clarification on that, and I'd love to give it a try.
I did both. It appears to have fixed the problem (not sure which action, if not both, resolved it).
Above you mentioned that it's already supported in the latest Mailman. Is the solution you recommend here something that will work in the version 2.1.11? In either case, which FAQ discusses it? I've seen a few, but have yet to find something about envelope sender.
A second option here is to use the Approved: header or pseudo-header. Many MUAs can be set to add these automatically, YMMV.
Could you elaborate on this? I don't know how to use Approved: header or pseudo-header (not sure what that means). I also don't know what MUA stands for (sorry if I sound like a newbie... I guess I am).
Interestingly, the archives for *this* mailing list appears to have some decent formatted archives. Does this list use MHonArc?
Thanks for your response. I really appreciate any further information I can get. I'd like to accomplish as much as I can before going back to sonic.net.
Bill
![](https://secure.gravatar.com/avatar/334b870d5b26878a79b2dc4cfcc500bc.jpg?s=120&d=mm&r=g)
Bill Catambay writes:
Working with the mail transfer agent (MTA == Postfix IIRC) cannot be done through Mailman's web interface. [If you have something like cPanel it might be possible.] To change aliases in the MTA you would need not just shell access, but root access. You may need help from your ISP in that case.
No, it is not the latest, 2.1.12 is.
Unfortunately, it looks like things don't work as you need them to, definitely not in 2.1.11, and probably not in 2.1.12. As far as I can tell from the 2.1.11 code, the envelope sender *is* recognized in the moderation module, but only as one of several possible candidates for the *author* of the message. And the From header will be preferred to envelope sender for that.
Among other things, I don't think Mailman knows who the moderator(s) is; anybody with the moderation password is a moderator. I can think of several approaches to make this work, but the only non-invasive one (ie, it restricts all changes in Mailman behavior to your lists) would require ISP intervention every time you want to change the moderator's address. Otherwise, there would need to be changes to some web templates and so on. I wouldn't like that if I were them.
It seems that if you change the reply-to to an explicit address, that both digest and non-digest members should have the same reply-to.
Sounds plausible but these things are complex. As I say, somebody more familiar with the detail needs to answer this one.
Progress ....
MUA is "mail user agent", also called a "client". Most people think of it as "my mail program", but on this list that could mean the MUA, the MTA, or mailman itself, so ....
Most MUAs have a fixed set of headers which you fill in as a form in a GUI: From, To, Cc, Subject. A powerful MUA will allow you to add arbitrary headers. If this is possible, then you add a header like this:
Approved: <password>
A pseudo-header looks exactly the same, but it is placed as the very first line of the body, before any formatted text. Not all MUAs can do this, either, unfortunately, if they are forwarding a formatted (eg, HTML) mail. In either case, Mailman automatically removes the Approved header.
A third approach involves putting the approval in the subject. There was discussion of "Approved in the subject header" earlier this week or last week, check the archives. Mark provided a patch (that would definitely need intervention by your ISP). I think Mark's patch was somewhat invasive (ie, it would affect other people's lists in the same way, which your ISP might or might not like). There's also a method using a "Handler" that should work, and could be installed and configured without affecting anyone else's lists. It would require intervention by the ISP both to install the handler and configure it for you.
Both the pseudo-header and Approved in Subject are somewhat unreliable and insecure IMO, but the advantage to Approved in Subject is that all MUAs can do this. "Moderator is Sender" is of course the easiest.
All of these approaches suffer from the possibility that your moderation password could theoretically be "sniffed" on the net unless your moderator uses an encrypted channel to send mail to the list host. The "Moderator is Enveloper Sender" approach is also vulnerable, since it is easy (if you have the right tools such as a Linux workstation, or certain "unofficial" MUAs) to spoof the envelope sender. I don't want to alarm you, just to give you some information you need to compare these approaches.
Apparently I was totally wrong. I thought Pipermail only did that for its own links (next message, etc), but it does seem to do it for all URLs. In particular, this list does use pipermail.
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
Stephen J. Turnbull wrote:
It's somewhat confusing and complicated, but it hasn't changed in a long time. The way it works is that a post is considered to be from a member if a member address is found in any of (by default, see SENDER_HEADERS) the From: header, the envelope sender, the Reply-To: header if any and the Sender: header if any.
If this test determines the post is from a member, the member's 'moderate' flag is checked and the post is handled accordingly. If more than one member address is in the above set, it's the first found in the above order that is used. This decision as to which moderate flag to use is the only place where the ordering of the search for a member address is significant
If the post is not from a member, then a possibly different address is checked against *_these_nonmembers. This address is the first address found in a search that depends on the setting of USE_ENVELOPE_SENDER. If USE_ENVELOPE_SENDER is false (the default) the search order is From: header, Sender: header, envelope sender. If USE_ENVELOPE_SENDER is true, the search order is Sender: header, From: header, envelope sender. Thus, the name USE_ENVELOPE_SENDER is really a misnomer, but note that this only possibly affects the address used for *_these_nonmembers checks.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/334b870d5b26878a79b2dc4cfcc500bc.jpg?s=120&d=mm&r=g)
Mark Sapiro writes:
Unfortunately, it looks like things don't work as you need them to,
NB. "As he needs them to" means that the *list moderator* be recognized as the *envelope sender*, and the message be approved in that case.
It's somewhat confusing and complicated, but it hasn't changed in a long time.
And won't work for the OP, since envelope sender is always lowest priority in the checks.
Just to summarize, since the OP characterizes himself as a "newbie". Bottom line, a new feature is needed for his use case.
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
Stephen J. Turnbull wrote:
I don't think so. Moderate.py calls the Message.get_senders() method to get *all* the addresses from the From: header, envelope sender, Reply-To: header and Sender: header. If any of those addresses is a member, the post is from a member.
It is only later, after we decide it's a non-member post that Moderate calls Message.get_sender() to get the single, first address in From: and Sender: headers and the envelope sender to match against *_these_nonmembers.
Thus, if the list moderator's address is the envelope sender and is a list member, the post is a member post.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/334b870d5b26878a79b2dc4cfcc500bc.jpg?s=120&d=mm&r=g)
Mark Sapiro writes:
Stephen J. Turnbull wrote:
Bottom line, a new feature is needed for his use case.
The point is that the OP's use-case is to make a decision based on envelope sender == moderator, while preserving originator headers. A member check is not what he wants.
![](https://secure.gravatar.com/avatar/0f421df3b117df4c7e29add77a11ff1c.jpg?s=120&d=mm&r=g)
At 2:12 PM +0900 on 8/14/09, Stephen J. Turnbull wrote:
Correct. The From: header should always be a member of the list (but a member whose "mod" flag is turned off). The envelope sender would be me, the moderator.
I have noticed that about 10 to 20 percent of posts I redirect to the list (with me as the envelope sender) are actually getting posted without me having to approve them. I'm not sure why that is.
The majority, however, are being held for approval.
What I'm really looking for is something to tell Mailman to look at envelope sender first, and if it's a privileged member (aka, "mod" is true), immediately deliver.
SIDE NOTE: I've also noticed a few posts recently (total of 3) that triggered an admin email asking for approval, but when I went to the web admin interface, there was nothing in the pending queue. I actually had to send the posts a 2nd time. This is a completely different issue, of course, but I thought I'd mention it in case it's a known issue.
Bill
PS: Yes, I realize that those who understand their email clients and understand how the list works would be able to spoof the envelope sender if they wanted to, but this is not a realistic concern. In 15 years of moderating this list, no one has ever done that.
![](https://secure.gravatar.com/avatar/334b870d5b26878a79b2dc4cfcc500bc.jpg?s=120&d=mm&r=g)
Bill Catambay writes:
Aha. The mod flag means that the member's posts will be held for moderation, *not* that the member *is* a moderator. Moderators are identified by having the list moderator password, and in Mailman 2.1, that is the only identification of moderators. They need not be members of the lists they moderate.
The list *owner* is known to Mailman by email address. If the list owner is also the only moderator, it would be easy to make this work (but does require additional code not in Mailman 2.1.11 or 2.1.12 AFAICS).
[I don't understand the random moderation behavior, so I'm going to skip it for now.]
This a plausible design, but it simply isn't the way Mailman looks at this. The idea of the mod bit in Mailman is that mostly the members should post without hindrance, but if somebody gets too obstreperous, we flip the mod bit to slow them down for a few days. (There's also a mechanism to flip everybody on, or off, at once; this allows configuring announce lists, or doing "emergency moderation" in case of a flame war or somebody's contact list getting scarfed by a spammer.)
However, as long as "moderate everybody but me" is an acceptable usage for you, it would be possible to abuse the mod bit this way, with a little extra code. (I say "abuse" because (1) it will confuse the heck out of experienced Mailman admins trying to help you in the future, and (2) because it may conflict with your attempts to use other Mailman features in the future. (2) isn't all that likely, but we *are* talking about something outside of the design parameters.)
IMO, it would be better to use list owner in this role if that would work for you.
The real worry is somebody getting "owned", and the rootkit sending their contact list to a spammer. Not that this should worry you very much, but you should be prepared to slam on the brakes. Here, to protect your members, you just moderate yourself, then call mailman-users to learn how to handle huge moderation queues, and reconfigure to weed out the spam before it gets to Mailman. :-)
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
Stephen J. Turnbull wrote:
The above is not quite correct. Each list has two attributes, owner and moderator, which are lists of email addresses, but these have nothing to do with mail approval or roles in Mailman. See the FAQs at <http://wiki.list.org/x/5YA9> and <http://wiki.list.org/x/WYA9>. Basically, those owner and moderator addresses determine who receives various notices. Owner and moderator roles are determined by knowledge of the respective passwords.
You can do this but it will require the cooperation of the Mailman host. The cooperation part is to set
SENDER_HEADERS = (None, 'from', 'reply-to', 'sender')
in mm_cfg.py. Putting None first will check the envelope sender before the From: header.
Then unmoderate the authorized envelope sender(s) and moderate everyone else.
Note that Stephen's other remarks are valid. Also, I apologize for being slow to understand the actual requirement. I confess, I only skimmed the OP and Stephen's original reply, and then got somewhat lost in the details in the follow-ups.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/70dbe67e0eb08a96d695871292b27eef.jpg?s=120&d=mm&r=g)
<<I confess, I only skimmed the OP and Stephen's original reply, and then got somewhat lost in the details in the follow-ups.>>
Mark, Stephen & Bill;
I have a serious feeling that Bill's situation is 'close' to a cPanel version of MM.
I poked around sonic.net and do NOT see anywhere either cPanel NOR MM even mentioned !?!?
In all my 'provider' searching over the past couple of years one or the other or both is ALWAY 'mentioned' or not.-:).
So IMHO Bill needs to tell The List not only the version of MM BUT the
source of
install so that everybody is "playing with a FULL deck of cards".
Right-:) ???
Ed Stuck behind cPanel - LOL
![](https://secure.gravatar.com/avatar/0f421df3b117df4c7e29add77a11ff1c.jpg?s=120&d=mm&r=g)
At 12:21 PM -0500 on 8/15/09, Shop at \" Just Brits \" wrote:
I don't remember if I answered this question before or not, but just to cover all the bases:
lists.sonic.net is running Mailman v2.1.11
An overview of Mailman on this server can be found at: http://lists.sonic.net/mailman/listinfo
I'm also posting a note to mailman@lists.sonic.net to find out about the source.
Bill
![](https://secure.gravatar.com/avatar/0f421df3b117df4c7e29add77a11ff1c.jpg?s=120&d=mm&r=g)
At 6:54 AM -0700 on 8/14/09, Mark Sapiro wrote:
This suggestion (posted several months ago) would solve my issue of having to approve posts that I've already sent to the list (with myself as the envelope sender). Of course, if Steve's solution works (and is what I think it is), then it would resolve both of my issues (6 step approval process, and reply-to issue on digests). But as a fallback, this solution sounds like it would still change my 6 step process down to 3 steps. Just for clarity, who exactly would perform the above change? My ISP who hosts Mailman? Can you give me the technically correct language I could use to suggest it to them? (i.e., so that they know exactly what to do)
Thanks, Bill
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
Bill Catambay wrote:
This needs to be done by someone at the ISP who has the ability to write to the mailman configuration file which by default is at /usr/local/mailman/Mailman/mm_cfg.py, but may be elsewhere in their installation.
They would just add the one line
SENDER_HEADERS = (None, 'from', 'reply-to', 'sender')
to the end of the file. This will change the order of membership tests. Instead of checking for membership and moderated in the default From:, (envelope sender), Reply-To:, Sender: order, it will check in the order (envelope sender), From:, Reply-To:, Sender:.
From the host's point of view, this is a global change that affects every list, so they may be understandably reluctant to do it.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/334b870d5b26878a79b2dc4cfcc500bc.jpg?s=120&d=mm&r=g)
Mark Sapiro writes:
They would just add the one line
SENDER_HEADERS = (None, 'from', 'reply-to', 'sender')
An alternative to this would be a custom pipeline with the places that checks SENDER_HEADERS altered to use that. You might also want to grep for some appropriate host's trace headers to avoid replay attacks.
Sorry, I don't have time to go into detail, but I think that in combination with changing the list-post address to go directly to the moderator should do what Bill wants to happen. It has the big advantage from the host's point of view that it only affects Bill's list; the small disadvantage is a small amount of work installing the change.
It's not a ton of work though; the first time I did this it took 45 minutes from deciding to do it to a working installation. I think the host should be able to do this in less than 10 minutes, as long as Bill is willing to accept the slight risk that the ML might go down until the host has time to look at it again.
![](https://secure.gravatar.com/avatar/0f421df3b117df4c7e29add77a11ff1c.jpg?s=120&d=mm&r=g)
At 1:41 AM +0900 on 8/14/09, Stephen J. Turnbull wrote:
It does sound like something requiring my ISP involvement. I'm sure they won't mind if it's a one-time setup and they understand what I'm requesting. The thing is that I don't really understand what I'd be requesting, or why.
foo-list is the name of my mailing list, and moderator@example.com would be the moderator's email (aka, my email address). I'm asking them to create an alias for the list name? Or should that be the full list email address (e.g., foo-list@lists.sonic.net) ?
What is "foo-list-moderated"? I'm guessing "| mailman post foo-list" is some command line syntax that any server running Mailman would understand. I can pretend to understand that (since my ISP tech support will probably understand it).
This suggestion was in response to my leading paragraph, not any of my 4 issues,so I'm not really sure what this buys if I were to get my ISP to do it. Was this a suggestion for how to do the redirection? (in which case, I'm already good, as I already use my email client for redirection)
Maybe there was an assumption made that people generally don't click reply to a digest (since the subject would be wrong, and the quoted text would be excessive). It does happen. For some, it's easier to click reply and change the subject and then trim the quoted text (there are a few times when they forget to do the subject change and/or trimming, but those would be rejected anyway).
I tried this once, and I felt really really uncomfortable with it. I kept looking at the To: to make sure I wasn't sending it to someone. The admin email says to click reply, but when I click reply, it addresses it to the list owner (e.g., foo-list-owner@lists.sonic.net), so it just comes back to me. I'm not sure where it was supposed to go, but I'm also not sure I would feel comfortable with this method anyway. I can picture me doing this some night when I'm running on 2 brain cells, and sending the list password to some random email.
Okay, this is bizarre. I just went to our web archives, and they now have the formatted "previous" and "next" links, as well as HTML links within the body. I swear the other day I was staring at plain text. The footer has changed to "This archive was generated by Pipermail 0.09 (Mailman edition)." I looked at the footer before, and it was completely different (no mention of Pipermail).
[looks again]
Okay, I think I know what happened. I clicked on the "Gzip'd Text" link, and when you do that, it shows the archives in plain text. It seems kind of obvious now. I guess that was one of those nights I was running on minimum brain cells.
Bill
![](https://secure.gravatar.com/avatar/334b870d5b26878a79b2dc4cfcc500bc.jpg?s=120&d=mm&r=g)
Bill Catambay writes:
Yes, it is aliasing the list to you. Everything gets forwarded to you, you make your decisions, and send it on to the list. If done this way, (almost) all the Mailman filtering can be turned off.
"foo-list-moderated" is where you send the mail once you've approved it. The best way would be if you can use an authenticated link, and nobody can send to that address without authentication. But that's somewhat complex for the ISP to support. "Security through obscurity" should work OK, though.
I don't understand. To what address do members send their posts?
Could be, but the digest feature is like 15 years old now.
Gotta run, but I think we're converging to a plan.
Steve
participants (5)
-
andale@excaliburworld.com
-
Bill Catambay
-
Mark Sapiro
-
Shop@" Just Brits "
-
Stephen J. Turnbull