Hello,
After defeating message duplication yesterday, I encountered the
similar problem. Namely:
The record in /etc/aliases:
userlist: userlist,user1
The message sent:
To: user1@???
Cc: userlist@???
Result: two copies received by user1, one by userlist. The records in main.log:
2008-05-06 14:05:38 1JtHF4-00017m-2L <= user1@???
H=diamond.local [10.1.0.54] P=esmtpsa X=TLSv1:AES256-SHA:256
A=PLAIN:user1 S=649 id=48200340.6020408@???
2008-05-06 14:05:38 1JtHF4-00017t-8g <= user1@??? U=exim
P=local S=1921 id=48200340.6020408@???
2008-05-06 14:05:38 1JtHF4-00017m-2L => user1 <user1@???>
R=dspam_router T=dspam_spamcheck
2008-05-06 14:05:38 1JtHF4-00017t-8g => user1 <user1@???>
R=procmail T=procmail
2008-05-06 14:05:38 1JtHF4-00017t-8g Completed
2008-05-06 14:05:38 1JtHF4-000181-Gt <= user1@??? U=exim
P=local S=1904 id=48200340.6020408@???
2008-05-06 14:05:38 1JtHF4-00017m-2L => userlist
<userlist@???> R=dspam_router T=dspam_spamcheck
2008-05-06 14:05:38 1JtHF4-00017m-2L Completed
2008-05-06 14:05:38 1JtHF4-000181-Gt => userlist
<userlist@???> R=procmail T=procmail
2008-05-06 14:05:38 1JtHF4-000181-Gt => user1 <userlist@???>
R=procmail T=procmail
2008-05-06 14:05:38 1JtHF4-000181-Gt Completed
Routers/transports records from exim.conf:
====================== exim.conf routers.transport start
######################################################################
# 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
#
# 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
#
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup{$local_part}lsearch{/etc/aliases}}
# user = exim
check_ancestor = true
# repeat_use = false
file_transport = address_file
pipe_transport = address_pipe
userforward:
driver = redirect
check_local_user
# local_part_suffix = +* : -*
# local_part_suffix_optional
file = $home/.forward
allow_filter
no_verify
no_expn
check_ancestor = true
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
# This transport invokes procmail to deliver mail
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
group = mail
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 =
====================== exim.conf routers.transport end
Is the mentioned situation expected?
Thanks.