From list at ziobro.rochester.ny.us Sat Dec 1 01:29:56 2018 From: list at ziobro.rochester.ny.us (Jim Ziobro) Date: Sat, 1 Dec 2018 01:29:56 -0500 Subject: [Mailman-Users] Start of MTA/Sendmail;.py Message-ID: The MTA=Postfix creates a file: "/etc/mailman/aliases".? That file is in the format used by Postfix , Sendmail, Exim, etc. to form the mail interface into Mailman.? It looks like the intention was that Mailman would maintain that file along with edits by a human.? Is that functionality still useful?? The cost is a complex MTA/Postfix.py. The only functionality I want out of Postfix.py is the ability to write out a complete aliases file like genaliases does.? Could someone do that for me?? I have not done any Python code.:-( I propose two new config entries for MTA='Sendmail': ??? MAIL_ALIAS_FILE='/etc/mail/aliases-mailman' ??? NOTIFY_MAILER='sudo systemctl restart sendmail' I see some support for virtual mail domains.? Can I now have two distinct and separate mailing lists like: members at a.example.com members at b.example.com ???? Or do virtual domains just keep the mailing list names outside the local-mail name space? I have a script that I use locally to make virtual domains in Sendmail.? It should make supporting virtual domains trivial. Ciao, //Z\\ P.S.: I appreciate Grant's comment that mm-handler minimizes changes to the MTA.? If you want to put mailman lists into the local mail domain then I think we still need the aliases route. From odhiambo at gmail.com Mon Dec 3 07:55:33 2018 From: odhiambo at gmail.com (Odhiambo Washington) Date: Mon, 3 Dec 2018 15:55:33 +0300 Subject: [Mailman-Users] Mailman subscription/unsubscription reports Message-ID: Hi All, I am running a list that has members joining and leaving. I'd like to get an inside of these changes: 1. how many members joined last month, this month.. 2. How many members left last month, this month, this year. I keep the log files so I Believe I can get this information, but wondering if someone already did the script so I don't have to re-invent. Would it be such a long shot to have mailman recording "joined date" for the members of a list? So at least we can see "Member since YYYY-MM-DD" in the roster? -- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft." From Richard at Damon-Family.org Mon Dec 3 08:04:28 2018 From: Richard at Damon-Family.org (Richard Damon) Date: Mon, 3 Dec 2018 08:04:28 -0500 Subject: [Mailman-Users] Mailman subscription/unsubscription reports In-Reply-To: References: Message-ID: <887df172-95e6-cfb7-41bd-45160bb4e89a@Damon-Family.org> On 12/3/18 7:55 AM, Odhiambo Washington wrote: > Hi All, > > I am running a list that has members joining and leaving. > I'd like to get an inside of these changes: > 1. how many members joined last month, this month.. > 2. How many members left last month, this month, this year. > > I keep the log files so I Believe I can get this information, but wondering > if someone already did the script so I don't have to re-invent. > Would it be such a long shot to have mailman recording "joined date" for > the members of a list? So at least we can see "Member since YYYY-MM-DD" in > the roster? > Mailman can send you a notification for every subscription / unsubscription event on the list. Just have your email program filter those into folders and sort them by date and you can get those numbers by simple inspection of those email folders. -- Richard Damon From mark at msapiro.net Mon Dec 3 09:11:00 2018 From: mark at msapiro.net (Mark Sapiro) Date: Mon, 3 Dec 2018 06:11:00 -0800 Subject: [Mailman-Users] Mailman subscription/unsubscription reports In-Reply-To: References: Message-ID: <275c2132-1897-9f74-f5fd-f514b94dc53f@msapiro.net> On 12/3/18 4:55 AM, Odhiambo Washington wrote: > Hi All, > > I am running a list that has members joining and leaving. > I'd like to get an inside of these changes: > 1. how many members joined last month, this month.. > 2. How many members left last month, this month, this year. > > I keep the log files so I Believe I can get this information, but wondering > if someone already did the script so I don't have to re-invent. Analyzing the logs is the way to do this. I'm not aware of any scripts to do what you want, but creating one shouldn't be hard. > Would it be such a long shot to have mailman recording "joined date" for > the members of a list? So at least we can see "Member since YYYY-MM-DD" in > the roster? This won't happen for Mailman 2.1. For Mailman 3, you can submit an RFE at . -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From odhiambo at gmail.com Mon Dec 3 09:35:44 2018 From: odhiambo at gmail.com (Odhiambo Washington) Date: Mon, 3 Dec 2018 17:35:44 +0300 Subject: [Mailman-Users] Mailman subscription/unsubscription reports In-Reply-To: <275c2132-1897-9f74-f5fd-f514b94dc53f@msapiro.net> References: <275c2132-1897-9f74-f5fd-f514b94dc53f@msapiro.net> Message-ID: On Mon, 3 Dec 2018 at 17:11, Mark Sapiro wrote: > On 12/3/18 4:55 AM, Odhiambo Washington wrote: > > Hi All, > > > > I am running a list that has members joining and leaving. > > I'd like to get an inside of these changes: > > 1. how many members joined last month, this month.. > > 2. How many members left last month, this month, this year. > > > > I keep the log files so I Believe I can get this information, but > wondering > > if someone already did the script so I don't have to re-invent. > > > Analyzing the logs is the way to do this. I'm not aware of any scripts > to do what you want, but creating one shouldn't be hard. > > I thought so too. > > > Would it be such a long shot to have mailman recording "joined date" for > > the members of a list? So at least we can see "Member since YYYY-MM-DD" > in > > the roster? > > > This won't happen for Mailman 2.1. > Noted. > > For Mailman 3, you can submit an RFE at > . > Heheee... I am one of those people who have all the time wished to run MM3, but it seems it's not possible/easy on FreeBSD. Not being a coder, I am one of those who will just stick to the MM2 forever :-) Mark, how about a request to incorporate those options in the following script? http://bazaar.launchpad.net/~mailman-coders/mailman/2.1/annotate/head%3A/contrib/mmdsr I am thinking that for you, it'd would be clear (probably simpler) what needs to be added. -- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft." From mark at msapiro.net Mon Dec 3 09:54:45 2018 From: mark at msapiro.net (Mark Sapiro) Date: Mon, 3 Dec 2018 06:54:45 -0800 Subject: [Mailman-Users] Mailman subscription/unsubscription reports In-Reply-To: References: <275c2132-1897-9f74-f5fd-f514b94dc53f@msapiro.net> Message-ID: On 12/3/18 6:35 AM, Odhiambo Washington wrote: > > Mark, how about a request to incorporate those options in the following > script? > http://bazaar.launchpad.net/~mailman-coders/mailman/2.1/annotate/head%3A/contrib/mmdsr > > I am thinking that for you, it'd would be clear (probably simpler) what > needs to be added. mmdsr is not the appropriate vehicle for this. It is designed to run at midnight and report things from the previous 24 hours which is not what you want. A generic solution is also difficult because you want to look at a complete subscribe log from the last year. Creating/accessing such a log is site specific even if all the pieces are available due to varying log rotation/preservation strategies. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From odhiambo at gmail.com Mon Dec 3 10:05:42 2018 From: odhiambo at gmail.com (Odhiambo Washington) Date: Mon, 3 Dec 2018 18:05:42 +0300 Subject: [Mailman-Users] Mailman subscription/unsubscription reports In-Reply-To: References: <275c2132-1897-9f74-f5fd-f514b94dc53f@msapiro.net> Message-ID: On Mon, 3 Dec 2018 at 17:55, Mark Sapiro wrote: > On 12/3/18 6:35 AM, Odhiambo Washington wrote: > > > > Mark, how about a request to incorporate those options in the following > > script? > > > http://bazaar.launchpad.net/~mailman-coders/mailman/2.1/annotate/head%3A/contrib/mmdsr > > > > I am thinking that for you, it'd would be clear (probably simpler) what > > needs to be added. > > > mmdsr is not the appropriate vehicle for this. It is designed to run at > midnight and report things from the previous 24 hours which is not what > you want. > > A generic solution is also difficult because you want to look at a > complete subscribe log from the last year. Creating/accessing such a log > is site specific even if all the pieces are available due to varying log > rotation/preservation strategies. > Well understood. Now the need to run MM3 rears its head once again! -- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft." From turnbull.stephen.fw at u.tsukuba.ac.jp Mon Dec 3 21:49:43 2018 From: turnbull.stephen.fw at u.tsukuba.ac.jp (Stephen J. Turnbull) Date: Tue, 4 Dec 2018 11:49:43 +0900 Subject: [Mailman-Users] Mailman subscription/unsubscription reports In-Reply-To: References: Message-ID: <23557.60231.355232.318261@turnbull.sk.tsukuba.ac.jp> Odhiambo Washington writes: > I am running a list that has members joining and leaving. > I'd like to get an inside of these changes: > 1. how many members joined last month, this month.. > 2. How many members left last month, this month, this year. Systers Mailman provides a console for this stuff, but it also comes with other baggage. The recent work (last 3 years) is Mailman 3 only, but older versions have some of the database features, and probably do have joined date. github.com/systers/mailman, I believe. From list at ziobro.rochester.ny.us Mon Dec 3 10:30:53 2018 From: list at ziobro.rochester.ny.us (Jim Ziobro) Date: Mon, 3 Dec 2018 10:30:53 -0500 Subject: [Mailman-Users] Updated view on Sendmail integration Message-ID: <43f25647-de37-ee5f-213c-e89f9bc6bb2b@ziobro.rochester.ny.us> I am still fairly new to Mailman but I have been a long time Sendmail user.I like to know how things work.Partly out of security paranoia and partly out of curiosity I started hacking around the MTA interface. One of the things I now see is that Mailman depends on a group for access(vs. setuid).Sendmail does not like group accessible things files or directories based on a long history of security problems.Somewhere there has to be a bridge between the Mailman security model and Sendmail (or any other MTA). Back in 2004 the approach was to create a shell scriptThat script would get executed as root.More on that later. Another approach was mm-handler.Mm-handler handles the security bridge by calling back Mailman after it has switched to UID/GID: mailman/mailman.An elegant solution.The v3 version optionally allows mail not destined for a mailing list to be delivered locally.Thus mm-handler could be used to implement mailing lists in front of an existing mail domain.It looks like the mm-handler could be integrated into Postfix and probably other MTAs.I suspect passing all mail through mm-handler would be a performance drag for a busy mail system.It looks like leaving MTA set to ?Manual? is best but that generates a little irrelevant text. If you want to mix Mailman mailing lists in with your regular mailboxes and aliases then the classic method of using the aliases file as generated by Mailman seems best.The 2004 instructions suggested using a shell script to copy the Mailman generated aliases file into /etc/mail/ configuration directory for Sendmail.See: https://mail.python.org/pipermail/mailman-users/2004-June/037518.html Current distributions of Sendmail contain a file /etc/mail/make which is an appropriate place for such customization.The /etc/mail/make script gets executed every time Sendmail restarts.It is called once as ?make aliases? and again as just ?make? before Sendmail restarts.Instead of creating a shell script you could just edit the /etc/mail/make file so the makealiasesdb function reads: makealiasesdb() { /usr/bin/cp /etc/mailman/aliases /etc/mail/mailman-aliases/usr/bin/newaliases > /dev/null } I started wondering where the interface between Mailman and MTA should be defined.For example if I am using MTA=?Manual? then I could setup my /etc/mail/make as: makealiasesdb() { /usr/lib/mailman/bin/genaliases > /etc/mail/mailman-aliases /usr/bin/newaliases > /dev/null } But the ?Manual? mailer has no capability of signaling the MTA that the mailing lists have been updated.If I use MTA=?Postfix? then genaliases has no output.Apparently the genaliases program is a function of the MTA setting.So I rolled my own aliases with a perl program: #!/usr/bin/perl -w # create the Mailman aliases file open(A,"/usr/lib/mailman/bin/list_lists -b|") || exit(1); my @e= qw(admin bounces confirm join leave owner request subscribe unsubscribe); while(){ chop; print "$_:\"|mailman post $_\"\n"; foreach my $x (@e){ print "$_-$x:\"|mailman $x $_\"\n"; } print "owner-$_:$_-owner\n"; # Majordomo fans } The perl program can be stuffed into one line in the make shell script like this: makealiasesdb() { # genaliasesinto /etc/mail/mailman-aliases /usr/bin/perl -e ' open(A,"/usr/lib/mailman/bin/list_lists -b|") || exit(1); my @e=qw(admin bounces confirm join leave owner request subscribe unsubscribe); while(){ chop; print "$_:\"|mailman post $_\"\n"; foreach my $x (@e){ print "$_-$x:\"|mailman $x $_\"\n"; } print "owner-$_:$_-owner\n"; }' > /etc/mail/mailman-aliases /usr/bin/newaliases > /dev/null } Once the need for genaliases is gone I could simplify the MTA/Sendmail.py create function to: def create(mlist, cgi=False, nolock=False, quiet=False): # restart the mail program so new aliases are active msg = 'command failed: %s (status: %s, %s)' if not nolock:# NOT genaliases acmd = mm_cfg.RESTART_MAILER_CMDstatus = (os.system(acmd) >> 8) & 0xffif status:errstr = os.strerror(status)syslog('error', msg, acmd, status, errstr)raise RuntimeError, msg % (acmd, status, errstr) The RESTART_MAILER_CMD configuration will Default to: RESTART_MAILER_CMD = ?sudo systemctl restart sendmail? On older systems it might be: ?sudo /etc/init.d/sendmail restart? By moving the responsibility to create aliases out of Mailman the Mailman code base shrinks a lot.Smaller is better.It works for me. Is the directory ?/etc/mailman? group-writable only to support the creation of an aliases file?I would feel more confident if /etc/mailman was only writable by root. This is where I am now.I cut and paste Python code but don?t necessarily understand it.If someone could give the Python code a look over then I?ll organize it a little better for a release. This got a little long.? Thanks for your attention! Ciao, //Z\\ Jim Ziobro From n.andriopoulos at gmail.com Tue Dec 4 07:35:51 2018 From: n.andriopoulos at gmail.com (Nikolaos Andriopoulos) Date: Tue, 4 Dec 2018 14:35:51 +0200 Subject: [Mailman-Users] Cannot use mailman moderation over HTTPS, fix_url ineffective, mm_cfg.py does not apply Message-ID: Hello, I am responsible for a server with a number of lists on a server that has Plesk installed (don't leave just yet!). Mailman administrative interface loads over HTTPS, and every page in the administration works as expected -- with the exception of message moderation, which stubbornly keeps POSTing to plain HTTP. Things checked: - The web server configuration seems OK, and properly redirects to HTTPS. - The current mm_cfg.py ( with comments omitted ) is the following: from Defaults import * import pwd, grp MAILMAN_UID = pwd.getpwnam('mailman')[2] MAILMAN_GID = grp.getgrnam('mailman')[2] from socket import * try: fqdn = getfqdn() except: fqdn = 'mm_cfg_has_unknown_host_domains' DEFAULT_URL_HOST = fqdn DEFAULT_URL_PATTERN = 'http*s*://%s/mailman/' DEFAULT_EMAIL_HOST = fqdn add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST) - For old lists, using ./withlist -l -r fix_url mylistname -u lists.mydomain.com does NOT change to form action to HTTPS, and new lists still have HTTP as an action. I have copied over fix_url.py to fix_url2.py which hardcodes web_page_url = 'https://lists.mydomain.com/mailman/' And apply it to all lists of each domain after creation to fix this, but it really seems that it should not be this way. Is there something I am missing as far as MailMan is concerned? Thank you in advance for your valuable assistance! Nick. From mark at msapiro.net Tue Dec 4 09:58:47 2018 From: mark at msapiro.net (Mark Sapiro) Date: Tue, 4 Dec 2018 06:58:47 -0800 Subject: [Mailman-Users] Cannot use mailman moderation over HTTPS, fix_url ineffective, mm_cfg.py does not apply In-Reply-To: References: Message-ID: On 12/4/18 4:35 AM, Nikolaos Andriopoulos wrote: > > Things checked: > - The web server configuration seems OK, and properly redirects to HTTPS. Redirects of POST lose the POST data. > - The current mm_cfg.py ( with comments omitted ) is the following: > > from Defaults import * > import pwd, grp > > MAILMAN_UID = pwd.getpwnam('mailman')[2] > MAILMAN_GID = grp.getgrnam('mailman')[2] > > from socket import * > try: > fqdn = getfqdn() > except: > fqdn = 'mm_cfg_has_unknown_host_domains' > > DEFAULT_URL_HOST = fqdn > DEFAULT_URL_PATTERN = 'http*s*://%s/mailman/' This is correct, but the preceding stuff seems to be from some downstream package which may explain why DEFAULT_URL_PATTERN is apparently not effective. > DEFAULT_EMAIL_HOST = fqdn > > add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST) > > - For old lists, using > ./withlist -l -r fix_url mylistname -u lists.mydomain.com > does NOT change to form action to HTTPS, and new lists still have HTTP as > an action. which indicates that your mm_cfg.py setting for DEFAULT_URL_PATTERN is not effective, possibly because the file you are editing is not the one Mailman is using. > I have copied over fix_url.py to fix_url2.py which hardcodes > web_page_url = 'https://lists.mydomain.com/mailman/' > > And apply it to all lists of each domain after creation to fix this, but it > really seems that it should not be this way. Is there something I am > missing as far as MailMan is concerned? Mailman is spelled Mailman. fix_url creates web_page_url from DEFAULT_URL_PATTERN. If the created web_page_url is not https, either the mm_cfg it imports is not the one you edited or the setting you edit is being overridden somehow. There should be a Mailman/ directory containing Defaults.py, mm_cfg.py and many other Mailman modules. Is this mm_cfg.py a file or a symlink? If it is a file, is it the one you are editing? If it is a symlink, is its target the file that you are editing. Also, as far as new lists are concerned, you need to restart Mailman after editing mm_cfg.py, but this shouldn't affect fix_url. You could try running './withlist -i' and in the interactive session >>> from Mailman import mm_cfg >>> mm_cfg.DEFAULT_URL_PATTERN This should print 'https://%s/mailman/' If it doesn't, you need to figure out why it isn't importing from the mm_cfg.py that you edited. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From mark at msapiro.net Tue Dec 4 10:25:02 2018 From: mark at msapiro.net (Mark Sapiro) Date: Tue, 4 Dec 2018 07:25:02 -0800 Subject: [Mailman-Users] Updated view on Sendmail integration In-Reply-To: <43f25647-de37-ee5f-213c-e89f9bc6bb2b@ziobro.rochester.ny.us> References: <43f25647-de37-ee5f-213c-e89f9bc6bb2b@ziobro.rochester.ny.us> Message-ID: <09af189f-f806-a339-59e5-317976ea3e17@msapiro.net> On 12/3/18 7:30 AM, Jim Ziobro wrote: > > Another approach was mm-handler.Mm-handler handles the security bridge > by calling back Mailman after it has switched to UID/GID: > mailman/mailman.An elegant solution.The v3 version > optionally allows mail not destined > for a mailing list to be delivered locally.Thus mm-handler could be used > to implement mailing lists in front of an existing mail domain.It looks > like the mm-handler could be integrated into Postfix and probably other > MTAs. There's postfix_to_mailman.py. For our view of that, see and . > Current distributions of Sendmail contain a file /etc/mail/make which is > an appropriate place for such customization.The /etc/mail/make script > gets executed every time Sendmail restarts.It is called once as ?make > aliases? and again as just ?make? before Sendmail restarts.Instead of > creating a shell script you could just edit the /etc/mail/make file so > the makealiasesdb function reads: > > makealiasesdb() { > /usr/bin/cp /etc/mailman/aliases > /etc/mail/mailman-aliases/usr/bin/newaliases > /dev/null > } OK. What's the problem with this? > I started wondering where the interface between Mailman and MTA should > be defined.For example if I am using MTA=?Manual? then I could setup my > /etc/mail/make as: > > makealiasesdb() { > > /usr/lib/mailman/bin/genaliases > /etc/mail/mailman-aliases > > /usr/bin/newaliases > /dev/null > > } > > > But the ?Manual? mailer has no capability of signaling the MTA that the > mailing lists have been updated.If I use MTA=?Postfix? then genaliases > has no output.Apparently the genaliases program is a function of the MTA > setting.So I rolled my own aliases with a perl program: with MTA = 'Postfix' both genaliases and list creation/deletion update Mailman's data/aliases file and then run the command defined in POSTFIX_ALIAS_CMD. This is how aliases are automatically maintained with MTA = 'Postfix'. If you want genaliases to write the aliases to stdout just set MTA = 'Manual' (the default) > > This is where I am now.I cut and paste Python code but don?t necessarily > understand it.If someone could give the Python code a look over then > I?ll organize it a little better for a release. At this point in the lifecycle of Mailman 2.1 I have no interest in implementing a 'Sendmail' MTA for Mailman. The method for adapting MTA = 'Postfix' for automatic alias maintenance with sendmail is documented and works. Mailman3 does things differently. See . We are interested in help with Sendmail in this area. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From dmaziuk at bmrb.wisc.edu Tue Dec 4 10:42:39 2018 From: dmaziuk at bmrb.wisc.edu (Dmitri Maziuk) Date: Tue, 4 Dec 2018 09:42:39 -0600 Subject: [Mailman-Users] Updated view on Sendmail integration In-Reply-To: <43f25647-de37-ee5f-213c-e89f9bc6bb2b@ziobro.rochester.ny.us> References: <43f25647-de37-ee5f-213c-e89f9bc6bb2b@ziobro.rochester.ny.us> Message-ID: <20181204094239.a7322a0c210d55e9a5a3f071@bmrb.wisc.edu> On Mon, 3 Dec 2018 10:30:53 -0500 Jim Ziobro wrote: ... > Is the directory ?/etc/mailman? group-writable only to support the > creation of an aliases file?I would feel more confident if /etc/mailman > was only writable by root. So basically unix user/group access model is wrong because sendmail is full of bugs? -- Dmitri Maziuk From turnbull.stephen.fw at u.tsukuba.ac.jp Tue Dec 4 20:28:53 2018 From: turnbull.stephen.fw at u.tsukuba.ac.jp (Stephen J. Turnbull) Date: Wed, 5 Dec 2018 10:28:53 +0900 Subject: [Mailman-Users] Updated view on Sendmail integration In-Reply-To: <20181204094239.a7322a0c210d55e9a5a3f071@bmrb.wisc.edu> References: <43f25647-de37-ee5f-213c-e89f9bc6bb2b@ziobro.rochester.ny.us> <20181204094239.a7322a0c210d55e9a5a3f071@bmrb.wisc.edu> Message-ID: <23559.10709.963661.312908@turnbull.sk.tsukuba.ac.jp> Dmitri Maziuk via Mailman-Users writes: > On Mon, 3 Dec 2018 10:30:53 -0500 > Jim Ziobro wrote: > ... > > Is the directory ?/etc/mailman? group-writable only to support the > > creation of an aliases file?I would feel more confident if /etc/mailman > > was only writable by root. > > So basically unix user/group access model is wrong because sendmail > is full of bugs? Please, Dmitri. All large software applications are full of bugs (starting with the brain of Homo so-called Sapiens). It's only good sense to respect POMP[1]. That said, this *is* minimum privilege. Mailman should *not* run as root. Sendmail should only be accessing /etc/mailman via a link to a specific file, and Mailman needs to be able to write that. QED. Even if you use a Postfix-like multiple executable model with a dedicated suid root binary to write Mailman's alias file, Mailman still specifies the content. (Yes, you could fiddle the system such that genaliases only overwrites an existing file, but that is fragile at best, and still give Mailman's user limited access to /etc/mailman.) So Dmitri does have a point. If you don't trust Mailman or your webserver (the two applications that should be running with Mailman group privileges), you're screwed anyway. I don't see why it matters whether the evil thing is in /etc/mailman (which only Mailman should be generically accessing: other applications should only rarely even read specific files there, such as an alias include file), or squirreled away elsewhere in Mailman-owned trees or those of the webserver. Saying a webserver that produces dynamic content and even reconfigures other applications should live entirely in read-only storage is a paradox. Steve Footnotes: [1] The Principle of Minimum Privilege. -- Associate Professor Division of Policy and Planning Science http://turnbull.sk.tsukuba.ac.jp/ Faculty of Systems and Information Email: turnbull at sk.tsukuba.ac.jp University of Tsukuba Tel: 029-853-5175 Tennodai 1-1-1, Tsukuba 305-8573 JAPAN From dmaziuk at bmrb.wisc.edu Wed Dec 5 10:50:29 2018 From: dmaziuk at bmrb.wisc.edu (Dmitri Maziuk) Date: Wed, 5 Dec 2018 09:50:29 -0600 Subject: [Mailman-Users] Updated view on Sendmail integration In-Reply-To: <23559.10709.963661.312908@turnbull.sk.tsukuba.ac.jp> References: <43f25647-de37-ee5f-213c-e89f9bc6bb2b@ziobro.rochester.ny.us> <20181204094239.a7322a0c210d55e9a5a3f071@bmrb.wisc.edu> <23559.10709.963661.312908@turnbull.sk.tsukuba.ac.jp> Message-ID: <20181205095029.981e34d14e84fbf6438f4682@bmrb.wisc.edu> On Wed, 5 Dec 2018 10:28:53 +0900 "Stephen J. Turnbull" wrote: > Dmitri Maziuk via Mailman-Users writes: > > So basically unix user/group access model is wrong because sendmail > > is full of bugs? > > Please, Dmitri. All large software applications are full of bugs Yes, and then there's sendmail ;) I find that often, if you have a clear and concise problem statement, the solution will point to itself. Case in point: a) don't use unix, b) don't use sendmail, c) invest in SElinux labels. -- Dmitri Maziuk From list at ziobro.rochester.ny.us Thu Dec 6 00:28:42 2018 From: list at ziobro.rochester.ny.us (Jim Ziobro) Date: Thu, 6 Dec 2018 00:28:42 -0500 Subject: [Mailman-Users] Translation (Localization) of mail addresses? Message-ID: <32ce9a64-1948-a4e5-2e22-274c9dd28f94@ziobro.rochester.ny.us> Are there any plans to support changing of mail interface addresses for other languages? In MTA/Utils.py I find: ?('admin', 'bounces', 'confirm', 'join', 'leave', 'owner', 'request', 'subscribe', 'unsubscribe'): ?Should the Italian mail extensions be something like: ??????? gestire rimbalzi confermare aderire partire proprietario richiesta sottoscrivi annulla? In the future could someone unsubscribe from terrier at dogs.us or terrier at cane.it with mail to: ??? terrier-unsubscribe at dogs.us or ??? terrier-annulla at cane.it Yes, I can do it in the mail system interface now but will Mailman ever want control over those mail addresses?? Some of the mail addresses are listed in the help messages for example. Right now the above list is hardwired in places outside of Utils.py.? It would be cleaner if there was a documented way for me to get the list of extensions. Ciao, //Z\\ From turnbull.stephen.fw at u.tsukuba.ac.jp Thu Dec 6 02:18:10 2018 From: turnbull.stephen.fw at u.tsukuba.ac.jp (Stephen J. Turnbull) Date: Thu, 6 Dec 2018 16:18:10 +0900 Subject: [Mailman-Users] Translation (Localization) of mail addresses? In-Reply-To: <32ce9a64-1948-a4e5-2e22-274c9dd28f94@ziobro.rochester.ny.us> References: <32ce9a64-1948-a4e5-2e22-274c9dd28f94@ziobro.rochester.ny.us> Message-ID: <23560.52530.902364.803977@turnbull.sk.tsukuba.ac.jp> Jim Ziobro writes: > Are there any plans to support changing of mail interface addresses for > other languages? No. There won't be, and patches submitted will very likely be rejected. > In MTA/Utils.py I find: > ?('admin', 'bounces', 'confirm', 'join', 'leave', 'owner', 'request', > 'subscribe', 'unsubscribe'): > ?Should the Italian mail extensions be something like: > ??????? gestire rimbalzi confermare aderire partire proprietario > richiesta sottoscrivi annulla? No. These aren't English words. They're magic strings (like HTML tags or programming keywords), which are embedded in many clients, including personal and organizational web pages (with RFC 2368 mailto URLs). "request" is specified by RFC 2142. The others are common aliases for functions that are mostly also available via the -request address. -bounces is entirely Mailman-specific; neither you nor any user should need to know about it unless things get really horked. In fact, users should not need to know any of them. The translations you suggest can and should be in client user interfaces, not the wire protocol. > In the future could someone unsubscribe from terrier at dogs.us or > terrier at cane.it with mail to: > ??? terrier-unsubscribe at dogs.us > or > ??? terrier-annulla at cane.it Mark has the final say, but I'd bet my house he's gonna say "no, not in Mailman 2". > Yes, I can do it in the mail system interface now but will Mailman ever > want control over those mail addresses?? Some of the mail addresses are > listed in the help messages for example. It's mostly not a Mailman issue. It wouldn't be that hard for us to do it (but such work won't be done on Mailman 2). The PITA would be all the complaints we get from users who send mail to terrier-anulla at dogs.us or terrier-unsubscribe at cane-it. (I would oppose doing it on Mailman 3 as a waste of time and an attractive nuisance.) > Right now the above list is hardwired in places outside of > Utils.py.? It would be cleaner if there was a documented way for me > to get the list of extensions. The way the world is going these days, the only one of those addresses that's likely to actually get used is -confirm (which is necessary because it's used in the proof of mailbox ownership dialog). Users generally prefer to interact with the website, and admins like to encourage that, because that gives them control over what the users can actually do to interact with Mailman, unlike email where they can (and do) insane stuff. Steve From mark at msapiro.net Thu Dec 6 10:07:13 2018 From: mark at msapiro.net (Mark Sapiro) Date: Thu, 6 Dec 2018 07:07:13 -0800 Subject: [Mailman-Users] Translation (Localization) of mail addresses? In-Reply-To: <32ce9a64-1948-a4e5-2e22-274c9dd28f94@ziobro.rochester.ny.us> References: <32ce9a64-1948-a4e5-2e22-274c9dd28f94@ziobro.rochester.ny.us> Message-ID: <1a9d7797-6ead-1a4c-662f-6d83676d2053@msapiro.net> On 12/5/18 9:28 PM, Jim Ziobro wrote: > Are there any plans to support changing of mail interface addresses for > other languages? Steve has already replied in detail and I agree with what he has said. For Mailman 2.1, No localization of the address suffixes will be done. For Mailman 3, it is not solely up to me, but I wouldn't do it. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From lucio at lambrate.inaf.it Thu Dec 6 12:24:11 2018 From: lucio at lambrate.inaf.it (Lucio Chiappetti) Date: Thu, 6 Dec 2018 18:24:11 +0100 (CET) Subject: [Mailman-Users] Translation (Localization) of mail addresses? In-Reply-To: <32ce9a64-1948-a4e5-2e22-274c9dd28f94@ziobro.rochester.ny.us> References: <32ce9a64-1948-a4e5-2e22-274c9dd28f94@ziobro.rochester.ny.us> Message-ID: On Thu, 6 Dec 2018, Jim Ziobro wrote: > Are there any plans to support changing of mail interface addresses for > other languages? > ??('admin', 'bounces', 'confirm', 'join', 'leave', 'owner', 'request', > 'subscribe', 'unsubscribe'): > ??Should the Italian mail extensions be something like: > ?????????????? gestire rimbalzi confermare aderire partire proprietario > richiesta sottoscrivi annulla? As a native italian speaker (who however virtually always uses the English interface in the *GUI* of mailman and any other tool) I would regard as highly inconvenient any localization of *service address suffixes*). - First of all admins may be used to the English-like form and would be annoyed to use a different form for different mailing lists - Secondly it would be like translating commands in a programming language ... GO TO -> VAI A (Fortran), if -> se (almost all languages), open -> apri (C and other languages) ... nobody does that seriously but for fun ! - Finally, in lack of an agreed standard, since Italian is a much more complicated language for what concerns verbal forms, one will have to choose the tense (infinitive, imperative or indicative) and the person (2nd singular, 2nd plural or 3rd courtesy form), Just crazy. -- Lucio Chiappetti - INAF/IASF - via Bassini 15 - I-20133 Milano (Italy) For more info : http://www.iasf-milano.inaf.it/~lucio/personal.html ------------------------------------------------------------------------ "All that is google does not glitter Nor all who use alpine/procmail are lost" From dmaziuk at bmrb.wisc.edu Thu Dec 6 13:47:00 2018 From: dmaziuk at bmrb.wisc.edu (Dimitri Maziuk) Date: Thu, 6 Dec 2018 12:47:00 -0600 Subject: [Mailman-Users] Translation (Localization) of mail addresses? In-Reply-To: References: <32ce9a64-1948-a4e5-2e22-274c9dd28f94@ziobro.rochester.ny.us> Message-ID: <7544bb8d-7254-dbc5-5abc-b582d1f8fa44@bmrb.wisc.edu> On 12/06/2018 11:24 AM, Lucio Chiappetti wrote: > As a native italian speaker (who however virtually always uses the > English interface in the *GUI* of mailman and any other tool) I would > regard as highly inconvenient any localization of *service address > suffixes*). Oh, I dunno. I think "?????????-??????????" sounds hilarious in Russian. (Google translation, although incorrect, ain't bad either.) I see great fun potential. -- Dimitri Maziuk Programmer/sysadmin BioMagResBank, UW-Madison -- http://www.bmrb.wisc.edu -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 190 bytes Desc: OpenPGP digital signature URL: From mark at msapiro.net Thu Dec 6 15:55:05 2018 From: mark at msapiro.net (Mark Sapiro) Date: Thu, 6 Dec 2018 12:55:05 -0800 Subject: [Mailman-Users] Mailman subscription/unsubscription reports In-Reply-To: References: Message-ID: <1b0c7815-2de7-e5c3-7671-b3a31c0c5ba0@msapiro.net> On 12/3/18 4:55 AM, Odhiambo Washington wrote: > Hi All, > > I am running a list that has members joining and leaving. > I'd like to get an inside of these changes: > 1. how many members joined last month, this month.. > 2. How many members left last month, this month, this year. I had some time to play with this so check out (mirrored at ) If this is close to useful for you, I'm willing to tweak it if you want changes. As it is, you can feed it a mailman subscribe log covering some period and it will report the most recent join/leave event by list and user for the whole log or, if specified, a most recent number of days. Run it under Python3 (it will work with Python 2) with the --help option for more info. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From odhiambo at gmail.com Fri Dec 7 05:12:09 2018 From: odhiambo at gmail.com (Odhiambo Washington) Date: Fri, 7 Dec 2018 13:12:09 +0300 Subject: [Mailman-Users] Mailman subscription/unsubscription reports In-Reply-To: <1b0c7815-2de7-e5c3-7671-b3a31c0c5ba0@msapiro.net> References: <1b0c7815-2de7-e5c3-7671-b3a31c0c5ba0@msapiro.net> Message-ID: On Fri, 7 Dec 2018 at 07:27, Mark Sapiro wrote: > On 12/3/18 4:55 AM, Odhiambo Washington wrote: > > Hi All, > > > > I am running a list that has members joining and leaving. > > I'd like to get an inside of these changes: > > 1. how many members joined last month, this month.. > > 2. How many members left last month, this month, this year. > > > I had some time to play with this so check out > (mirrored at > ) > > If this is close to useful for you, I'm willing to tweak it if you want > changes. It is definitely very very useful. Thank you very much for putting this together. > As it is, you can feed it a mailman subscribe log covering some period > and it will report the most recent join/leave event by list and user for > the whole log or, if specified, a most recent number of days. > > Run it under Python3 (it will work with Python 2) with the --help option > for more info. > I have tested it and notice that I need a few changesmods: 1. Give it the -l option to specify a listname (yes, my server has several lists) 2. The current -l should probably be changed to -f for specifying the subscribe filename/path 3. Since the subscribe log has dates, maybe -d should instead be used to parse for and then group by month?? Or perhaps you can add an option to specify the month you want, like Jan, Feb, so a '-m Nov' will give the join/leave for November.. 4. To make it a little fancier, you can display the results in some tabulated format: Mailman Subscription Report for $Month ----------------------------------------------------- LISTNAME ---------------JOINED---------LEFT list1 15 2 list2 8 12 .... With the MONTH option available, I can then simply run it from cron to get reports like: mydate = 'date +%b' ./subscribe_log.py --f /usr/local/mailman/logs/subscribe -l listname -d $mydate | mail -s "Mailman Subscription Status" john at doe.com So far that is all in my request. Once again, thank you very much. -- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft." From luscheina at yahoo.de Fri Dec 7 08:06:34 2018 From: luscheina at yahoo.de (Christian F Buser) Date: Fri, 7 Dec 2018 14:06:34 +0100 Subject: [Mailman-Users] Unsubscribing not made easy? Message-ID: <20181207140634432350.ad122f20@yahoo.de> Hi all I have a Mailman 2.1.27 installation on cPanel 76.0.7. Today a subscriber of a list sent an empty email trying to unsubscribe. He addressed the message to the list address , with the subject "unsubscribe", and else nothing. But instead of his unsubsciption being processed, Mailman sent a message to the kist owners telling us to approve or reject the message. As a reason it was mentioned "message might contain mailman commands". Of course, at the end of each list message a footer is added mentioning the address - but isn't it a standard alternative procedure to unsubscibe using the command in the subject field of an else empty message? Is there anything I could do with the list configuration to correct the behaviour? Thank you Christian -- Christian F. Buser, Hohle Gasse 6, CH-5507 Mellingen (Switzerland) Hilfe fuer Strassenkinder in Ghana: http://www.chance-for-children.org From mailman-admin at uni-konstanz.de Fri Dec 7 09:35:19 2018 From: mailman-admin at uni-konstanz.de (mailman-admin) Date: Fri, 7 Dec 2018 15:35:19 +0100 Subject: [Mailman-Users] Unsubscribing not made easy? In-Reply-To: <20181207140634432350.ad122f20@yahoo.de> References: <20181207140634432350.ad122f20@yahoo.de> Message-ID: <375ffd6c-3b84-909f-9fa6-1a0362ee714e@uni-konstanz.de> Hi Am 07.12.18 um 14:06 schrieb Christian F Buser via Mailman-Users: > > I have a Mailman 2.1.27 installation on cPanel 76.0.7. > > Today a subscriber of a list sent an empty email trying to unsubscribe. He addressed the message to the list address , with the subject "unsubscribe", and else nothing. But instead of his unsubsciption being processed, Mailman sent a message to the kist owners telling us to approve or reject the message. > > As a reason it was mentioned "message might contain mailman commands". > > Of course, at the end of each list message a footer is added mentioning the address - but isn't it a standard alternative procedure to unsubscibe using the command in the subject field of an else empty message? > No. > Is there anything I could do with the list configuration to correct the behaviour? > No, as the behaviour is correct. Your list owners could manually remove the user as requested. Kind regards, Christian Mack From mark at msapiro.net Fri Dec 7 12:47:15 2018 From: mark at msapiro.net (Mark Sapiro) Date: Fri, 7 Dec 2018 09:47:15 -0800 Subject: [Mailman-Users] Unsubscribing not made easy? In-Reply-To: <20181207140634432350.ad122f20@yahoo.de> References: <20181207140634432350.ad122f20@yahoo.de> Message-ID: On 12/7/18 5:06 AM, Christian F Buser via Mailman-Users wrote: > > Today a subscriber of a list sent an empty email trying to unsubscribe. He addressed the message to the list address , with the subject "unsubscribe", and else nothing. But instead of his unsubsciption being processed, Mailman sent a message to the kist owners telling us to approve or reject the message. > > As a reason it was mentioned "message might contain mailman commands". The message was held and the owners were notified because the list's web admin General Options -> administrivia setting is Yes. If it were No, the message would have been accepted as a post and delivered to the list members. > Of course, at the end of each list message a footer is added mentioning the address - but isn't it a standard alternative procedure to unsubscibe using the command in the subject field of an else empty message? If such a message is sent to the listname-request address, it would be processed as an unsubscribe command. Given that it was sent to the list posting address, when administrivia is Yes, the message is held so an owner/moderator can review it and take appropriate action. > Is there anything I could do with the list configuration to correct the behaviour? The behavior you observed is exactly as intended. If administrivia is Yes, Mailman attempts to recognize messages with commands sent to the list rather than -request and hold them for owner/moderator action. Since it is not possible in all cases to determine the intent of the sender, it is better to have a human review the message than to have something that was not intended to be a command be processed as a command. Mailman is doing the right thing. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From mark at msapiro.net Sat Dec 8 19:47:32 2018 From: mark at msapiro.net (Mark Sapiro) Date: Sat, 8 Dec 2018 16:47:32 -0800 Subject: [Mailman-Users] Mailman subscription/unsubscription reports In-Reply-To: References: <1b0c7815-2de7-e5c3-7671-b3a31c0c5ba0@msapiro.net> Message-ID: <976b08a9-39f0-d2de-9496-7669273c37c4@msapiro.net> On 12/7/18 2:12 AM, Odhiambo Washington wrote: > On Fri, 7 Dec 2018 at 07:27, Mark Sapiro wrote: > >> On 12/3/18 4:55 AM, Odhiambo Washington wrote: >>> Hi All, >>> >>> I am running a list that has members joining and leaving. >>> I'd like to get an inside of these changes: >>> 1. how many members joined last month, this month.. >>> 2. How many members left last month, this month, this year. >> >> >> I had some time to play with this so check out >> (mirrored at >> ) >> >> If this is close to useful for you, I'm willing to tweak it if you want >> changes. > > > It is definitely very very useful. Thank you very much for putting this > together. > > > >> As it is, you can feed it a mailman subscribe log covering some period >> and it will report the most recent join/leave event by list and user for >> the whole log or, if specified, a most recent number of days. >> >> Run it under Python3 (it will work with Python 2) with the --help option >> for more info. >> > > I have tested it and notice that I need a few changesmods: > > 1. Give it the -l option to specify a listname (yes, my server has several > lists) > 2. The current -l should probably be changed to -f for specifying the > subscribe filename/path > 3. Since the subscribe log has dates, maybe -d should instead be used to > parse for and then group by month?? > Or perhaps you can add an option to specify the month you want, like > Jan, Feb, so a '-m Nov' will give the join/leave for November.. > 4. To make it a little fancier, you can display the results in some > tabulated format: > > Mailman Subscription Report for $Month > ----------------------------------------------------- > LISTNAME ---------------JOINED---------LEFT > list1 15 2 > list2 8 12 > .... I have updated the script at (mirrored at ) It doesn't do exactly what you asked for, but it has a -l/--list option which may be repeated for multiple lists and it prints a summary line For this list, joined = xx, left = xx for each list processed. If you want to see only the list name and summary you can pipe the output through sed '/^ /d' The biggest difference is there is no month option per se, but there are options to specify begin and end dates so for example to see only November you would specify --begin=2018-11-01 --end=2018-11-30 -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From odhiambo at gmail.com Sun Dec 9 13:14:19 2018 From: odhiambo at gmail.com (Odhiambo Washington) Date: Sun, 9 Dec 2018 21:14:19 +0300 Subject: [Mailman-Users] Mailman 3 on Ubuntu 18.04 In-Reply-To: <976b08a9-39f0-d2de-9496-7669273c37c4@msapiro.net> References: <1b0c7815-2de7-e5c3-7671-b3a31c0c5ba0@msapiro.net> <976b08a9-39f0-d2de-9496-7669273c37c4@msapiro.net> Message-ID: Hello everyone, I am seeking a third, fourth and even fifth eyes on this one. In my quest to run Mailman3, I obtained a VM running Ubuntu 18.04 and started on getting to run Mailman3. I found this link -> https://github.com/iomarmochtar/mailman3_ei It has instructions which looked fairly simple to get Mailman3 installed. However, I did encounter some hitches since the script is not meant for Ubuntu. With a few runs and observing the logs and modifying the script at every step it encountered and error, I finally managed to install Mailman3. It seems this is what you guys call a virtual environment in the Linux world? :-) Being a *BSD guy, this has not been easy for me. And I am an old cat so learning new things isn't exactly pleasant! :-) I would like to run Mailman3+MySQL and so far I have pulled in the necessary bits into the venv. First, I used `apt-get install python-pip python-dev libmysqlclient-dev` which to be honest I wasn't sure installed pymysql so I used the tools in the venv to be sure: ./conda/bin/pip install pymysql The script ultimately installed two files: /etc/supervisor/conf.d/{nginx.ini|webui.ini} which in my understanding now are supervisor scripts. I then had to install supervisord by reading from https://www.vultr.com/docs/installing-and-configuring-supervisor-on-ubuntu-16-04 root at lists:/etc/supervisord.d# python -m easy_install supervisor (I realize I could use `pip install supervisor', but that's just how things get confusing). Installing echo_supervisord_conf script to /usr/local/bin Installing pidproxy script to /usr/local/bin Installing supervisorctl script to /usr/local/bin Installing supervisord script to /usr/local/bin I am not sure that this was right. Should I have installed the supervisor on the main machine to run the bits, or the supervisor to be use is already installed in the venv? That is where a lot of the confusion exists in my mind. Within the script, there is reference to a file named misc/mailman3_core_requirements.txt which contained two lines, but I added the third one - postorius==1.2.0. Now to be honest, I am not even sure that was necessary or whether it ended installing it at all, because I think there is a good reason it wasn't there. What the reason is is what baffles me. mailman==3.2.0 mailman-hyperkitty==1.1.0 postorius==1.2.0 Luckily, I got the supervisord running, and finally was able to make the 1st leap (and I must swear this made me jump from my seat!): => /opt/mailman3/conda/envs/mailman3_ext/bin/python /opt/mailman3/webui/manage.py createsuperuser - this allowed me to create a superuser. The next steps in this script says that: *to run mailman3 services:* *service mailman3 start* *systemctl start supervisord* >From this point now is where I need help - serious help in smoothening things up and getting to understand these venv stuff! So I did run 'service mailman3 start' but this seems to be waiting for too long to drop me back into the CLI. I also run 'systemctl start supervisord' and that seems to work. What I am not sure is whether 'systemctl stop supervisord' actually does what it is expected to do because after I execute it, I still see processes running that I think are related. So far, I have been able to access the webUI on my VM using https://N.N.N.N:9090 I created a domain. But when I create a test list, I get an error - and I do not have a clue which logfile would have the error details - nginx or mailman... (I am 100% new to nginx). So now, I am stuck at: 1. Creating the mailing list 2. Getting to know whether the archiver is installed and running 3. Knowing is there are cron jobs to be running (Mailman2 type of thinking!) Ultimately I need to figure out: 1. How the mailman queue runners are started and stopped 2. Migrate s few lists from Mailman2 to this Mailman3 3. Mailman3 should use MySQL storage and Exim4 as the MTA (I have configured these bits in mailman.cfg) Thanks for your time reading all the blabbing I have put in here :-) -- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft." From odhiambo at gmail.com Sun Dec 9 13:44:07 2018 From: odhiambo at gmail.com (Odhiambo Washington) Date: Sun, 9 Dec 2018 21:44:07 +0300 Subject: [Mailman-Users] Mailman subscription/unsubscription reports In-Reply-To: <976b08a9-39f0-d2de-9496-7669273c37c4@msapiro.net> References: <1b0c7815-2de7-e5c3-7671-b3a31c0c5ba0@msapiro.net> <976b08a9-39f0-d2de-9496-7669273c37c4@msapiro.net> Message-ID: On Sun, 9 Dec 2018 at 03:47, Mark Sapiro wrote: > On 12/7/18 2:12 AM, Odhiambo Washington wrote: > > On Fri, 7 Dec 2018 at 07:27, Mark Sapiro wrote: > > > >> On 12/3/18 4:55 AM, Odhiambo Washington wrote: > >>> Hi All, > >>> > >>> I am running a list that has members joining and leaving. > >>> I'd like to get an inside of these changes: > >>> 1. how many members joined last month, this month.. > >>> 2. How many members left last month, this month, this year. > >> > >> > >> I had some time to play with this so check out > >> (mirrored at > >> ) > >> > >> If this is close to useful for you, I'm willing to tweak it if you want > >> changes. > > > > > > It is definitely very very useful. Thank you very much for putting this > > together. > > > > > > > >> As it is, you can feed it a mailman subscribe log covering some period > >> and it will report the most recent join/leave event by list and user for > >> the whole log or, if specified, a most recent number of days. > >> > >> Run it under Python3 (it will work with Python 2) with the --help option > >> for more info. > >> > > > > I have tested it and notice that I need a few changesmods: > > > > 1. Give it the -l option to specify a listname (yes, my server has > several > > lists) > > 2. The current -l should probably be changed to -f for specifying the > > subscribe filename/path > > 3. Since the subscribe log has dates, maybe -d should instead be used to > > parse for and then group by month?? > > Or perhaps you can add an option to specify the month you want, like > > Jan, Feb, so a '-m Nov' will give the join/leave for November.. > > 4. To make it a little fancier, you can display the results in some > > tabulated format: > > > > Mailman Subscription Report for $Month > > ----------------------------------------------------- > > LISTNAME ---------------JOINED---------LEFT > > list1 15 2 > > list2 8 12 > > .... > > > I have updated the script at > (mirrored at > ) > > It doesn't do exactly what you asked for, but it has a -l/--list option > which may be repeated for multiple lists and it prints a summary line > > For this list, joined = xx, left = xx > > for each list processed. If you want to see only the list name and > summary you can pipe the output through > > sed '/^ /d' > > The biggest difference is there is no month option per se, but there are > options to specify begin and end dates so for example to see only > November you would specify > > --begin=2018-11-01 --end=2018-11-30 > > -- > Mark Sapiro The highway is for gamblers, > San Francisco Bay Area, California better use your sense - B. Dylan > Hi Mark, Thank you so much. This is awesome. It's good enough for me to get the stats by month if I run it monthly, at the end of the month, with --begin referencing the right date. Thank you once again. -- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft." From mark at msapiro.net Sun Dec 9 14:36:48 2018 From: mark at msapiro.net (Mark Sapiro) Date: Sun, 9 Dec 2018 11:36:48 -0800 Subject: [Mailman-Users] Mailman 3 on Ubuntu 18.04 In-Reply-To: References: <1b0c7815-2de7-e5c3-7671-b3a31c0c5ba0@msapiro.net> <976b08a9-39f0-d2de-9496-7669273c37c4@msapiro.net> Message-ID: <8e184fe4-907d-1773-a6a9-1e4bf2a3e087@msapiro.net> On 12/9/18 10:14 AM, Odhiambo Washington wrote: > > In my quest to run Mailman3, I obtained a VM running Ubuntu 18.04 and > started on getting to run Mailman3. > I found this link -> https://github.com/iomarmochtar/mailman3_ei > It has instructions which looked fairly simple to get Mailman3 installed. > However, I did encounter some hitches since the script is not meant for > Ubuntu. First, a more appropriate list for Mailman 3 is mailman-users at mailman3.org . Also, we find it very difficult to address issues arising from third party packages and how-tos. See . And, there is a Mailman 3 package for Debian/Ubuntu apt install mailman3-full > With a few runs and observing the logs and modifying the script at every > step it encountered and error, I finally managed to install Mailman3. It > seems this is what you guys call a virtual environment in the Linux world? > :-) I think the virtual environment in this case is a Python thing, not a Linux thing. Much of what I snipped is specific to , the details of which I'm not interested in learning. >>From this point now is where I need help - serious help in smoothening > things up and getting to understand these venv stuff! > > So I did run 'service mailman3 start' but this seems to be waiting for too > long to drop me back into the CLI. > I also run 'systemctl start supervisord' and that seems to work. What I am > not sure is whether 'systemctl stop supervisord' actually does what it is > expected to do because after I execute it, I still see processes running > that I think are related. > > So far, I have been able to access the webUI on my VM using > https://N.N.N.N:9090 > I created a domain. > But when I create a test list, I get an error - and I do not have a clue > which logfile would have the error details - nginx or mailman... (I am 100% > new to nginx). The nginx logs generally aren't too useful. Both Mailman core and Django write logs. Core's log is probably in var/log/mailman.log where is defined in mailman.cfg as var_dir. Django's log is defined in Django's settings in the LOGGING setting. > So now, I am stuck at: > 1. Creating the mailing list > 2. Getting to know whether the archiver is installed and running > 3. Knowing is there are cron jobs to be running (Mailman2 type of thinking!) See and > Ultimately I need to figure out: > 1. How the mailman queue runners are started and stopped mailman start > 2. Migrate s few lists from Mailman2 to this Mailman3 mailman import21 hyperkitty_import > 3. Mailman3 should use MySQL storage and Exim4 as the MTA (I have > configured these bits in mailman.cfg) You also need to configure MySQL in Django. See the DATABASES setting in the Django settings. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From odhiambo at gmail.com Sun Dec 9 15:53:27 2018 From: odhiambo at gmail.com (Odhiambo Washington) Date: Sun, 9 Dec 2018 23:53:27 +0300 Subject: [Mailman-Users] Mailman 3 on Ubuntu 18.04 In-Reply-To: <8e184fe4-907d-1773-a6a9-1e4bf2a3e087@msapiro.net> References: <1b0c7815-2de7-e5c3-7671-b3a31c0c5ba0@msapiro.net> <976b08a9-39f0-d2de-9496-7669273c37c4@msapiro.net> <8e184fe4-907d-1773-a6a9-1e4bf2a3e087@msapiro.net> Message-ID: On Sun, 9 Dec 2018 at 22:37, Mark Sapiro wrote: > On 12/9/18 10:14 AM, Odhiambo Washington wrote: > > > > In my quest to run Mailman3, I obtained a VM running Ubuntu 18.04 and > > started on getting to run Mailman3. > > I found this link -> https://github.com/iomarmochtar/mailman3_ei > > It has instructions which looked fairly simple to get Mailman3 installed. > > However, I did encounter some hitches since the script is not meant for > > Ubuntu. > > > First, a more appropriate list for Mailman 3 is > mailman-users at mailman3.org > . > I am shifting to that list, after this. > > Also, we find it very difficult to address issues arising from third > party packages and how-tos. See . > > And, there is a Mailman 3 package for Debian/Ubuntu > > apt install mailman3-full > In all my searching, I never found this in any documentation. I must have been searching in the wild, or my FreeBSD-mindedness got me stuck to containers and VENVs. > > With a few runs and observing the logs and modifying the script at every > > step it encountered and error, I finally managed to install Mailman3. It > > seems this is what you guys call a virtual environment in the Linux > world? > > :-) > > > I think the virtual environment in this case is a Python thing, not a > Linux thing. > I agree with you on that. > > > > Much of what I snipped is specific to > , the details of which I'm > not interested in learning. > That is fine. I have put it aside for now. > > > >>From this point now is where I need help - serious help in smoothening > > things up and getting to understand these venv stuff! > > > > So I did run 'service mailman3 start' but this seems to be waiting for > too > > long to drop me back into the CLI. > > I also run 'systemctl start supervisord' and that seems to work. What I > am > > not sure is whether 'systemctl stop supervisord' actually does what it is > > expected to do because after I execute it, I still see processes running > > that I think are related. > > > > So far, I have been able to access the webUI on my VM using > > https://N.N.N.N:9090 > > I created a domain. > > But when I create a test list, I get an error - and I do not have a clue > > which logfile would have the error details - nginx or mailman... (I am > 100% > > new to nginx). > > > The nginx logs generally aren't too useful. Both Mailman core and Django > write logs. Core's log is probably in var/log/mailman.log where is > defined in mailman.cfg as var_dir. Django's log is defined in Django's > settings in the LOGGING setting. > Which file contains Django's settings? > > So now, I am stuck at: > > 1. Creating the mailing list > > 2. Getting to know whether the archiver is installed and running > > 3. Knowing is there are cron jobs to be running (Mailman2 type of > thinking!) > > > See > > > and > < > http://docs.mailman3.org/en/latest/config-web.html#scheduled-tasks-required > > > Great to see that. I'll read and see if I make heads or tails of the writeup. > > Ultimately I need to figure out: > > 1. How the mailman queue runners are started and stopped > > mailman start > Why not systemctl mailman start?? Just wondering, as that is what I am seeing is common in Ubuntu. Does this make the components start after a reboot? > > 2. Migrate s few lists from Mailman2 to this Mailman3 > > mailman import21 > hyperkitty_import > Please show me where that is documented. I have to pull my lists from an old machine to this new one. > > 3. Mailman3 should use MySQL storage and Exim4 as the MTA (I have > > configured these bits in mailman.cfg) > > > You also need to configure MySQL in Django. See the DATABASES setting in > the Django settings. > So, when you talk about Django settings, you are referring to mailman.cfg file??? :-) I have spent all my weekend till now, trying to figure all this out. Life seems a little easier with mm2.x .... Thank you. -- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft." From bernie at fantasyfarm.com Wed Dec 12 14:35:43 2018 From: bernie at fantasyfarm.com (Bernie Cosell) Date: Wed, 12 Dec 2018 14:35:43 -0500 Subject: [Mailman-Users] DKIM Message-ID: <5C11630F.10260.E88BE3B@bernie.fantasyfarm.com> I have two questions about the DKIM/spf munging that mailman does. First: when it replaces the 'from' with a munged address [replacing the name with "name via thislist" does it stick the original email address somewhere in the message, so if a listmember wanted to reply to the original sender they'd be able to? I thought it did but I just looked through one and didn't see the poster's original email. [actually, let me amend that: I see that his email addr is in the 'cc' field -- did mailman do that or did he?] Second, I'm a bit shaky [to say the least..:o)] about how the DKIM stuff all works. I do have access to Unix shell account, so I can do dig and host and such. If a listmember asks me if "@randomserver.com" is OK to not-get-munged when it posts to the list, what would I do? Thanks /Bernie\ Bernie Cosell bernie at fantasyfarm.com -- Too many people; too few sheep -- From dmaziuk at bmrb.wisc.edu Wed Dec 12 16:51:50 2018 From: dmaziuk at bmrb.wisc.edu (Dimitri Maziuk) Date: Wed, 12 Dec 2018 15:51:50 -0600 Subject: [Mailman-Users] scrub attachments Message-ID: Hi all, I've a user send a message with pdf attachments and they ended up as html links to the web archive. Which is fine except - content filtering is off, - scrub attachments is set to no. I though that was supposed to allow attachments through. I guess I thought wrong, but what am I missing? TIA -- Dimitri Maziuk Programmer/sysadmin BioMagResBank, UW-Madison -- http://www.bmrb.wisc.edu -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 190 bytes Desc: OpenPGP digital signature URL: From mark at msapiro.net Wed Dec 12 17:33:19 2018 From: mark at msapiro.net (Mark Sapiro) Date: Wed, 12 Dec 2018 14:33:19 -0800 Subject: [Mailman-Users] DKIM In-Reply-To: <5C11630F.10260.E88BE3B@bernie.fantasyfarm.com> References: <5C11630F.10260.E88BE3B@bernie.fantasyfarm.com> Message-ID: <8961150a-c49a-f2fb-1f35-4bf4ea870835@msapiro.net> On 12/12/18 11:35 AM, Bernie Cosell wrote: > I have two questions about the DKIM/spf munging that mailman does. > > First: when it replaces the 'from' with a munged address [replacing the name > with "name via thislist" does it stick the original email address somewhere in the > message, so if a listmember wanted to reply to the original sender they'd be able > to? I thought it did but I just looked through one and didn't see the poster's > original email. [actually, let me amend that: I see that his email addr is in the 'cc' > field -- did mailman do that or did he?] Mailman did that. Mailman puts the original From: address in either Cc: or Reply-To:; which one depends on other list settings. The intent is that a reasonably comliant MUA will do the same thing with 'reply' and 'reply all' whether or not the From: is munged. This generally means the original From goes in Reply-To: unless the list mungs the Reply-To: in which case it goes in Cc: > Second, I'm a bit shaky [to say the least..:o)] about how the DKIM stuff all works. > I do have access to Unix shell account, so I can do dig and host and such. If a > listmember asks me if "@randomserver.com" is OK to not-get-munged when it > posts to the list, what would I do? Thanks This is actually, DMARC, not DKIM per se, but use 'dig' or some other DNS query tool to look up a TXT record associated with the name _dmarc.randomserver.com. For example dig txt _dmarc.aol.com finds "v=DMARC1; p=reject; pct=100; rua=mailto:d at rua.agari.com; ruf=mailto:d at ruf.agari.com;" host -t txt _dmarc.aol.com returns the same text. What you are looking for is 'v=DMARC1' which says this is a DMARC policy record and then the p= value which is the policy which is one of 'reject', 'quarantine' or 'none'. If your list is set with dmarc_moderation_action other than accept, that action will be applied to mail From: domains with a policy of 'reject' and possibly 'quarantine' or 'none' depending on the settings of dmarc_quarantine_moderation_action and dmarc_none_moderation_action. Also, if the From: domain is not what is known as an organizational domain, e.g., some.subdomain.aol.com and that domain doesn't publish a DMARC policy, you then have to look up the policy of the organizational domain. For common TLDs like .com, .net, .gov, .org, .edu, etc. the organizational domain is just the top two levels, e.g. python.org, aol.com, etc. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From christoffer at netravnen.de Wed Dec 12 17:32:18 2018 From: christoffer at netravnen.de (Christoffer Hansen) Date: Wed, 12 Dec 2018 23:32:18 +0100 Subject: [Mailman-Users] DKIM In-Reply-To: <5C11630F.10260.E88BE3B@bernie.fantasyfarm.com> References: <5C11630F.10260.E88BE3B@bernie.fantasyfarm.com> Message-ID: Bernie, On 12/12/2018 20:35, Bernie Cosell wrote: > First: when it replaces the 'from' with a munged address [replacing the name > with "name via thislist" does it stick the original email address somewhere in the > message, (...) "Reply-To:" field can be set with the original senders email address.[0] (This is configurable by list admins as configuration option out of several possible) Cheers Christoffer [0]: https://www.gnu.org/software/mailman/mailman-admin/node11.html -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 228 bytes Desc: OpenPGP digital signature URL: From mark at msapiro.net Wed Dec 12 17:42:26 2018 From: mark at msapiro.net (Mark Sapiro) Date: Wed, 12 Dec 2018 14:42:26 -0800 Subject: [Mailman-Users] scrub attachments In-Reply-To: References: Message-ID: On 12/12/18 1:51 PM, Dimitri Maziuk via Mailman-Users wrote: > Hi all, > > I've a user send a message with pdf attachments and they ended up as > html links to the web archive. Which is fine except > - content filtering is off, > - scrub attachments is set to no. > I though that was supposed to allow attachments through. I guess I > thought wrong, but what am I missing? Those settings allow non-plain text attachments to remain as attachments in individual messages and MIME format digests sent to list members, but they will always be 'scrubbed' from plain text digests and the pipermail archive because those things only support plain text, possibly with hyperlinks to removed non-plain text parts. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: OpenPGP digital signature URL: From mark at msapiro.net Wed Dec 12 17:49:32 2018 From: mark at msapiro.net (Mark Sapiro) Date: Wed, 12 Dec 2018 14:49:32 -0800 Subject: [Mailman-Users] DKIM In-Reply-To: References: <5C11630F.10260.E88BE3B@bernie.fantasyfarm.com> Message-ID: <3c6e4cbc-091a-fca1-dcae-ccbf83d42686@msapiro.net> On 12/12/18 2:32 PM, Christoffer Hansen wrote: > "Reply-To:" field can be set with the original senders email address.[0] > (This is configurable by list admins as configuration option out of > several possible) > > Cheers > > Christoffer > > [0]: https://www.gnu.org/software/mailman/mailman-admin/node11.html I'm not sure what you are trying to say, but the manual page you point to discusses the settings first_strip_reply_to, reply_goes_to_list and reply_to_address and these cannot in general be used to set Reply-To: to the original senders email address. In particular, reply_goes_to_list = Poster sets nothing in Reply-To: allowing From: to control the reply address. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: OpenPGP digital signature URL: From dmaziuk at bmrb.wisc.edu Wed Dec 12 18:30:23 2018 From: dmaziuk at bmrb.wisc.edu (Dimitri Maziuk) Date: Wed, 12 Dec 2018 17:30:23 -0600 Subject: [Mailman-Users] scrub attachments In-Reply-To: References: Message-ID: On 12/12/18 4:42 PM, Mark Sapiro wrote: > Those settings allow non-plain text attachments to remain as attachments > in individual messages and MIME format digests sent to list members, but > they will always be 'scrubbed' from plain text digests and the pipermail > archive because those things only support plain text, possibly with > hyperlinks to removed non-plain text parts. It's a non-digest list (and yes, I get the archives), but here's the thought: if a member's set to "plain", would that also trigger the scrub? -- Dimitri Maziuk Programmer/sysadmin BioMagResBank, UW-Madison -- http://www.bmrb.wisc.edu -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 190 bytes Desc: OpenPGP digital signature URL: From mark at msapiro.net Wed Dec 12 18:53:25 2018 From: mark at msapiro.net (Mark Sapiro) Date: Wed, 12 Dec 2018 15:53:25 -0800 Subject: [Mailman-Users] scrub attachments In-Reply-To: References: Message-ID: On 12/12/18 3:30 PM, Dimitri Maziuk via Mailman-Users wrote: > > It's a non-digest list (and yes, I get the archives), but here's the > thought: if a member's set to "plain", would that also trigger the scrub? The 'plain' member setting only affects the format of the digest the member receives if the member is a digest member. The scrubbing will always occur for all posts in the pipermail archive regardless of list settings as long as they allow non-plain text attachments. If you're asking if a non-digest member is set to 'plain' would attachments be scrubbed from posts sent to that member, the answer is no. the 'plain' setting affects only the digest format for digest members. It has no effect for non-digest members. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: OpenPGP digital signature URL: From dmaziuk at bmrb.wisc.edu Wed Dec 12 19:12:56 2018 From: dmaziuk at bmrb.wisc.edu (Dimitri Maziuk) Date: Wed, 12 Dec 2018 18:12:56 -0600 Subject: [Mailman-Users] scrub attachments In-Reply-To: References: Message-ID: On 12/12/18 5:53 PM, Mark Sapiro wrote: > If you're asking if a non-digest member is set to 'plain' would > attachments be scrubbed from posts sent to that member, the answer is > no. the 'plain' setting affects only the digest format for digest > members. It has no effect for non-digest members. OK, thank you. I guess I need to double-check what the guy actually saw/got: all I nave to go on is the archive (where attachments are scrubbed as intended) and the config that says the list is nondigestable = 1, digestable = 0. Perhaps his gmail ate the pdfs, or he is not receiving his own messages or something... Thanks again -- Dimitri Maziuk Programmer/sysadmin BioMagResBank, UW-Madison -- http://www.bmrb.wisc.edu -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 190 bytes Desc: OpenPGP digital signature URL: From dmaziuk at bmrb.wisc.edu Thu Dec 13 16:45:31 2018 From: dmaziuk at bmrb.wisc.edu (Dimitri Maziuk) Date: Thu, 13 Dec 2018 15:45:31 -0600 Subject: [Mailman-Users] SOLVED scrub attachments In-Reply-To: References: Message-ID: So this was a user problem, mailman works exactly as advertised: - user has his e-mail forwarded to gmail, - gmail put it in "all mail", - not seeing it in "inbox", the user went and checked the archives, - where the attachments were scrubbed. Now that we found the actual e-mails, the attachments are there indeed. (I expect having "not me too" set would do this, too, but it wasn't the case here.) -- Dimitri Maziuk Programmer/sysadmin BioMagResBank, UW-Madison -- http://www.bmrb.wisc.edu -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 190 bytes Desc: OpenPGP digital signature URL: From luscheina at yahoo.de Fri Dec 14 03:44:55 2018 From: luscheina at yahoo.de (Christian F Buser) Date: Fri, 14 Dec 2018 09:44:55 +0100 Subject: [Mailman-Users] SOLVED scrub attachments In-Reply-To: References: Message-ID: <20181214094455013069.248d0663@yahoo.de> Hello Dimitri Maziuk via Mailman-Users. On Thu, 13 Dec 2018 15:45:31 -0600, you wrote: > So this was a user problem, mailman works exactly as advertised: > - user has his e-mail forwarded to gmail, > - gmail put it in "all mail", > - not seeing it in "inbox", the user went and checked the archives, > - where the attachments were scrubbed. So I guess, Gmail decided to put the list message in the spam / junk folder first? Christian -- Christian F. Buser, Hohle Gasse 6, CH-5507 Mellingen (Switzerland) Hilfe fuer Strassenkinder in Ghana: http://www.chance-for-children.org From mark at msapiro.net Fri Dec 14 12:18:30 2018 From: mark at msapiro.net (Mark Sapiro) Date: Fri, 14 Dec 2018 09:18:30 -0800 Subject: [Mailman-Users] members not receiving their own messages. In-Reply-To: <23426.54416.140810.706947@turnbull.sk.tsukuba.ac.jp> References: <23426.54416.140810.706947@turnbull.sk.tsukuba.ac.jp> Message-ID: This is a follow-up on the original thread from last August which resulted if the FAQ at . I have tested the filter described in that FAQ and I find that it only appears to work. What it does is place a copy of your sent message in your inbox as you send it so it appears that you have received your post from the list, but the message in your inbox is a copy of your sent message, it is not the message received from the list. It has none of the headers or other list transformation that the message from the list would have. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From mark at msapiro.net Fri Dec 14 12:18:46 2018 From: mark at msapiro.net (Mark Sapiro) Date: Fri, 14 Dec 2018 09:18:46 -0800 Subject: [Mailman-Users] SOLVED scrub attachments In-Reply-To: <20181214094455013069.248d0663@yahoo.de> References: <20181214094455013069.248d0663@yahoo.de> Message-ID: <7363497c-096e-db18-d645-70bade2bcadf@msapiro.net> On 12/14/18 12:44 AM, Christian F Buser via Mailman-Users wrote: > Hello Dimitri Maziuk via Mailman-Users. On Thu, 13 Dec 2018 15:45:31 -0600, you wrote: > >> So this was a user problem, mailman works exactly as advertised: >> - user has his e-mail forwarded to gmail, >> - gmail put it in "all mail", >> - not seeing it in "inbox", the user went and checked the archives, >> - where the attachments were scrubbed. > > So I guess, Gmail decided to put the list message in the spam / junk folder first? Actually, it appears that this was the user's own post in which case Gmail discarded the received list post. The message in "all mail" was the original post as in the user's "sent" folder. See . -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From dmaziuk at bmrb.wisc.edu Fri Dec 14 13:49:56 2018 From: dmaziuk at bmrb.wisc.edu (Dimitri Maziuk) Date: Fri, 14 Dec 2018 12:49:56 -0600 Subject: [Mailman-Users] SOLVED scrub attachments In-Reply-To: <7363497c-096e-db18-d645-70bade2bcadf@msapiro.net> References: <20181214094455013069.248d0663@yahoo.de> <7363497c-096e-db18-d645-70bade2bcadf@msapiro.net> Message-ID: <8681995f-e5f5-dc97-79e1-09b8ff4adc50@bmrb.wisc.edu> On 12/14/18 11:18 AM, Mark Sapiro wrote: > . Oh, so it's a feature. Colour me surprised. -- Dimitri Maziuk Programmer/sysadmin BioMagResBank, UW-Madison -- http://www.bmrb.wisc.edu -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 190 bytes Desc: OpenPGP digital signature URL: From odhiambo at gmail.com Sat Dec 15 04:35:22 2018 From: odhiambo at gmail.com (Odhiambo Washington) Date: Sat, 15 Dec 2018 12:35:22 +0300 Subject: [Mailman-Users] Mailman+Exim in Ubuntu Message-ID: Hi everyone, I am very new to Ubuntu, and having problems with Mailman+Exim integration. My biggest problem here would be my little knowledge in manipulating things in Ubuntu. So here goes: I followed this link to install: https://help.ubuntu.com/community/Mailman The most important part in this is the MACROS definitions in Exim: # User and group for Mailman, should match your --with-mail-gid # switch to Mailman's configure script. Value is normally "mailman" MM_UID=list MM_GID=list Now, posts cannot be delivered because: 2018-12-15 00:00:58 1gXuEg-0006Hn-2J ** testing at lists.my.co.ke < testing-bounces at lists.my.co.ke> R=mailman_router T=mailman_transport: Child process of mailman_transport transport returned 2 from command: /var/lib/mailman/mail/mailman After consulting Google, I got advised to run a test: root at lists:/home/wash# /var/lib/mailman/mail/wrapper post Group mismatch error. Mailman expected the mail wrapper script to be executed as group "daemon", but the system's mail server executed the mail script as group "root". Try tweaking the mail server to run the script as group "daemon", or re-run configure, providing the command line option `--with-mail-gid=root' So, how do I resolve this in Ubuntu 18.04 ?? -- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft." From mark at msapiro.net Sat Dec 15 12:13:27 2018 From: mark at msapiro.net (Mark Sapiro) Date: Sat, 15 Dec 2018 09:13:27 -0800 Subject: [Mailman-Users] Mailman+Exim in Ubuntu In-Reply-To: References: Message-ID: On 12/15/18 1:35 AM, Odhiambo Washington wrote: > > # User and group for Mailman, should match your --with-mail-gid > # switch to Mailman's configure script. Value is normally "mailman" > MM_UID=list > MM_GID=list > > Now, posts cannot be delivered because: > 2018-12-15 00:00:58 1gXuEg-0006Hn-2J ** testing at lists.my.co.ke < > testing-bounces at lists.my.co.ke> R=mailman_router T=mailman_transport: Child > process of mailman_transport transport returned 2 from command: > /var/lib/mailman/mail/mailman Status = 2 is a group mismatch error as you apparently discovered. > After consulting Google, I got advised to run a test: > > root at lists:/home/wash# /var/lib/mailman/mail/wrapper post > Group mismatch error. Mailman expected the mail > wrapper script to be executed as group "daemon", but > the system's mail server executed the mail script as > group "root". Try tweaking the mail server to run the > script as group "daemon", or re-run configure, > providing the command line option `--with-mail-gid=root' This test is irrelevant. It would be expected to produce a group mismatch because you are running the wrapper as root:root and not as the user:group that Exim runs it as. Also, even in Debian/Ubuntu, the wrapper is normally named mailman/mail/mailman, not mailman/mail/wrapper, so I'm not sure what's going on here. As far as how to fix it, this is really a Debian/Ubuntu question. See . That said, there are a couple of things going on here: It appears from your above test that the expected group is 'daemon'. This is strange as in Debian/Ubuntu , it is normally 'list' which is why in your Exim config you have MM_GID=list. You could try MM_GID=daemon to fix this. The Debian/Ubuntu package has patches to avoid the group mismatch test if the real gid of the caller is < 100 or = 65534. My recomendation, especially if you want help from this list is to junk the Ubuntu package and install from source. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From dmaziuk at bmrb.wisc.edu Sat Dec 15 13:37:24 2018 From: dmaziuk at bmrb.wisc.edu (Dmitri Maziuk) Date: Sat, 15 Dec 2018 12:37:24 -0600 Subject: [Mailman-Users] Mailman+Exim in Ubuntu In-Reply-To: References: Message-ID: <20181215123724.c60b6482bac2f913176d7db4@bmrb.wisc.edu> On Sat, 15 Dec 2018 09:13:27 -0800 Mark Sapiro wrote: > My recomendation, especially if you want help from this list is to > junk the Ubuntu package and install from source. I would recommend ditching ubuntu, too, and going with something that a) isn't systemd and b) comes with postfix. If I were doing this, I'd be tempted to try alpine w/ mailman from source. (We run centos 6 on servers and so far I don't see any upgrade path for them that involves either readhat- or debian-based distributions. In fact, *BSD looks like a better option than any of them at the moment.) -- Dmitri Maziuk From odhiambo at gmail.com Sun Dec 16 04:05:28 2018 From: odhiambo at gmail.com (Odhiambo Washington) Date: Sun, 16 Dec 2018 12:05:28 +0300 Subject: [Mailman-Users] Mailman+Exim in Ubuntu In-Reply-To: References: Message-ID: On Sat, 15 Dec 2018 at 20:13, Mark Sapiro wrote: > On 12/15/18 1:35 AM, Odhiambo Washington wrote: > > > > # User and group for Mailman, should match your --with-mail-gid > > # switch to Mailman's configure script. Value is normally "mailman" > > MM_UID=list > > MM_GID=list > > > > Now, posts cannot be delivered because: > > 2018-12-15 00:00:58 1gXuEg-0006Hn-2J ** testing at lists.my.co.ke < > > testing-bounces at lists.my.co.ke> R=mailman_router T=mailman_transport: > Child > > process of mailman_transport transport returned 2 from command: > > /var/lib/mailman/mail/mailman > > > Status = 2 is a group mismatch error as you apparently discovered. > Yes, and got stumped as well. > > > > After consulting Google, I got advised to run a test: > > > > root at lists:/home/wash# /var/lib/mailman/mail/wrapper post > > Group mismatch error. Mailman expected the mail > > wrapper script to be executed as group "daemon", but > > the system's mail server executed the mail script as > > group "root". Try tweaking the mail server to run the > > script as group "daemon", or re-run configure, > > providing the command line option `--with-mail-gid=root' > > > This test is irrelevant. It would be expected to produce a group > mismatch because you are running the wrapper as root:root and not as the > user:group that Exim runs it as. > Ah, that explains it. Every change I did to MM_UID and MM_GID was producing that error, leaving me wondering. > Also, even in Debian/Ubuntu, the wrapper is normally named > mailman/mail/mailman, not mailman/mail/wrapper, so I'm not sure what's going on here. > I saw the wrapper is a symlink so I did not find it odd to just use the name. root at lists:/home/wash# cd /var/lib/mailman/mail/ root at lists:/var/lib/mailman/mail# ls -al total 24 drwxrwsr-x 2 root list 4096 Dec 15 13:51 . drwxr-xr-x 7 root list 4096 Dec 15 13:44 .. -rwxr-sr-x 1 root list 14672 Nov 30 19:01 mailman lrwxrwxrwx 1 root root 7 Nov 30 19:01 wrapper -> mailman root at lists:/var/lib/mailman/mail# > > As far as how to fix it, this is really a Debian/Ubuntu question. See > . > > > That said, there are a couple of things going on here: > > It appears from your above test that the expected group is 'daemon'. > This is strange as in Debian/Ubuntu , it is normally 'list' which is why > in your Exim config you have MM_GID=list. You could try MM_GID=daemon to > fix this. > > The Debian/Ubuntu package has patches to avoid the group mismatch test > if the real gid of the caller is < 100 or = 65534. > > My recomendation, especially if you want help from this list is to junk > the Ubuntu package and install from source. > Actually, you've just woken me up - install from source :-) I just don't seem to get things right with packages I am not sure how to manipulate because I am not too familiar with the OS. I just did not think about installing from source, because I was relying on all the supposedly working HOWTOs online, so I wanted to leave the ecosystem as natural as possible. -- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft." From bsfinkel at att.net Sun Dec 16 10:45:27 2018 From: bsfinkel at att.net (Barry S. Finkel) Date: Sun, 16 Dec 2018 09:45:27 -0600 Subject: [Mailman-Users] Mailman+Exim in Ubuntu In-Reply-To: References: Message-ID: <8753f33c-1d51-8516-4038-774676a5bbd0@att.net> On 12/16/2018 3:05 AM, Odhiambo Washington wrote: > On Sat, 15 Dec 2018 at 20:13, Mark Sapiro wrote: > >> On 12/15/18 1:35 AM, Odhiambo Washington wrote: >>> >>> # User and group for Mailman, should match your --with-mail-gid >>> # switch to Mailman's configure script. Value is normally "mailman" >>> MM_UID=list >>> MM_GID=list >>> >>> Now, posts cannot be delivered because: >>> 2018-12-15 00:00:58 1gXuEg-0006Hn-2J ** testing at lists.my.co.ke < >>> testing-bounces at lists.my.co.ke> R=mailman_router T=mailman_transport: >> Child >>> process of mailman_transport transport returned 2 from command: >>> /var/lib/mailman/mail/mailman >> >> >> Status = 2 is a group mismatch error as you apparently discovered. >> > > Yes, and got stumped as well. > > >> >> >>> After consulting Google, I got advised to run a test: >>> >>> root at lists:/home/wash# /var/lib/mailman/mail/wrapper post >>> Group mismatch error. Mailman expected the mail >>> wrapper script to be executed as group "daemon", but >>> the system's mail server executed the mail script as >>> group "root". Try tweaking the mail server to run the >>> script as group "daemon", or re-run configure, >>> providing the command line option `--with-mail-gid=root' >> >> >> This test is irrelevant. It would be expected to produce a group >> mismatch because you are running the wrapper as root:root and not as the >> user:group that Exim runs it as. >> > > Ah, that explains it. Every change I did to MM_UID and MM_GID was producing > that > error, leaving me wondering. > > >> Also, even in Debian/Ubuntu, the wrapper is normally named >> mailman/mail/mailman, not mailman/mail/wrapper, so I'm not sure what's > > going on here. >> > > I saw the wrapper is a symlink so I did not find it odd to just use the > name. > > root at lists:/home/wash# cd /var/lib/mailman/mail/ > root at lists:/var/lib/mailman/mail# ls -al > total 24 > drwxrwsr-x 2 root list 4096 Dec 15 13:51 . > drwxr-xr-x 7 root list 4096 Dec 15 13:44 .. > -rwxr-sr-x 1 root list 14672 Nov 30 19:01 mailman > lrwxrwxrwx 1 root root 7 Nov 30 19:01 wrapper -> mailman > root at lists:/var/lib/mailman/mail# > > > >> >> As far as how to fix it, this is really a Debian/Ubuntu question. See >> . >> >> >> That said, there are a couple of things going on here: >> >> It appears from your above test that the expected group is 'daemon'. >> This is strange as in Debian/Ubuntu , it is normally 'list' which is why >> in your Exim config you have MM_GID=list. You could try MM_GID=daemon to >> fix this. >> >> The Debian/Ubuntu package has patches to avoid the group mismatch test >> if the real gid of the caller is < 100 or = 65534. >> >> My recomendation, especially if you want help from this list is to junk >> the Ubuntu package and install from source. >> > > Actually, you've just woken me up - install from source :-) > I just don't seem to get things right with packages I am not sure how to > manipulate because > I am not too familiar with the OS. I just did not think about installing > from source, because I > was relying on all the supposedly working HOWTOs online, so I wanted to > leave the ecosystem > as natural as possible. > > When I was managing a Mailman installation on Ubuntu, I looked at the Debian/Ubuntu package, and it had a number of undocumented patches. I did not trust these, and I discovered that one patch deletes a file that is sometimes needed. So, I took the Mailman source and built my own package. I included a few patches from Mark that I needed, and I kept the D/U patches that put the files in the proper directories. The rest of the patches I discarded. This was for, IIRC, Mailman 2.14. I assume that what I did would work for the current Mailman 2.x release. Those who want details can contact me off-list. --Barry Finkel From odhiambo at gmail.com Mon Dec 17 02:50:53 2018 From: odhiambo at gmail.com (Odhiambo Washington) Date: Mon, 17 Dec 2018 10:50:53 +0300 Subject: [Mailman-Users] Mailman+Exim in Ubuntu In-Reply-To: <8753f33c-1d51-8516-4038-774676a5bbd0@att.net> References: <8753f33c-1d51-8516-4038-774676a5bbd0@att.net> Message-ID: Hello Barry, I was able to resolve this, using the Ubuntu package itself, so I do not need to manually compile. But it also gave me the impetus of learning how to manually compile stuff in Linux . Now that MM21 is running, I need help running MM3 alongside it and migrate from 2.1 The main purpose of getting this particular VM was to get to run MM3. For now, I think I am taking a sabbatical from MM2 list, headed to MM3 mailing list to seek support of someone willing to hand hold me with that monster. On Sun, 16 Dec 2018 at 18:44, Barry S. Finkel wrote: > On 12/16/2018 3:05 AM, Odhiambo Washington wrote: > > On Sat, 15 Dec 2018 at 20:13, Mark Sapiro wrote: > > > >> On 12/15/18 1:35 AM, Odhiambo Washington wrote: > >>> > >>> # User and group for Mailman, should match your --with-mail-gid > >>> # switch to Mailman's configure script. Value is normally "mailman" > >>> MM_UID=list > >>> MM_GID=list > >>> > >>> Now, posts cannot be delivered because: > >>> 2018-12-15 00:00:58 1gXuEg-0006Hn-2J ** testing at lists.my.co.ke < > >>> testing-bounces at lists.my.co.ke> R=mailman_router T=mailman_transport: > >> Child > >>> process of mailman_transport transport returned 2 from command: > >>> /var/lib/mailman/mail/mailman > >> > >> > >> Status = 2 is a group mismatch error as you apparently discovered. > >> > > > > Yes, and got stumped as well. > > > > > >> > >> > >>> After consulting Google, I got advised to run a test: > >>> > >>> root at lists:/home/wash# /var/lib/mailman/mail/wrapper post > >>> Group mismatch error. Mailman expected the mail > >>> wrapper script to be executed as group "daemon", but > >>> the system's mail server executed the mail script as > >>> group "root". Try tweaking the mail server to run the > >>> script as group "daemon", or re-run configure, > >>> providing the command line option `--with-mail-gid=root' > >> > >> > >> This test is irrelevant. It would be expected to produce a group > >> mismatch because you are running the wrapper as root:root and not as the > >> user:group that Exim runs it as. > >> > > > > Ah, that explains it. Every change I did to MM_UID and MM_GID was > producing > > that > > error, leaving me wondering. > > > > > >> Also, even in Debian/Ubuntu, the wrapper is normally named > >> mailman/mail/mailman, not mailman/mail/wrapper, so I'm not sure what's > > > > going on here. > >> > > > > I saw the wrapper is a symlink so I did not find it odd to just use the > > name. > > > > root at lists:/home/wash# cd /var/lib/mailman/mail/ > > root at lists:/var/lib/mailman/mail# ls -al > > total 24 > > drwxrwsr-x 2 root list 4096 Dec 15 13:51 . > > drwxr-xr-x 7 root list 4096 Dec 15 13:44 .. > > -rwxr-sr-x 1 root list 14672 Nov 30 19:01 mailman > > lrwxrwxrwx 1 root root 7 Nov 30 19:01 wrapper -> mailman > > root at lists:/var/lib/mailman/mail# > > > > > > > >> > >> As far as how to fix it, this is really a Debian/Ubuntu question. See > >> . > >> > >> > >> That said, there are a couple of things going on here: > >> > >> It appears from your above test that the expected group is 'daemon'. > >> This is strange as in Debian/Ubuntu , it is normally 'list' which is why > >> in your Exim config you have MM_GID=list. You could try MM_GID=daemon to > >> fix this. > >> > >> The Debian/Ubuntu package has patches to avoid the group mismatch test > >> if the real gid of the caller is < 100 or = 65534. > >> > >> My recomendation, especially if you want help from this list is to junk > >> the Ubuntu package and install from source. > >> > > > > Actually, you've just woken me up - install from source :-) > > I just don't seem to get things right with packages I am not sure how to > > manipulate because > > I am not too familiar with the OS. I just did not think about installing > > from source, because I > > was relying on all the supposedly working HOWTOs online, so I wanted to > > leave the ecosystem > > as natural as possible. > > > > > > > When I was managing a Mailman installation on Ubuntu, I looked at the > Debian/Ubuntu package, and it had a number of undocumented patches. > I did not trust these, and I discovered that one patch deletes a file > that is sometimes needed. So, I took the Mailman source and built > my own package. I included a few patches from Mark that I needed, > and I kept the D/U patches that put the files in the proper directories. > The rest of the patches I discarded. This was for, IIRC, Mailman 2.14. > I assume that what I did would work for the current Mailman 2.x release. > Those who want details can contact me off-list. > > --Barry Finkel > ------------------------------------------------------ > Mailman-Users mailing list Mailman-Users at python.org > https://mail.python.org/mailman/listinfo/mailman-users > Mailman FAQ: http://wiki.list.org/x/AgA3 > Security Policy: http://wiki.list.org/x/QIA9 > Searchable Archives: > http://www.mail-archive.com/mailman-users%40python.org/ > Unsubscribe: > https://mail.python.org/mailman/options/mailman-users/odhiambo%40gmail.com > -- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", grep ^[^#] :-) From bernie at fantasyfarm.com Mon Dec 17 21:17:16 2018 From: bernie at fantasyfarm.com (Bernie Cosell) Date: Mon, 17 Dec 2018 21:17:16 -0500 Subject: [Mailman-Users] authorized to a moderated list Message-ID: <5C1858AC.6489.2E927F8@bernie.fantasyfarm.com> i have a list that only a few people are allowed to post to. I had done this by putting everyone on the list to "MOD" and put the handful of people authorized to post into the OK addresses field on the general tab. It turns out that one of the authorized people is also ON the list, and I discovered that the MOD setting in the membership list overrides the authorized field on the general tab. I'd like to be able to manage the authorized posters separately from the subscribed posters. Is there a way to do that? [my idea here is that it is easy to see all the 'authorized' addresses because they're in one place [on the general tab]. Much easier than finding all of the non-MOD entries on the list and then adding to it the unsubscribed-but -authorized addresses from the general tab. Is there a way to do that? /Bernie\ Bernie Cosell bernie at fantasyfarm.com -- Too many people; too few sheep -- From mark at msapiro.net Mon Dec 17 21:36:28 2018 From: mark at msapiro.net (Mark Sapiro) Date: Mon, 17 Dec 2018 18:36:28 -0800 Subject: [Mailman-Users] authorized to a moderated list In-Reply-To: <5C1858AC.6489.2E927F8@bernie.fantasyfarm.com> References: <5C1858AC.6489.2E927F8@bernie.fantasyfarm.com> Message-ID: On 12/17/18 6:17 PM, Bernie Cosell wrote: > i have a list that only a few people are allowed to post to. I had done this by > putting everyone on the list to "MOD" and put the handful of people authorized > to post into the OK addresses field on the general tab. It turns out that one of the > authorized people is also ON the list, and I discovered that the MOD setting in > the membership list overrides the authorized field on the general tab. It is not clear to me what you are talking about. What Mailman package/version is this? What "general tab"? > I'd like to be able to manage the authorized posters separately from the > subscribed posters. Is there a way to do that? [my idea here is that it is easy to > see all the 'authorized' addresses because they're in one place [on the general > tab]. Much easier than finding all of the non-MOD entries on the list and then > adding to it the unsubscribed-but -authorized addresses from the general tab. > > Is there a way to do that? First, allowing authorized members to post by setting them unmoderated is not secure. People receiving the posts know who the authorized posters are and can easily post by spoofing an authorized address. See the FAQ at and the "How to post to the announcement list:" section for Mailman 2.1. Similar things exist for Mailman 3. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From david at midrange.com Mon Dec 31 13:36:22 2018 From: david at midrange.com (David Gibbs) Date: Mon, 31 Dec 2018 12:36:22 -0600 Subject: [Mailman-Users] Mailman & DMARC policy = none? Message-ID: Folks: I'm curious as to how people are setting 'dmarc_none_moderation_action'... which controls how Mailman handles domains with a dmarc policy action of none (like gmail.com). Is there a compelling reason to set it to Yes so that messages from such domains are munged or wrapped? Thanks! david -- IBM i on Power Systems: For when you can't afford to be out of business! I'm riding 615 miles (Yes, you read that right) in the American Diabetes Association's Tour de Cure to raise money for diabetes research, education, advocacy, and awareness. You can make a tax-deductible donation to my ride by visiting https://gmane.diabetessucks.net. You can see where my donations come from by visiting my interactive donation map ... https://gmane.diabetessucks.net/map (it's a geeky thing). I may have diabetes, but diabetes doesn't have me! From mark at msapiro.net Mon Dec 31 15:08:54 2018 From: mark at msapiro.net (Mark Sapiro) Date: Mon, 31 Dec 2018 12:08:54 -0800 Subject: [Mailman-Users] Mailman & DMARC policy = none? In-Reply-To: References: Message-ID: <862417df-6c2b-795e-c408-4a348cfaffd4@msapiro.net> On 12/31/18 10:36 AM, David Gibbs via Mailman-Users wrote: > > I'm curious as to how people are setting > 'dmarc_none_moderation_action'... which controls how Mailman handles > domains with a dmarc policy action of none (like gmail.com). > > Is there a compelling reason to set it to Yes so that messages from such > domains are munged or wrapped? No. There is no compelling reason to set it to Yes. It does not affect mail delivery. It only affects the reports sent by list recipient's service providers to the original From: domain which publishes p=none. Read the entire thread at . The originator of that bug report would like every Mailman list to apply dmarc_moderation_action unconditionally to posts From: domains that publish any DMARC policy including p=none. Implementing this as a list option does not satisfy the originator because he is concerned about mail From: his own domain which publishes p=none to lists operated by others which he does not control. It would have been better if this feature had never been implemented, and it is not in Mailman 3. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From Richard at Damon-Family.org Mon Dec 31 15:58:47 2018 From: Richard at Damon-Family.org (Richard Damon) Date: Mon, 31 Dec 2018 15:58:47 -0500 Subject: [Mailman-Users] Mailman & DMARC policy = none? In-Reply-To: <862417df-6c2b-795e-c408-4a348cfaffd4@msapiro.net> References: <862417df-6c2b-795e-c408-4a348cfaffd4@msapiro.net> Message-ID: <6ba6a237-c9f8-463c-4c7b-44d9a847c455@Damon-Family.org> On 12/31/18 3:08 PM, Mark Sapiro wrote: > On 12/31/18 10:36 AM, David Gibbs via Mailman-Users wrote: >> I'm curious as to how people are setting >> 'dmarc_none_moderation_action'... which controls how Mailman handles >> domains with a dmarc policy action of none (like gmail.com). >> >> Is there a compelling reason to set it to Yes so that messages from such >> domains are munged or wrapped? > > No. There is no compelling reason to set it to Yes. It does not affect > mail delivery. It only affects the reports sent by list recipient's > service providers to the original From: domain which publishes p=none. > Read the entire thread at > . The originator of > that bug report would like every Mailman list to apply > dmarc_moderation_action unconditionally to posts From: domains that > publish any DMARC policy including p=none. > > Implementing this as a list option does not satisfy the originator > because he is concerned about mail From: his own domain which publishes > p=none to lists operated by others which he does not control. > > It would have been better if this feature had never been implemented, > and it is not in Mailman 3. > I would say that the 'backscatter' in the report is actual real information telling the postmaster for the domain that their current policies do not align with a a DMARC policy of reject (or maybe even quarantine) as they are allowing there users to use RFC compliant re-mailing systems (aka mailing lists) that don't naturally meet the requirements of the (in my opinion poorly designed) DMARC system. -- Richard Damon