-
Notifications
You must be signed in to change notification settings - Fork 179
Q0432
I use NIS for my user data. How can I stop Exim rejecting mail when my NIS servers are being restarted?
Exim doesn't know that you are using NIS; it just calls the getpwnam() function, which is routed by nsswitch. Unfortunately, getpwnam() was never designed to be routed through NIS, and it returns NULL if the entry is not found or if the connection to the NIS server fails. This means that Exim cannot tell the difference between no such user and NIS is down. Crutches to help with this problem are finduser_retries
in Exim, and
nscd on the Unix side, but they are not perfect, and mail can still be
lost. However, Nico Erfurth pointed out that you can create a router for
Exim that tests for the availability of NIS, and force a defer if NIS is
not running:
check_nis:
driver = redirect
data = ${lookup {$local_part} nis {passwd}{}}
This should be placed before any router that makes any use of NIS, typically at the start of your local routers. How does it work? If your NIS server is reachable, the lookup will take place, and whether it succeeds or fails, the result is an empty string. This causes the router to decline, and the address is passed to the following routers. If your NIS server is down, the lookup defers, and this causes the router to defer. A verification of an incoming address gets a temporary rejection, and a delivery is deferred till later.
- I need to have any mail for virt.dom.ain that doesn't match one of the
- How do I arrange for all incoming email for *@some.domain to go into
- How do I configure Exim to send messages for unknown local users to a
- How can I arrange for messages submitted by (for example) Majordomo to
- On a host that accepts mail for several domains, do I have to use fully
- Some of my users are using the .forward to pipe to a shell command
- How can I arrange for a default value when using a query-style lookup
- If I don't fully qualify the addresses in a virtual domain's alias file
- I want mail for any local part at certain virtual domains to go to a
- How can I make Exim look in the alias NIS map instead of /etc/aliases?
- Why will Exim deliver a message locally to any username that is longer
- Why am I seeing the error bad mode (100664) for /home/test/.forward?
- When a user's .forward file is syntactially invalid, Exim defers
- I have set
caseful_local_part
on the routers that handle my local - Can I use my existing alias files and forward files as well as procmail
- What is quickest way to set up Exim so any message sent to a
- What do I need to do to make Exim handle /usr/ucb/vacation processing
- I want to use a default entry in my alias file to handle unknown local
- I have some obsolete domains which people have been warned not to use
- How can I arrange that mail addressed to
- I can't get a regular expression to work in a
local_parts
option on - How can I arrange for all addresses in a group of domains
- Some of our users have no home directories; the field in the password
- How can I disable Exim's de-duplication features? I want it to do two
- My users' mailboxes are distributed between several servers according to
- One of the things I want to set up is for anything@onedomain to
- How can I have an address looked up in two different alias files, and
- I've converted from Sendmail, and I notice that Exim doesn't make use of
- I would like to deliver mail addressed to a given domain to local
- Whenever Exim tries to route a local address, it gives a permission
- How do I configure Exim to allow arbitrary extensions in local parts, of
- I use NIS for my user data. How can I stop Exim rejecting mail when my
- How can I arrange for a single address to be processed by both
- How can I redirect all local parts that are not in my system aliases to
- My alias file contains fully qualified addresses as keys (as it was used