I tried to configure Mailman with Exim. I have SuSE 8.2, Exim 4.12 and
Mailman 2.1.1.
The problem is: (1) I can send mail wherever I want (I am using this
Exim to comunicate with you). (2) Mailman can send mail only to local
domains. (3) If username is the same as the list name, Exim does
forwarding mail to Mailman as mail is for it.
Logs from /var/log/exim/main.log is:
1) The situation when Exim doesn't want to accept Mailman's mail:
2003-07-19 07:34:49 19dkMr-0000Nu-00 <= millosh@???
H=(Mussaurus.BelMobile.co.yu) [80.93.234.155] P=esmtp S=1002
id=1058592660.12882.265.camel@???
2003-07-19 07:34:49 19dkMr-0000Nu-00 => kontrapunkt
<kontrapunkt@???> R=mailman_router T=mailman_transport
2003-07-19 07:34:49 19dkMr-0000Nu-00 Completed
2003-07-19 07:36:32 H=localhost (Brontosaurus.millosh.org) [::1]
F=<kontrapunkt-bounces+rata=beotel.yu@???> rejected RCPT
<rata@???>
2003-07-19 07:36:32 H=localhost (Brontosaurus.millosh.org) [::1]
F=<kontrapunkt-bounces+millosh=users.sourceforge.net@???>
rejected RCPT <millosh@???>
2003-07-19 07:36:33 H=localhost (Brontosaurus.millosh.org) [::1]
F=<kontrapunkt-bounces+kontrapunkt=fastmail.fm@???>
rejected RCPT <kontrapunkt@???>
2003-07-19 07:36:33 H=localhost (Brontosaurus.millosh.org) [::1]
F=<kontrapunkt-bounces+rata=beotel.yu@???> rejected RCPT
<rata@???>
2003-07-19 07:36:33 H=localhost (Brontosaurus.millosh.org) [::1]
F=<kontrapunkt-bounces+millosh=users.sourceforge.net@???>
rejected RCPT <millosh@???>
2) The situation when Exim sends mail to Mailman even domain is not the
same:
2003-07-19 06:08:30 19dj1K-00000e-00 <= millosh@???
H=(Mussaurus.BelMobile.co.yu) [80.93.234.155] P=esmtp S=557
id=1058587482.12883.236.camel@???
2003-07-19 06:08:30 19dj1K-00000e-00 => kontrapunkt
<kontrapunkt@???> R=mailman_router T=mailman_transport
2003-07-19 06:08:30 19dj1K-00000e-00 Completed
Hm. I was trying and trying and it seems that I don't see some very
clear thing in Exim's configuration. I was working with Postfix
before...
Exim configuration is below. I think that it is not necessary to send
Mailman configuration, too. It is almost default SuSE configuration
(i.e. Exim maintainers' configuration because SuSE doesn't configure
Exim) with definitions which was written in Mailman's manual for Exim.
The main domain in configuration is 'millosh.org' and the list domain is
'liste.anarhija.org'.
Best,
Milos
primary_hostname = Brontosaurus.millosh.org
domainlist local_domains = @ : millosh.org : belmobile.co.yu :
anarhija.org : liste.anarhija.org : *.anarhija.org
domainlist relay_to_domains =
hostlist relay_from_hosts = 127.0.0.1 : 80.93.234.128/27 : 10.0.1.0/24
acl_smtp_rcpt = acl_check_rcpt
never_users = root
host_lookup = *
rfc1413_hosts = *
rfc1413_query_timeout = 30s
ignore_bounce_errors_after = 2d
timeout_frozen_after = 7d
MAILMAN_HOME=/var/lib/mailman
MAILMAN_WRAP=/usr/lib/mailman/mail/mailman
MAILMAN_USER=mailman
MAILMAN_GROUP=mailman
begin acl
acl_check_rcpt:
accept hosts = :
deny local_parts = ^.*[@%!/|] : ^\\.
accept local_parts = postmaster
domains = +local_domains
require verify = sender
accept domains = +local_domains
endpass
message = unknown user
verify = recipient
accept domains = +relay_to_domains
endpass
message = unrouteable address
verify = recipient
accept hosts = +relay_from_hosts
accept domains = liste.anarhija.org
accept hosts = 127.0.0.1
accept authenticated = *
deny message = relay not permitted
begin routers
mailman_router:
driver = accept
require_files = MAILMAN_HOME/lists/$local_part/config.pck
local_part_suffix_optional
local_part_suffix = -bounces : -bounces+* : \
-confirm+* : -join : -leave : \
-owner : -request : -admin
transport = mailman_transport
dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup{$local_part}lsearch{/etc/aliases}}
file_transport = address_file
pipe_transport = address_pipe
userforward:
driver = redirect
check_local_user
file = $home/.forward
no_verify
no_expn
check_ancestor
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply
localuser:
driver = accept
check_local_user
transport = local_delivery
begin transports
mailman_transport:
driver = pipe
command = MAILMAN_WRAP \
'${if def:local_part_suffix \
{${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
{post}}' \
$local_part
current_directory = MAILMAN_HOME
home_directory = MAILMAN_HOME
user = MAILMAN_USER
group = MAILMAN_GROUP
remote_smtp:
driver = smtp
local_delivery:
driver = appendfile
file = /var/mail/$local_part
delivery_date_add
envelope_to_add
return_path_add
address_pipe:
driver = pipe
return_output
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
address_reply:
driver = autoreply
begin retry
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
begin rewrite
begin authenticators