Re: [exim] rejecting messages for unknown virtual users

Top Page
Delete this message
Reply to this message
Author: Fred Viles
Date:  
To: exim-users
Subject: Re: [exim] rejecting messages for unknown virtual users
Let me try...

On 20 Jan 2005 at 15:33, oliverj wrote about
    "Re: [exim] rejecting messages for u":


| sorry if i didnt explain things properly.


You explained things properly. You apparently didn't understand the
reply.

| when you say :-
| "If you just return the string then Exim will do the existence
| check, and if it fails the router will not accept the address and
| address verification will fail"
|
| - that is what the perl subroutine does.


No it isn't. What it does is:

| it returns the string if the mail directory
| exists (ie it will return "/disk_01/data/mail/mydomain.net/fred"),
| and undef if it doesnt.


That's *not* the same. Tony is telling you to just return the path
name that should be checked *unconditionally*. *DO NOT* check for
existence in the perl script, you are preventing exim from doing its
job.

| i have to use this, otherwise exim has no way of knowing where the
| mail directory is for these virtual users.


Tony is telling you to return the pathname in all cases instead of
just some cases. More information for exim, not less.

| the problem i'm having is if that if the mail directory doesnt exist,
| then the message is still handled by the localuser router


Yes, that's your problem. Tony told you how to fix it.

| and remains on the mail queue,
| when what i really want it to do is be rejected by the localuser router and then get handled by the
| following unknown_user router which silently discards the message :-


That's because you are returning "undef" when the file does not
exist, so require_files does not do what you expect. RTFM about the
"require_files" option - it is treating "undef" as a user name, not a
path name, because it does not contain any '/' characters.

Look, if you are not willing to at least try the advice you are
given, why ask for advice?

- Fred