X-Git-Url: https://git.exim.org/exim-website.git/blobdiff_plain/cad98b98badf9e9b061c07f42e0915b401faf9e0..c22e79070947faaabf3fd6cfb01acfb00c4c47db:/howto/mailman.html diff --git a/howto/mailman.html b/howto/mailman.html index ac7068c..1299d38 100644 --- a/howto/mailman.html +++ b/howto/mailman.html @@ -1,270 +1,33 @@ - +
-Mailman is a list manager with web front end and built in - archiving functions. Details can be found at http://www.list.org/
+Mailman is a Mailing List + Manager (MLM). There are 2 sets of documents on integration of + Mailman with exim:-
-There is no Mailman configuration needed other than the - standard options detailed in the Mailman install documentation. - The exim configuration is transparent to Mailman. The uid/gid - settings for Mailman must match those in the config fragments - given below.
+The exim configuration is built so that a list created within - Mailman automagically appears to exim without the need for - additional alias files etc to be changed.
- -The drawback of this configuration is that it will work poorly - on systems supporting lists in several different mail domains - - for that matter Mailman itself has poor support for this right - now. This may change in the future
- -The configuration file segments included are to be built on top - of an already functional exim configuration, which accepts mail - for the domain which the list resides in (ie that domain is - already in local_domains - should this domain be separate - from the others handled by this exim, then add the list domain to - local_domains, add a domains=my.list.domain - option to each of the directors and you may wish to exclude that - domain from the other directors.
- -Your exim configuration also needs a working alias - configuration, with entries (within the list domain) for - mailman, mailman-request and - mailman-admin (plus any other global contact addresses - for the list master). These addresses point to a (or some - not - necessarily the same for all of these aliases) human rather than - being piped into Mailman. You do not need to put per-list - entries into the system alias file, and doing so will most likely - break things since the user id used for delivery is likely to be - incorrect or not set (which causes an exim delivery time config - error).
- -There are 3 config file sections below which need pasting into - the appropriate parts of the main exim config file. The first one - may also need tailoring to your Mailman configuration
- --## Top section of config file - macro definitions -## Tailor these to fit your installation -## pretty much everything else should just fit... -## -# home dir for Mailman -MAILMAN_HOME=/home/mailman -# wrapper script for mailman -MAILMAN_WRAP=MAILMAN_HOME/mail/wrapper -# user and group for Mailman -MAILMAN_UID=exim -MAILMAN_GID=exim --
-## Transports section -## -## Three transports for list mail, request mail and admin mail -## respectively -## Mailman is installed in MAILMAN_HOME -## Mailman is configured to be invoked as user exim -list_transport: - driver = pipe - command = MAILMAN_WRAP post ${lc:$local_part} - current_directory = MAILMAN_HOME - home_directory = MAILMAN_HOME - user = MAILMAN_UID - group = MAILMAN_GID - -list_request_transport: - driver = pipe - command = MAILMAN_WRAP mailcmd ${lc:$local_part} - current_directory = MAILMAN_HOME - home_directory = MAILMAN_HOME - user = MAILMAN_UID - group = MAILMAN_GID - -list_admin_transport: - driver = pipe - command = MAILMAN_WRAP mailowner ${lc:$local_part} - current_directory = MAILMAN_HOME - home_directory = MAILMAN_HOME - user = MAILMAN_UID - group = MAILMAN_GID - -### end of transports section fragment --
-## Directors section [this deals with local addresses] -## -## First 2 directors rewrite list-owner or owner-list to list-admin -## This is only done if the list exists. -## List existence checks are done by seeing if the file -## MAILMAN_HOME/lists/- -/config.db -## exists. - -list_owner_director: - driver = smartuser - require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db - suffix = "-owner" - new_address = "${lc:$local_part}-admin@${domain}" - -owner_list_director: - driver = smartuser - require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db - prefix = "owner-" - new_address = "${lc:$local_part}-admin@${domain}" - -## -## Next 3 directors direct admin, request and list mail to the appropriate -## transport. List existence is checked as above. - -list_admin_director: - driver = smartuser - suffix = -admin - require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db - transport = list_admin_transport - -list_request_director: - driver = smartuser - suffix = -request - require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db - transport = list_request_transport - -list_director: - driver = smartuser - require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db - transport = list_transport - -## End of directors fragment -## End of config files bits -
Exim should be configured to allow reasonable volume - ie no -setting max_recipients down to a silly value, and with normal -degrees of security - ie allowing relaying from 127.0.0.1 -(thats vital), but pretty much nothing else. Parallel deliveries and -other tweaks can also be used. Delay warning messages should be -switched off or configured to only happen for non-list mail - unless -you like receiving tons of mail when a host is down.
- -One solution passed to me for handling virtual domains was - - Since I use Mailman in a virtual domain configuration with a - separate installation for each virtual domain, I did a slight - modification like this:
- --## transport configurations - -command = "/virtual/${domain}/mailman/mail/wrapper post ${lc:$local_part}" -current_directory = /virtual/${domain}/mailman -home_directory = /virtual/${domain}/mailman - -## and in the director part: - -require_files = /virtual/${domain}/mailman/lists/${lc:$local_part}/config.db - -- -
This is a set of configuration directives I used on the list - boxes I admin. Some of these are necessary, others are cosmetic, - a few are probably superfluous - they work for me!
--# definition of injecting IP addresses -LOCAL_NETS=127.0.0.1/32 -# -# Extra logging data - not necessary but makes the logs more -# useful, but bigger -# lookup all hostnames - puts hostnames into log as well as ips -host_lookup = 0.0.0.0/0 -# tweak logging -log_all_parents -log_file_path = /var/log/exim/%s.log -log_received_recipients -log_refused_recipients -log_received_sender -log_smtp_confirmation -# -# RBL settings - these are more severe than I use -rbl_domains = rbl.maps.vix.com/reject:relays.mail-abuse.org/reject:dul.maps.vix.com/reject:relays.orbs.org=127.0.0.2,127.0.0.3/reject -rbl_hosts = !LOCAL_NETS:0.0.0.0/0 -rbl_log_rcpt_count -recipients_reject_except=postmaster@*:*-admin@* -# -# relay control - from our local network only -host_accept_relay = LOCAL_NETS -# -# delay warnings - second line is now default, but earlier versions of -# exim need it setting -delay_warning = 26h -##delay_warning_condition = "${if match{$h_precedence:}{(?i)bulk|list|junk}{no}{yes}}" -# -# Verify receipient addresses on everything except local injects -# DO NOT verify addresses from Mailman - this would slow down -# the acceptance of messages dramatically -receiver_verify_hosts = !127.0.0.1/8:0.0.0.0/0 -sender_verify -# -# performance tweaks - 1st is good for linux, maybe less so for others -split_spool_directory -remote_max_parallel = 15 -- -
This is how a set of address tests for the exim lists look on a -working system. (command lines start with ">")
--> /usr/sbin/exim -v -bt exim-users -exim-users@www.exim.org - deliver to exim-users in domain www.exim.org - director = list_director, transport = list_transport - -> /usr/sbin/exim -bt exim-users-request -exim-users-request@www.exim.org - deliver to exim-users in domain www.exim.org - director = list_request_director, transport = list_request_transport - -> /usr/sbin/exim -bt exim-users-admin -exim-users-admin@www.exim.org - deliver to exim-users in domain www.exim.org - director = list_admin_director, transport = list_admin_transport +
- Nigel Metheringham - -$Id: mailman.html,v 1.2 2000/05/30 19:59:57 nigel Exp $
+ $Id$ + + +Last modified: Wed Jun 9 12:36:34 BST 2004 +