[Exim] Question about Exim 4 FAQ 0423

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Jason L Tibbitts III
Date:  
À: exim-users
Sujet: [Exim] Question about Exim 4 FAQ 0423
We terminate users by setting their shell to something which sends out
a message and setting the home directory to something nonexistent
(generally /dead/yyyy.mm.dd). Under sendmail, these addresses would
continue to accumulate mail. Under Exim the messages are deferred by
the userforward router.

So in an attempt to duplicate Sendmail I read the FAQ and it said to
add a condition; I used

condition = ${if match {$home}{^/dead/}{no}{yes}}

And it sort-of works; userforward doesn't complain any longer, but
the local_delivery transport takes its place:

  == xxx@??? R=localuser T=local_delivery defer (2): No
    such file or directory: failed to chdir to /dead/2000.12.05


I'm having a hard time figuring out why it even tries to chdir to the
user's home directory in order to put mail in the mail spool (which
isn't in $home). Is A0423 incomplete, or did I screw something up
along the way?

I guess what I'd really like to do is bounce any message sent to such
an address with a notice that the account has been terminated. I
tried putting this in acl_check_rcpt:

  deny    message       = This account has been terminated.\nContact postmaster@??? or 713-743-3506 for more information.
          condition     = ${if match {$home}{^/dead/}{yes}{no}}


but since $home isn't valid it didn't help. Is the ACL the right
place to do this, or does it need to be done during routing? Or maybe
the system filter?

Thanks,

- J<