Email bug/problem [user]@[userdomain].[ext] bounces to admin

fusionictnl

Verified User
Joined
Jun 22, 2004
Messages
1,052
Location
Netherlands
Okay I have the following problem.

When a send to the "catch-all"/"standard" account of any domain on my DA server. It delivers it to my mailbox. For every account. :mad:

The logs show up the following:

R=localuser T=local_delivery S=1311

Normal mailboxes will be virtual delivery, but user-account mailboxes will be local_delivery. So that's ok. But why aren't they deliverd in their mailbox but in the main mailbox (mine) ????

for example I have created a new domain test.test and the username is testnl, so if I send a mail to [email protected] it will end up in MY box! not in his mailbox if he logs in as testnl with his password.

Is this a bug ? A configuration problem ? Or is it a feature ?

Thx in advance!!
 
I've disabled MailScanner and just running exim. The same problem still exists.

Standard config used not spamblocker and still the same problem.
 
Try showing all the lines in your exim mainlog dealing with that message. There should be at least two and perhaps three entries. That might help with what is going on. Also, if you have root access to the box, try using this command:
Code:
exim -d -bt [email][email protected][/email]
and paste the output here. That should show you the path exim used to deliver the email.
 
Changed original domain with [email protected]

Output on exim mainlog (mail from console):

Code:
2004-11-03 09:11:51 1CPGFD-0004OA-Uy <= [email][email protected][/email] U=root P=loc
al S=336 T="test" from <[email protected]> for [email][email protected][/email]
2004-11-03 09:11:51 1CPGFD-0004OA-Uy => [B]fusionict[/B] <[email protected]> F=<[email protected]> R=localuser T=local_delivery S=523
2004-11-03 09:11:51 1CPGFD-0004OA-Uy Completed

Marked the suspicious line above. It's delivering to "fusionict" admin mailbox.

Output of exim -d -bt [email protected]:

Code:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Testing [email][email protected][/email]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering [email][email protected][/email]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing [email][email protected][/email]
--------> lookuphost router <--------
local_part=dartman domain=test.ext
checking domains
search_open: lsearch "/etc/virtual/domains"
search_find: file="/etc/virtual/domains"
  key="test.ext" partial=-1 affix=NULL starflags=0
LRU list:
  :/etc/virtual/domains
  End
internal_search_find: file="/etc/virtual/domains"
  type=lsearch key="test.ext"
file lookup required for test.ext
  in /etc/virtual/domains
lookup yielded:
test.ext in "lsearch;/etc/virtual/domains"? yes (matched "lsearch;/etc/virtual/domains")
data from lookup saved for cache for +local_domains:
test.ext in "! +local_domains"? no (matched "!+local_domains")
lookuphost router skipped: domains mismatch
--------> spamcheck_director router <--------
local_part=dartman domain=test.ext
checking "condition"
calling spamcheck_director router
spamcheck_director router called for test.ext
  domain = test.ext
set transport spamcheck
queued for spamcheck transport: local_part = testnl
domain = test.ext
  errors_to=NULL
  domain_data=NULL localpart_data=NULL
routed by spamcheck_director router
  envelope to: [email][email protected][/email]
  transport: spamcheck
[email][email protected][/email]
  router = spamcheck_director, transport = spamcheck
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=16831 terminating with rc=0 >>>>>>>>>>>>>>>>
 
Which exim.conf are you useing? So far I can't say I see anything out of the ordinary. The problem is, after the spamcheck transport, it is feed back into another exim process via bsmtp and we are not seeing what exim doing with it there. Try commenting out the spamcheck_director and try the exim -d -bt [email protected] again, that should show you all the rule it is using.
 
You might be hitting the problem I found the other day with trying to deliver local_mail. Make a copy of your exim.conf and make the changes I suggested here and then run the command exim -d -C mynewexim.conf -bt [email protected] and see if it now delivers to the right local mailbox. The mynewexim.conf is a copy of your /etc/exim.conf with the changes I suggest, this way you don't have to mess with the live exim.conf while you are doing the testing.
 
Sorry but I use the spamblocker config file and have used the lastest DA exim conf. Same problems keep appearing

I don't have a condition:

Only:

data = ${if exists{/etc/virtual/$domain/aliases}{${lookup{$local_part}lsearch*{/etc/virtual/$domain/aliases}}}}
 
fusionictnl said:
Sorry but I use the spamblocker config file and have used the lastest DA exim conf. Same problems keep appearing

I don't have a condition:

Only:

data = ${if exists{/etc/virtual/$domain/aliases}{${lookup{$local_part}lsearch*{/etc/virtual/$domain/aliases}}}}

I am saying you need to make those modifications, the condition I mentioned in that post was added.

I too am using the spamblocker config with these changes. The latest DA config is a slightly older version of the spamblocker, so I would expect them to work exactly the same.

Here are those sections in my exim.conf

Code:
virtual_aliases:
  driver = redirect
  allow_defer
  allow_fail
  data = ${if exists{/etc/virtual/$domain/aliases}{${lookup{$local_part}lsearch*{/etc/virtual/$domain/aliases}}}}
  condition = ${if eq {}{${if exists{/etc/virtual/${domain}/aliases}{${lookup{$local_part}lsearch{/etc/virtual/${domain}/aliases}}}}}{no}{yes}}
  file_transport = address_file
  group = mail
  pipe_transport = virtual_address_pipe
  retry_use_local_part
  #include_domain = true

localuser:
  driver = accept
  check_local_user
  # condition = "${if eq {$domain} {$primary_hostname} {yes} {no}}"
  transport = local_delivery
 
Last edited:
Still not working:

2004-11-03 18:39:13 H=(TONERES) [213.29.6.57] incomplete transaction (QUIT) from <[email protected]>
2004-11-03 18:39:15 H=localhost [127.0.0.1] sender verify fail for <[email protected]>: Unrouteable address
2004-11-03 18:39:15 H=localhost [127.0.0.1] F=<[email protected]> rejected RCPT <[email protected]>: Sender verify failed
2004-11-03 18:39:15 H=localhost [127.0.0.1] incomplete transaction (connection lost) from <[email protected]>

When I've added the line as said it doesn't work. Test goes OK.
When live goes wrong can't send mail anymore.

I've puted between all the lines in the directive for that router.
 
fusionictnl said:
Still not working:

2004-11-03 18:39:15 H=localhost [127.0.0.1] sender verify fail for <[email protected]>: Unrouteable address
2004-11-03 18:39:15 H=localhost [127.0.0.1] F=<[email protected]> rejected RCPT <[email protected]>: Sender verify failed
2004-11-03 18:39:15 H=localhost [127.0.0.1] incomplete transaction (connection lost) from <[email protected]>
This is a different problem, and deals with sender_verify being turned on. Does the email address [email protected] exist?
 
Yes it exist ext = nl

;)

And why would it fail if I change the option you specified ? If it isn't set condition, nothing goes wrong. So somewhere this has something to do with it ? Doesn't it ?
 
Last edited:
You say nothing goes wrong, except that the mail is not going where it is supposed to. That is something wrong. There just happens to be other things going on as well.

The option I specified basically tells exim, if the username exists in the /etc/virtual/${domainname}/aliases file then use this router, otherwise continue looking for the correct router. Without the condition, the router would find the domainname, set 'data', and since 'data' was not null, it would use this router and fail, since the user didn't exist, unless the catchall was set.

The 'require verify = sender' is causing your current problem. You could try the command 'exim -v -bv [email protected]' to see if/how your exim will verify that address.
 
Damn still not working. When I now send to the main account. Email is rejected (all adresses on my main domain). Again lost a lot of mail :(

Damn stupid configurations...

It just says unroutable address :s

2004-11-04 05:13:38 H=jbmc-software.com [216.194.67.119] F=<[email protected]> rejected RCPT <[email protected]>: Unrouteable address

Still catch-all doesn't work. Now when a mailbox doesn't exists it's denyed!!
 
Last edited:
fusionictnl said:
Damn still not working. When I now send to the main account. Email is rejected (all adresses on my main domain). Again lost a lot of mail :(

That's why you really need to do this type of testing on a test system. Then once you are pretty sure you have it right then move it over.
 
Okay, I have on my live server and I can't really test it correctly on my test server. So my only option is the live one. And that's where the problem is.

When changing the settings all email on all domains work correctly except the Catch-all. The [email protected] does work, but catch-all is somehow then disabled :s
 
Found the problem. There was a catch-all on the "servername". for ex. you call you're server: server1.domain.ext

and if you add this to DA as a domain and put a catch-all email on it. It will disable all local_user mail :) Why ?

Ok Exim get's a mail to: [user]@domain.ext.

Checks if there's a local mailbox for [user]
It find it so it will change the to, to: [user]@server1.domain.ext
Normaly it will search the [user]@server1.domain.ext and finds no users, and after that it will deliver it localy.

If there is a * @ server1.domain.ext (catch-all), it will just be deliverd to the mailbox of server1.domain.ext ;)

Stupid exim ;)
 
Back
Top