Hello everyone,
I thought I'd bring up this discussion, to see if may create any interest
within the Exim community.
I am hoping that some of us have news about the current development of
Mailman (the Mailing List App).
What has happened is that development switched to the Mailman 3.x branch.
Mailman 2.x development work stopped, but has not been EoLed although it's
headed there.
A couple of changes are slated for
Mailman-2.1.15<
http://bazaar.launchpad.net/%7Emailman-coders/mailman/2.1/view/head:/NEWS>,
afterwhich there is likely to be no more concentration with it, according
to this post by Mark
Sapiro<
http://www.mail-archive.com/mailman-developers%40python.org/msg12561.html>
.
So far, Mailman 3.0b1 has been released and is undergoing testing. However,
Exim, which is one of the leading MTAs is not at all part of this upcoming
develeopment!
It is in the light of that that I'd like to see if there are experts who
feel that Exim should not be left behind when it comes to integration with
Mailing List Apps such as Mailman.
Yes, we can continue to rely on MM2, because it works pretty well, is very
solid, but it would also be nice if we were able to walk side-by-side with
Mailman, and be part of MM3, just like Postfix.
Okay, I am not a developer, so what I am trying to see is whether some
developers would be willing to kindly spare some of the time they give back
to the community to help plug in the necessary support Exim requires to
work with MM3.
Some time back, I did raise the discussion, involved Barry Warsaw (BW) and
Nigel Metheringham (NM) and Nigel graciously accepted "join the
heckiling"and to give some advise from the sideline:)
I am hereby opening the "heckiling", to see if we can make some moves
towards getting to support MM3 in Exim, like the Postfix lot have. I see
no support for any other MTA besides it.
Here below is how the discussion went like:
OW> The second part of my problem is how to integrate MM3 with Exim4. I am
informed that things have greatly changed from the way Exim4 was configured
OW> with MM2 (2.1.x). I am hoping that there are Exim gurus here, who have
already worked on a configuration for MM3+Exim and have documented the bits
OW> required for both exim.conf and mailman.cf.
<BW>
There are two parts to this. First, the way Exim is integrated with MM2,
there's no need for alias file hacking because Exim can autodetect which
mailing lists are available by looking at the config.pck files. Of course,
there are no config.pck files in MM3 any more, so a new strategy is needed.
Second, the preferred way to get messages into MM3 is via LMTP, so ideally,
there'd be some configuration to get Exim to connect to MM3's LMTP server.
It would be great to have better Exim (and Sendmail, qmail, or any other
MTA) support in MM3. Let us know if you're willing and able to help!
</BW>
<NM>
So to make this more generic:-
- how can an external process detect configured lists?
- preferably in a relatively non-active fashion - ie looking at the
filesystem
- if needed by running something to say if list x exists
- what addresses does a list provide (ie list-request etc)
- or is there a way of getting mailman to list all the addresses that
mailman handles (ideally including domain)
</NM>
<BW>
I think you could do it either way. In MM3, while there's no config.pck
file,
there still is a directory under lists/ for each mailing list. This is
where
things like template customizations can go, and probably more things
eventually. One difference is that the directory contains the "fqdn
listname"
which is the same as the posting address. E.g.:
$ bin/mailman info
GNU Mailman 3.0.0a7+ (Where's My Thing?)
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
[GCC 4.5.2]
config file: None
db url: sqlite:////home/barry/projects/mailman/3.0/var/data/mailman.db
REST root url:
http://localhost:8001/3.0/
REST credentials: restadmin:restpass
$ bin/mailman lists
1 matching mailing lists found:
test1@???
$ ls var/lists
test1@???/
You could also get this information from the REST API. Here's an example
using the Python client library, but of course anything that talks HTTP and
can parse JSON will work too.
$ python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from mailman.client import Client
>>> mm = Client('http://localhost:8001/3.0', 'restadmin', 'restpass')
>>> for mlist in mm.lists:
... print mlist.fqdn_listname
...
test1@???
<NM>
- what addresses does a list provide (ie list-request etc)
- or is there a way of getting mailman to list all the addresses that
mailman handles (ideally including domain)
</NM>
<BW>
It's not wonderful, since it's primarily geared toward generating
/etc/aliases files (or their mta-specific moral equivalents), but it's
there. Of course, it would be easy to add any specific output format that
would help Exim. This is the Postfix output:
$ bin/mailman aliases -o -
# AUTOMATICALLY GENERATED BY MAILMAN ON 2011-06-01 13:27:42
#
# This file is generated by Mailman, and is kept in sync with the binary
hash
# file. YOU SHOULD NOT MANUALLY EDIT THIS FILE unless you know what you're
# doing, and can keep the two files properly in sync. If you screw it up,
# you're on your own.
# Aliases which are visible only in the @example.com domain.
test1@??? lmtp:[127.0.0.1]:8024
test1-bounces@??? lmtp:[127.0.0.1]:8024
test1-confirm@??? lmtp:[127.0.0.1]:8024
test1-join@??? lmtp:[127.0.0.1]:8024
test1-leave@??? lmtp:[127.0.0.1]:8024
test1-owner@??? lmtp:[127.0.0.1]:8024
test1-request@??? lmtp:[127.0.0.1]:8024
test1-subscribe@??? lmtp:[127.0.0.1]:8024
test1-unsubscribe@??? lmtp:[127.0.0.1]:8024
There's currently no equivalent in the REST API, although it would be
trivial to add.
</BW>
So hopefully, this sheds some light into what is going on. One thing I know
is Barry is willing to offer every help needed by the Exim lot to bring in
Exim support into MM3.
What I don't know is whether there is already someone working on this.
I'm welcoming ideas.
--
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254733744121/+254722743223
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
I can't hear you -- I'm using the scrambler.