Table of Contents
handling /etc/mail/sympa.aliases with Exim4 (and Sympa >=5)
With a recent version of Sympa (>=5 ?), wws manages aliases automatically in /etc/mail/sympa_aliases (or /etc/mail/sympa.aliases in Debian).
However, for instance in Debian, when using it with exim4, you'll need to let exim know it should use /etc/mail/sympa_aliases
It seems to me that the following snippet should do the trick : just copy the whole block of the ”system_aliases” driver just bellow it, naming the new one ”sympa_aliases”, for instance, and replace the ”lsearch{/etc/aliases}” by ”lsearch{/etc/mail/sympa.aliases}” in the new driver. You may also need to add a user = sympa definition too in that block.
As I understand it, if the first ”system_aliases” redirect driver fails, it will do the same with the next one (”sympa_aliases”).
In Debian, depending on the choices of configuration for exim4, you may need to add a new file (split config), or change /etc/exim4/exim4.conf.template (single file), and then update the setup with the update-exim4.conf command (man 8 update-exim4.conf for more details). More details may be found in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=169102 .
You may also need to add sympa to the list of users in MAIN_TRUSTED_USERS variable, maybe (to be confirmed).
Hope this helps (and works)
Olivier Berger olivier.berger AT int-edu.eu
exim & sympa
Context : Exim, Vmail (virtual domains with Mysql), and Sympa.
It's not necessary to add some config directives about Sympa in exim.conf...
- for local addresses like sympa-request@domain.tld :
- add this in your /etc/aliases
mylist : “| /path/to/sympa/queue mylist@domain.tld”
- for each virtual domains (ie : @domain2.tld) managed by thes same server :
- add this in your /etc/aliases
mylist_domain2_tld : “| /path/to/sympa/queue mylist@domain.tld mylist@domain2.tld”
- AND in your virtual domains tool manager (ie : @domain2.tld), you just have to create a forwarder like this :
mylist → mylist_domain2_tld
It's very simple and it's work.... I suppose that your Exim is already well configured to serve messages to your virtual domains... an easy-to-use tool for managing vdoamins : http://www.ex-parrot.com/~chris/vmail-sql/
Benoit Lathiere
Here is a snippet for Exim-3/Debian
- Add sympa to the trusted users in main section
trusted_users = mail : sympa
- Add these transports to transports section
sympa_pipe:
driver = pipe
command = "/usr/lib/sympa/bin/queue $local_part"
return_path_add
delivery_date_add
envelope_to_add
user = nobody
group = nogroup
sympa_special_pipe:
driver = pipe
command = "/usr/lib/sympa/bin/queue $local_part$local_part_suffix"
return_path_add
delivery_date_add
envelope_to_add
user = nobody
group = nogroup
sympa_bounce_pipe:
driver = pipe
command = "/usr/lib/sympa/bin/bouncequeue $local_part"
return_path_add
delivery_date_add
envelope_to_add
user = nobody
group = nogroup
- Add these directors to directors section
sympa:
driver = smartuser
# if you want to restrict only to some domain, put there
#
domains = liste.ac.concordia-pordenone.it
transport = sympa_pipe
require_files = /var/lib/sympa/expl/$local_part
sympa_special:
driver = smartuser
# if you want to restrict only to some domain, put there
#
domains = liste.ac.concordia-pordenone.it
transport = sympa_special_pipe
suffix = -request : -editor : -subscribe : -unsubscribe
require_files = /var/lib/sympa/expl/$local_part
sympa_bounce:
driver = smartuser
# if you want to restrict only to some domain, put there
#
domains = liste.ac.concordia-pordenone.it
transport = sympa_bounce_pipe
suffix = -owner
require_files = /var/lib/sympa/expl/$local_part
- you have to add/modify the system_aliases director as:
system_aliases:
driver = aliasfile
file_transport = address_file
pipe_transport = address_pipe
file = /etc/aliases
search_type = lsearch
user = sympa
Typically it sufficies to add user = sympa to the end. ;)
spamfilter2 AT mupp.net, gaio AT sv.lnf.it, olivier.berger AT int-evry.fr
Sympa aliases in Exim configure
If you prefer to have the aliases defined in the Exim configuration then these Routers and Transports can be used instead of updating the sympa.aliases file
# Aliases
# Using aliases makes configuration easier to manage
# These aliases are based on FreeBSD ports and can be changed for other systems
SYMPA_EXPL = /usr/local/sympa/expl
SYMPA_ROBOT = /usr/local/etc/sympa
SYMPA_QUEUE = /usr/local/bin/queue
SYMPA_BOUNCE = /usr/local/bin/bouncequeue
# Allow exim to submit to sympa
trusted_users = sympa
# Routers
# This accepts sympa@example.com as the command submission address
sympa_list_command:
driver = accept
condition = ${if eqi{$local_part}{sympa}{1}{0}}
require_files = +SYMPA_HOME/${lc::$domain}/robot.conf
retry_use_local_part
transport = sympa_bounce
list:
driver = accept
require_files = +SYMPA_EXPL/${lc::$domain}/${local_part}/config
retry_use_local_part
transport = sympa_queue
listrequest:
driver = accept
local_part_suffix = -request
require_files = +SYMPA_EXPL/${lc::$domain}/${local_part}/config
retry_use_local_part
transport = sympa_queue
listeditor:
driver = accept
local_part_suffix = -editor
require_files = +SYMPA_EXPL/${lc::$domain}/${local_part}/config
retry_use_local_part
transport = sympa_queue
listsubscribe:
driver = accept
local_part_suffix = -subscribe
require_files = +SYMPA_EXPL/${lc::$domain}/${local_part}/config
retry_use_local_part
transport = sympa_queue
listunsubscribe:
driver = accept
local_part_suffix = -unsubscribe
require_files = +SYMPA_EXPL/${lc::$domain}/${local_part}/config
retry_use_local_part
transport = sympa_queue
listowner:
driver = accept
local_part_suffix = -owner
require_files = +SYMPA_EXPL/${lc::$domain}/${local_part}/config
retry_use_local_part
transport = sympa_bounce
listbounce:
driver = accept
local_part_prefix = bounce+
require_files = +SYMPA_EXPL/${lc::$domain}/robot.conf
retry_use_local_part
transport = sympa_bounce
#Transports
sympa_command:
driver = pipe
command = "SYMPA_QUEUE sympa\@$domain"
return_fail_output
user = sympa
sympa_queue:
driver = pipe
command = "SYMPA_QUEUE ${local_part}${local_part_suffix}\@$domain"
return_fail_output
user = sympa
sympa_bounce:
driver = pipe
command = "SYMPA_BOUNCE ${local_part_prefix}${local_part}\@$domain"
return_fail_output
user = sympa
Note:
bounce+ prefix and -owner suffix are sympa defaults, change them if you need to.
Alan Hicks ahicks AT p-o.co.uk
See also : http://listes.cru.fr/sympa/arc/sympa-users/2008-01/msg00086.html for Czakó Krisztián's contribution – OlivierBerger