Hello,
2008/5/4 Heiko Schlittermann <hs@???>:
> (you should take care to "group reply" (or "list reply") if you do not
> intend to send a personal message. And I'd suppose that your message
> wasn't meant as personal.)
Sorry, mea culpa, I will be more careful.
> Konstantin Boyandin <temmokan@???> (So 04 Mai 2008 01:23:18 CEST):
>
> > Hello,
> >
> > 2008/5/3 Heiko Schlittermann <hs@???>:
> > >
>
>
> > > # exim4 -v -bv mobst
> > > heiko@???
> > > <-- mobst@???
> > > router = localuser, transport = local_delivery
> > > mobst@???
> > > <-- mobst@???
> > > router = localuser, transport = local_delivery
> > >
> > >
> > > # exim4 -bV
> > > Exim version 4.68 #1 built 03-Nov-2007 08:11:35
> > > Copyright (c) University of Cambridge 2006
> > > Berkeley DB: Sleepycat Software: Berkeley DB 4.3.29: (September 6, 2005)
> > > Support for: crypteq iconv() IPv6 PAM Perl GnuTLS move_frozen_messages Content_Scanning Old_Demime
> > > Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch ldap ldapdn ldapm mysql nis nis0 passwd pgsql sqlite
> > > Authenticators: cram_md5 cyrus_sasl dovecot plaintext spa
> > > Routers: accept dnslookup ipliteral iplookup manualroute queryprogram redirect
> > > Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
> > > Fixed never_users: 0
> > > Size of off_t: 8
> > > Configuration file is /etc/exim4/exim4.conf
> > >
> > > So - I can't see that duplicate delivery *would* happen. What does
> > > 'exim4 -v -bV' show on your system?
> >
> > [root@monstera ~]# exim -v -bV
> > Exim version 4.62 #1 built 02-May-2006 07:36:25
> > Copyright (c) University of Cambridge 2006
> > Berkeley DB: Sleepycat Software: Berkeley DB 4.3.29: (March 24, 2006)
> > Support for: crypteq iconv() IPv6 PAM Perl TCPwrappers OpenSSL
> > Content_Scanning Old_Demime
> > Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz
> > dnsdb dsearch ldap ldapdn ldapm mysql nis nis0 nisplus passwd pgsql
> > sqlite
> > Authenticators: cram_md5 cyrus_sasl plaintext spa
> > Routers: accept dnslookup ipliteral manualroute queryprogram redirect
> > Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
> > Fixed never_users: 0
> > Size of off_t: 8
> > Configuration file is /etc/exim/exim.conf
>
> Ok, and what does
>
> exim4 -v -bv userlist
>
> tell you? Do you have the dups there already?
Yes, I have:
[root@monstera lists]# exim -v -bv userlist
user1@???
<-- itelsib-adm@???
router = localuser, transport = local_delivery
user2@???
<-- itelsib-adm@???
router = localuser, transport = local_delivery
userlist@???
<-- itelsib-adm@???
router = localuser, transport = local_delivery
> (Your Exim version is a bit historic, but aliases and forwarding
> is stuff already known for long time, so I'd think there should be no
> relevant bug.)
I have installed the Exim with yum, thisis why it can be somewhat out-of-date
> Maybe you can attach your config file too, since I'd guess that it is a
> config problem you're fighting with.
I insert the whole config below, comments mostly removed
------------------ Exim conf below
######################################################################
# Runtime configuration file for Exim #
######################################################################
queue_list_requires_admin = false
primary_hostname = example.com
domainlist local_domains = @ : example.ru : monstera.local : localhost
: localhost.localdomain
domainlist relay_to_domains =
hostlist relay_from_hosts = 127.0.0.1 : 10.0.0.0/24
hostlist auth_relay_hosts = *
acl_smtp_mail = acl_check_mail
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
acl_smtp_mime = acl_check_mime
av_scanner = clamd:/var/run/clamd.exim/clamd.sock
tls_advertise_hosts = *
tls_certificate = /etc/pki/tls/certs/exim.pem
tls_privatekey = /etc/pki/tls/private/exim.pem
daemon_smtp_ports = 25 : 465 : 587
tls_on_connect_ports = 465
never_users = root
host_lookup = *
auth_advertise_hosts = ${if eq {$tls_cipher}{}{}{*}}
rfc1413_hosts = *
rfc1413_query_timeout = 5s
ignore_bounce_errors_after = 2d
timeout_frozen_after = 7d
######################################################################
# ACL CONFIGURATION #
# Specifies access control lists for incoming SMTP mail #
######################################################################
begin acl
acl_check_mail:
deny condition = ${if eq{$sender_helo_name}{} {1}}
message = Nice boys say HELO first
accept
.acl_check_rcpt:
accept hosts = :
deny message = Restricted characters in address
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]
deny message = Restricted characters in address
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
accept local_parts = *
domains = +local_domains
require verify = sender
accept hosts = +relay_from_hosts
control = submission
accept authenticated = *
control = submission
require message = relay not permitted
domains = +local_domains : +relay_to_domains
require verify = recipient
accept
acl_check_data:
accept
acl_check_mime:
deny message = Blacklisted file extension detected
condition = ${if match \
{${lc:$mime_filename}} \
{\N(\.exe|\.pif|\.bat|\.scr|\.lnk|\.com)$\N} \
{1}{0}}
accept
######################################################################
# ROUTERS CONFIGURATION #
# Specifies how addresses are handled #
######################################################################
# THE ORDER IN WHICH THE ROUTERS ARE DEFINED IS IMPORTANT! #
# An address is passed to each router in turn until it is accepted. #
######################################################################
begin routers
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
check_ancestor = true
allow_fail
allow_defer
data = ${lookup{$local_part}lsearch{/etc/aliases}}
# user = exim
file_transport = address_file
pipe_transport = address_pipe
#
# DSPAM-related routers start
#
dspam_router:
no_verify
check_local_user
# When to scan a message :
# - it isn't already flagged as spam from Spamassassin
# - it isn't already flagged as spam from DSPAM
# - it isn't already scanned
# - it isn't local
# - it isn't from one internal domain user to another
# - it is less than 2048k in size
condition = "${if and { \
{!def:h_X-Spam-Flag:} \
{!def:h_X-FILTER-DSPAM:} \
{!eq {$received_protocol}{local}} \
{ <= {$message_size}{2048k}} \
}\
{1}{0}}"
headers_add = "X-FILTER-DSPAM: by $primary_hostname on $tod_full"
driver = accept
transport = dspam_spamcheck
# Which users to run dspam for.
#local_parts = /usr/local/etc/exim/dspam-testers
dspam_addspam_router:
driver = accept
local_part_prefix = spam-
transport = dspam_addspam
dspam_falsepositive_router:
driver = accept
local_part_prefix = nospam-
transport = dspam_falsepositive
#
# DSPAM-related routers end
#
userforward:
driver = redirect
check_local_user
# local_part_suffix = +* : -*
# local_part_suffix_optional
file = $home/.forward
allow_filter
no_verify
no_expn
check_ancestor
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply
procmail:
driver = accept
check_local_user
require_files = ${local_part}:+${home}/.procmailrc:/usr/bin/procmail
transport = procmail
no_verify
localuser:
driver = accept
check_local_user
# local_part_suffix = +* : -*
# local_part_suffix_optional
transport = local_delivery
cannot_route_message = Unknown user
######################################################################
# TRANSPORTS CONFIGURATION #
######################################################################
# ORDER DOES NOT MATTER #
# Only one appropriate transport is called for each delivery. #
######################################################################
begin transports
remote_smtp:
driver = smtp
transport_filter = /etc/mail/headers-rewrite
procmail:
driver = pipe
command = "/usr/bin/procmail -d $local_part"
return_path_add
delivery_date_add
envelope_to_add
user = $local_part
initgroups
return_output
local_delivery:
driver = appendfile
file = /var/mail/$local_part
delivery_date_add
envelope_to_add
return_path_add
group = mail
mode = 0660
address_pipe:
driver = pipe
return_output
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
address_reply:
driver = autoreply
#
# DSPAM transports start
#
dspam_spamcheck:
driver = pipe
command = "/usr/local/dspam-3.8.0/bin/dspam --mode=teft
--feature=noise,whitelist --debug --deliver=innocent,spam --user
${lc:$local_part} -f \
'$sender_address' -- %u"
home_directory = "/tmp"
current_directory = "/tmp"
user = exim
group = mail
log_output = true
return_fail_output = true
return_path_add = false
message_prefix =
message_suffix =
dspam_addspam:
driver = pipe
command = "/usr/local/dspam-3.8.0/bin/dspam --debug --class=spam
--source=error --user \
${lc:$local_part} -f '$sender_address' -- %u"
home_directory = "/tmp"
current_directory = "/tmp"
user = exim
group = mail
log_output = true
return_fail_output = true
return_path_add = false
message_prefix =
message_suffix =
dspam_falsepositive:
driver = pipe
command = "/usr/local/dspam-3.8.0/bin/dspam --debug
--class=innocent --source=error \
--deliver=innocent,spam --user ${lc:$local_part}\
-f '$sender_address' -- %u"
home_directory = "/tmp"
current_directory = "/tmp"
user = exim
group = mail
log_output = true
return_fail_output = true
return_path_add = false
message_prefix =
message_suffix =
#
# DSPAM transports end
#
######################################################################
# RETRY CONFIGURATION #
######################################################################
begin retry
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
######################################################################
# REWRITE CONFIGURATION #
######################################################################
begin rewrite
######################################################################
# AUTHENTICATION CONFIGURATION #
######################################################################
begin authenticators
PLAIN:
driver = plaintext
server_set_id = $auth2
server_prompts = :
server_condition = ${if saslauthd{{$2}{$3}{smtp}} {1}}
server_advertise_condition = ${if def:tls_cipher }
------------------ Exim conf above
Thanks.
With all respect,
Konstantin