# The Exim FAQ

This is the FAQ for the Exim Mail Transfer Agent. Many thanks to the many people who provided the original information. This file would be amazingly cluttered if I tried to list them all. Suggestions for corrections, improvements, and additions are always welcome.

This version of the FAQ applies to Exim 4.00 and later releases. It has been extensively revised, and material that was relevant only to earlier releases has been removed. As this caused some whole sections to disappear, I've taken the opportunity to re-arrange the sections and renumber everything except the configuration samples.

References of the form Cnnn, Fnnn, and Lnnn are to the sample configuration, filter, and local_scan() files. These are hyperlinked from the HTML version of this FAQ. They can also be found in the separately distributed directory called config.samples. The primary location is

ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4/config.samples.tar.gz ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4/config.samples.tar.bz2

There are brief descriptions of these files at the end of this document.

Philip Hazel <ph10@cus.cam.ac.uk>
Last update: 16-July-2002

# Index

A Keyword-in-context index to the questions is available.

# Contents

The FAQ is divided into the following sections:

| 0. General debugging | 14. Dial-up and ISDN
| 1. Building and installing | 15. UUCP
| 2. Routing in general | 16. Modifying message bodies
| 3. Routing to remote hosts | 17. Encryption (TLS/SSL)
| 4. Routing for local delivery | 20. Millennium
| 5. Filtering | 50. Miscellaneous
| 6. Delivery | 92. Freebsd
| 7. Policy controls | 93. HP-UX
| 8. Rewriting addresses | 94. BSDI
| 9. Headers | 95. IRIX
| 10. Performance | 96. Linux
| 11. Majordomo | 97. Sun systems
| 12. Fetchmail | 98. Configuration cookbook
| 13. Perl | 99. List of sample configurations

# List of questions

0. GENERAL DEBUGGING

- Q0001: Exim is crashing. What is wrong?
- Q0002: Exim is not working. What is wrong? How can I check what it is doing?
- Q0003: What does the error Child process of address_pipe transport returned 69 from command xxx mean?
- Q0004: My virtual domain setup isn't working. How can I debug it?
- Q0005: Why is Exim not rejecting incoming messages addressed to non-existent users at SMTP time?
- Q0006: I've put an entry for `*.my.domain` in a DBM lookup file, but it isn't getting recognized.
- Q0007: I've put the entry `*@domain.com` in a lookup database, but it isn't working. The expansion I'm using is:
- Q0008: If I run `./exim -d -bt user@domain` all seems well, but when I send a message from my User Agent, it does not arrive at its destination.
- Q0009: What does no immediate delivery: too many messages received in one SMTP connection mean?
- Q0010: Exim puts for <address> in the Received: headers of some, but not all, messages. Is this a bug?
- Q0011: Instead of exim_dbmbuild, I'm using a homegrown program to build DBM (or cdb) files, but Exim doesn't seem to be able to use them.
- Q0012: Exim is unable to route to any remote domains. It doesn't seen to be able to access the DNS.
- Q0013: What does the error message transport system_aliases: cannot find transport driver "redirect" in line 92 mean?
- Q0014: Exim is timing out after receiving and responding to the DATA command from one particular host, and yet the client host also claims to be timing out. This seems to affect only certain messages.
- Q0015: What does the message Socket bind() to port 25 for address (any) failed: address already in use mean?
- Q0016: I've set `verify = header_syntax` in my ACL, but this causes Exim to complain about header lines like `To: Work: Jim <jims@email>, Home: Bob <bobs@email>` which look all right to me. Is this a bug?
- Q0017: Whenever Exim tries to deliver a specific message to a particular server, it fails, giving the error Remote end closed connection after data or Broken pipe or a timeout. What's going on?
- Q0018: Why do messages not get delivered down the same connection when I do something like: `exim -v -R @aol.com`? For other domains, I do this and I see the appropriate waiting for passed connections to get used messages.
- Q0019: There seems to be a problem in the string expansion code: it doesn't recognize references to headers such as `${h_to}`.
- Q0020: Why do connections to my machine's SMTP port take a long time to respond with the banner, when connections to other ports respond instantly? It sometimes takes 30 seconds to respond.
- Q0021: What does failed to create child process to send failure message mean? This is a busy mail server with `smtp_accept_max` set to 500, but this problem started to occur at about 300 incoming connections.
- Q0022: What does No transport set by system filter in a log line mean?
- Q0023: Why is Exim refusing to relay, saying failed to find host name from IP address when I have the sender's IP address in an ACL condition? My configuration contains this ACL statement:
- Q0024: When I run `exim -bd -q10m` I get PANIC LOG: exec of exim -q failed.
- Q0025: I can't seem to get a pipe command to run when I include a `${if` expansion in it. This fails:
- Q0026: I'm trying to get Exim to connect an alias to a pipe, but it always gives error code 69, with the comment (could mean service or program unavailable).
- Q0027: What does the error Spool file is locked mean?
- Q0028: Exim is reporting IP addresses as 0.0.0.0 or 255.255.255.255 instead of their correct values. What's going on?
- Q0029: I can't seem to figure out why PAM support doesn't work correctly.
- Q0030: I'm trying to use a query-style lookup for hosts that are allowed to relay, but it is giving really weird errors.
- Q0031: Exim is rejecting connections from hosts that have more than one IP address, for no apparent reason.
- Q0032: Exim is failing to find the MySQL library, even though is it present within LD_LIBRARY_PATH. I'm getting this error:
- Q0033: What does the error lookup of host "xx.xx.xx" failed in yyy router mean?
- Q0034: Exim works fine on one host, but when I copied the binary to another identical host, it stopped working (it could not resolve DNS names).
- Q0035: I set a `hosts` condition in an ACL to do a lookup in a file of IP addresses, but it doesn't work.
- Q0036: Why do I get the error Permission denied: creating lock file hitching post when Exim tries to do a local delivery?
- Q0037: I am experiencing mailbox locking problems with Sun's `mailtool` used over a network.
- Q0038: What does the error message error in forward file (filtering not enabled): missing or malformed local part mean?
- Q0039: I have installed Exim, but now I can't mail to root any more. Why is this?
- Q0040: How can I stop undeliverable bounce messages (e.g. to routeable, but undeliverable, spammer senders) from clogging up the queue for days?
- Q0041: What does the message Unable to get root to set uid and gid for local delivery to xxx: uid=yyy euid=zzz mean?
- Q0042: My ISP's mail server is rejecting bounce messages from Exim, complaining that they have no sender. The SMTP trace does indeed show that the sender address is `<>`. Why is the Sender on the bounce message empty?
- Q0043: What does the error Unable to get interface configuration: 22 Invalid argument mean?
- Q0044: What does the error Failed to create spool file mean?
- Q0045: I see entries in the log that mention two different IP addresses for the same connection. Why is this? For example:
- Q0046: A short time after I start Exim I see a defunct zombie process. What is causing this?
- Q0047: On a reboot, or a restart of the mail system, I see the message Mailer daemons: exim abandoned: unknown, malformed, or incomplete option -bz sendmail. What does this mean?
- Q0048: Whenever exim restarts it takes up to 3-5 minutes to start responding on the SMTP port. Why is this?
- Q0049: What does the log message no immediate delivery: more than 10 messages received in one connection mean?
- Q0050: I am getting complaints from a customer who uses my Exim server for relaying that they are being blocked with a Too many connections error.
- Q0051: When I try `exim -bf` to test a system filter, I received the following error message: Filter error: unavailable filtering command "fail" near line 8 of filter file.
- Q0052: What does ridiculously long message header in an error report mean?
- Q0053: Exim on my host responds to a connection with `220 *****...` and won't understand EHLO commands.
- Q0054: I'm getting an Exim configuration error unknown rewrite flag character (m) in line 386 but I haven't used any flags on my rewriting rules.
- Q0055: What does the error Failed to open wait-remote_smtp database: Invalid argument mean?
- Q0056: We are using Exim to send mail from our web server. However, whenever a user sends an email it gets sent with the return path (envelope sender) apache@server_name.com because the PHP script is running as apache.
- Q0057: We've got people complaining about attachments that don't show up as attachments, but are included in the body of the message.
- Q0058: What does the error failed to open DB file /var/spool/exim/db/retry: File exists mean?
- Q0059: When my Outlook Express 6.0 client sends a STARTTLS command to begin a TLS session, Exim doesn't seem to receive it. The Outlook log shows this:
- Q0060: Why am I getting the error failed to expand `/data/lists/lists/${lc` for require_files: `${lc` is not a known operator for this setting:
- Q0061: What does the error Too many ``Received'' headers - suspected mail loop mean?
- Q0062: When I try to start an Exim daemon it crashes. I ran a debugger and discovered that the crash is happening in the function getservbyname(). What's going on?
- Q0063: When I try to start an Exim daemon, nothing happens. There is no process, and nothing is written to the Exim log.
- Q0064: When I run `exim -d test@domain` it delivers fine, but when I send a message from the mail command, I get User unknown and the mail is saved in dead.letter.

1. BUILDING AND INSTALLING

- Q0101: I'm having a problem with an Exim RPM.
- Q0102: I can't get Exim to compile with Berkeley DB version 2.x or 3.x.
- Q0103: I'm getting an undefined symbol error for `hosts_ctl` when I try to build Exim. (On some systems this error is undefined reference to 'hosts_ctl'.)
- Q0104: I'm about to upgrade to a new Exim release. Do I need to ensure the spool is empty, or take any other special action?
- Q0105: What does the error install-info: command not found mean?
- Q0106: Exim doesn't seem to be recognizing my operating system type correctly, and so is failing to build.
- Q0107: Exim fails to build, complaining about the absence of the `killpg` function.
- Q0108: I'm getting an unresolved symbol `ldap_is_ldap_url` when trying to build Exim.
- Q0109: I'm getting an unresolved symbol `mysql_close` when trying to build Exim.
- Q0110: I'm trying to build Exim with PAM support. I have included `-lpam` in EXTRALIBS, but I'm still getting a linking error:
- Q0111: I'm getting the error db.h: No such file or directory when I try to build Exim.
- Q0112: I'm getting the error /usr/bin/ld: cannot find -ldb1 when I try to build Exim.
- Q0113: I've compiled Exim and I've managed to start it but there was one problem - it always complained that libmsqlclient.so.10 was not found, even though this file is in /usr/local/lib/mysql/.
- Q0114: How can I remove Sendmail from my system? I've built Exim and run `make install`, but it still doesn't seem to be fully operational.

2. ROUTING IN GENERAL

- Q0201: How can I arrange that messages larger than some limit are handled by a special router?
- Q0202: Can I specify a list of domains to explicitly reject?
- Q0203: How can I arrange to do my own qualification of non-fully-qualified domains, and then pass them on to the next router?
- Q0204: Every system has a `nobody` account under which httpd etc run. I would like to know how to restrict mail which comes from that account to users on that host only.
- Q0205: How can I get Exim to deliver to me locally and everyone else at the same domain via SMTP to the MX record specified host?
- Q0206: How can I get Exim to deliver certain domains to a different SMTP port on my local host?

3. ROUTING TO REMOTE HOSTS

- Q0301: What do lowest numbered MX record points to local host and remote host address is the local host mean?
- Q0302: Why does Exim say all relevant MX records point to non-existent hosts when MX records point to IP addresses?
- Q0303: How do I configure Exim to send all messages to a central server? I don't want to do any local deliveries at all on this host.
- Q0304: How do I configure Exim to send all non-local mail to a gateway host?
- Q0305: How can I arrange for mail on my local network to be delivered directly to the relevant hosts, but all other mail to be sent to my ISP's mail server? The local hosts are all DNS-registered and behave like normal Internet hosts.
- Q0306: How do I configure Exim to send all non-local mail to a central server if it cannot be immediately delivered by my host? I don't want to have queued mail waiting on my host.
- Q0307: The `route_list` setting `^foo$:^bar$ $domain` in a manualroute router does not work.
- Q0308: I have a domain for which some local parts must be delivered locally, but the remainder are to be treated like any other remote addresses.
- Q0309: How can I configure Exim on a firewall machine so that if mail arrives addressed to a domain whose MX points to the firewall, it is forwarded to the internal mail server, without having to have a list of all the domains involved?
- Q0310: If a DNS lookup returns no MX records why doesn't Exim just bin the message?
- Q0311: When a DNS lookup for MX records fails to complete, why doesn't Exim send the messsage to the host defined by the A record?
- Q0312: Is it possible to use a conditional expression for the host item in a `route_list` for manualroute router? I tried the following, but it doesn't work:
- Q0313: I send all external mail to a smart host, but this means that bad addresses also get passed to the smart host. Can I avoid this?
- Q0314: I have a really annoying intermittent problem where attempts to mail to valid sites are rejected with unknown mail domain. This only happens a few times a day and there is no particular pattern to the sites it rejects. If I try to lookup the same domain a few minutes later then it is OK.
- Q0315: I'd like route all mail with addresses that can't be resolved (the DNS lookup times out) to a relay machine.
- Q0316: I would like to forward all incoming email for a particular domain to another host via SMTP. Whereabouts would I configure that?
- Q0317: What I'd like to do is have alternative smart hosts, where the one to be used is determined by which ISP I'm connected to.
- Q0318: Exim won't route to a host with no MX record.
- Q0319: I have some mails on my queues that are sticking around longer than the retry time indicates they should. They are all getting frozen because some remote admin has set their MX record to 127.0.0.1.
- Q0320: How can I arrange for all mail to user@some.domain to be forwarded to user@other.domain?

4. ROUTING FOR LOCAL DELIVERY

- Q0401: I need to have any mail for virt.dom.ain that doesn't match one of the aliases in /usr/lib/aliases.virt delivered to a particular address, for example, postmaster@virt.dom.ain.
- Q0402: How do I arrange for all incoming email for *@some.domain to go into one pop3 mail account? The customer doesn't want to add a list of specific local parts to the system.
- Q0403: How do I configure Exim to send messages for unknown local users to a central server?
- Q0404: How can I arrange for messages submitted by (for example) Majordomo to be handled specially?
- Q0405: On a host that accepts mail for several domains, do I have to use fully qualified addresses in /etc/aliases or do I have to set up an alias file for each domain?
- Q0406: Some of my users are using the .forward to pipe to a shell command which appends to the user's INBOX. How can I forbid this?
- Q0407: How can I arrange for a default value when using a query-style lookup such as LDAP or NIS+ to handle aliases?
- Q0408: If I don't fully qualify the addresses in a virtual domain's alias file then mail to aliases which also match the local domain get delivered to the local domain.
- Q0409: I want mail for any local part at certain virtual domains to go to a single address for each domain.
- Q0410: How can I make Exim look in the alias NIS map instead of /etc/aliases?
- Q0411: Why will Exim deliver a message locally to any username that is longer than 8 characters as long as the first 8 characters match one of the local usernames?
- Q0412: Why am I seeing the error bad mode (100664) for /home/test/.forward? I've looked through the documentation but can't see anything to suggest that Exim has to do anything other than read the .forward file.
- Q0413: When a user's .forward file is syntactially invalid, Exim defers delivery of all messages to that user, which sometimes include the user's own test messages. Can it be told to ignore the .forward file and/or inform the user of the error?
- Q0414: I have set `caseful_local_part` on the routers that handle my local domain because my users have upper case letters in their login names, but incoming mail now has to use the correct case. Can I relax this somehow?
- Q0415: Can I use my existing alias files and forward files as well as procmail and effectively drop in Exim in place of Sendmail ?
- Q0416: What is quickest way to set up Exim so any message sent to a non-existing user would bounce back with a different message, based on the name of non-existing user?
- Q0417: What do I need to do to make Exim handle /usr/ucb/vacation processing automatically, so that people could just create a .vacation.msg file in their home directory and not have to edit their .forward file?
- Q0418: I want to use a default entry in my alias file to handle unknown local parts, but it picks up the local parts that the aliases generate. For example, if the alias file is
- Q0419: I have some obsolete domains which people have been warned not to use any more. How can I arrange to delete any mail that is sent to them?
- Q0420: How can I arrange that mail addressed to anything@something.mydomain.com gets delivered to something@mydomain.com?
- Q0421: I can't get a regular expression to work in a `local_parts` option on one of my routers.
- Q0422: How can I arrange for all addresses in a group of domains *.example.com to share the same alias file? I have a number of such groups.
- Q0423: Some of our users have no home directories; the field in the password file contains /no/home/dir. This causes the error failed to stat /no/home/dir (No such file or directory) when Exim tries to look for a .forward file, and the delivery is deferred.
- Q0424: How can I disable Exim's de-duplication features? I want it to do two deliveries if two different aliases expand to the same address.
- Q0425: My users' mailboxes are distributed between several servers according to the first letter of the user name. All the servers receive incoming mail at random. I would like to have the same configuration file for all the servers, which does local delivery for the mailboxes it holds, and sends other addresses to the correct other server. Is this possible?
- Q0426: One of the things I want to set up is for anything@onedomain to forward to anything@anotherdomain. I tried adding $local_part@anotherdomain to my aliases but it did not expand - it sent it to that literal address.
- Q0427: How can I have an address looked up in two different alias files, and delivered to all the addresses that are found?
- Q0428: I've converted from Sendmail, and I notice that Exim doesn't make use of the `owner-` entries in my alias file to change the sender address in outgoing messages to a mailing list.
- Q0429: I would like to deliver mail addressed to a given domain to local mailboxes, but also to generate messages to the envelope senders.
- Q0430: Whenever Exim tries to route a local address, it gives a permission denied error for the .forward file, like this:
- Q0431: How do I configure Exim to allow arbitrary extensions in local parts, of the form +extension?

5. FILTERING

- Q0501: My filter isn't working. How can I test it?
- Q0502: What I really need is the ability to obtain the result of a pipe command so that I can filter externally and redirect internally. Is this possible?
- Q0503: I received a message with a Subject: line that contained a non-printing character (a carriage return). This messed up my filter file. Is there a way to get round it?
- Q0504: I want to search for `$` in the subject line, but I can't seem to get the syntax.
- Q0505: My problem is that Exim replaces $local_part with an empty string in the system filtering. What's wrong or what did I miss?
- Q0506: Using $recipients in a system filter gives me another problem: how can I do a string lookup if $recipients is a list of addresses?
- Q0507: What are the main differences between using an Exim filter and using procmail?
- Q0508: How can I allow the use of relative paths in users' filter files when the directories concerned are not available from the password data?

6. DELIVERY

- Q0601: What does the error Neither the xxx router nor the yyy transport set a uid for local delivery of... mean?
- Q0602: Exim keeps crashing with segmentation errors (signal 11 or 139) during delivery. This seems to happen when it is about to contact a remote host or when a delivery is deferred.
- Q0603: How can mails that are being routed through routers that do not set `check_local_user` be delivered under the uid of the recipient?
- Q0604: I want to use MMDF-style mailboxes. How can I get Exim to append the ctrl-A characters that separate indvidual emails?
- Q0605: If a user's mailbox is over quota, is there a way for me to set it up so that the mail bounces to the sender and is not stored in the mail queue?
- Q0606: I'm using tmail to do local deliveries, but when I turned on the `use_crlf` option on the pipe transport (tmail prefers `\r\n` terminations) message bodies started to vanish.
- Q0607: When I activate ``return receipt'' for example in Netscape Mailbox sending options, then I get an error message from Exim... something like not supported. Can I activate delivery confirmations?
- Q0608: What does the message retry time not reached [for any host] on the log mean? Why won't Exim try to deliver the message?
- Q0609: Exim seems to be sending the same message twice, according to the log, although there is a difference in capitalization of the local part of the address.
- Q0610: How can I force the next retry time for a host to be now?
- Q0611: I set up `|/bin/grep Subject|/usr/bin/smbclient -M <netbiosname>` as an alias but it doesn't work.
- Q0612: Why does the pipe transport add a line starting with `>From` to messages?
- Q0613: I have set `fallback_hosts` on my smtp transport, but after the error sem@chat.ru cannot be resolved at this time Exim isn't using them.
- Q0614: After the holidays my ISP has always hundreds of e-mails waiting for me. These are forced down Exim's throat in one go. Exim spawns a lot of kids, but is there some limit to the number of processes it creates?
- Q0615: When a message in the queue got to 12h old, Exim wrote retry timeout exceeded and removed all messages in the queue to this host - even recent messages. How I can avoid this behaviour? I only want to remove messages that have exceeded the maximum retry time.
- Q0616: Can Exim add a Content-Length: header to messages it delivers?
- Q0617: Exim seems to be trying to deliver a message every 10 minutes, though the retry rules specify longer times after a while, because it is writing a log entry every time, like this:
- Q0618: I am trying to set exim up to have a automatic failover if it sees that the system that it is sending all mail to is down.
- Q0619: I can't get Exim to deliver over NFS. I get the error fcntl() failed: No locks available, though the lock daemon is running on the NFS server and other hosts are able to access it.
- Q0620: Why does Exim bounce messages without even attempting delivery, giving the error retry time not reached for any host after a long failure period?
- Q0621: My .forward file is `|/usr/bin/procmail -f-` and mail gets delivered, but there was a bounce to the sender, sending him the output of procmail. How can I prevent this?
- Q0622: Can I write an ordinary file when I run a perl script as a transport filter for the remote_smtp and address_pipe transports?
- Q0623: My /var/spool/mail has grown drastically. Is there any possibility of using two directories?
- Q0624: Sendmail has a program called smrsh that restricts what binaries can be run from sendmail aliases. Is there something like this in Exim ?
- Q0625: I wish to have large emails go out one at a time.

7. POLICY CONTROLS

- Q0701: How do I block unwanted messages from outside my host?
- Q0702: I don't want to block spam entirely; how can I inspect each message before deciding whether or not to deliver it?
- Q0703: How can I test that my spam blocks are working?
- Q0704: How can I test that Exim is correctly configured to use the Realtime Blackhole List (RBL)?
- Q0705: How can I use tcpwrappers in conjunction with Exim?
- Q0706: How can I get POP-auth-before-relay support in Exim?
- Q0707: I have one or two cases where my host correctly rejects messages, but the remote host is quite persistent, and keeps trying over and over.
- Q0708: How can I run customized verification checks on incoming addresses?
- Q0709: Does Exim apply RBL checks to error messages, those with an envelope sender of `<>` ?
- Q0710: I want to reject certain sender-recipient combinations, with a specific message for each such combination.
- Q0711: Will Exim allow me to create a file of regexs and match incoming external email to the list - and if a match is found file the offending message into a special location? Also is it possible to make Exim only filter parts of an incoming email - e.g. ignore large MIME attachments for example and only process text/plain?
- Q0712: I've hacked sendmail to make an ioctl call at the time of the SMTP RCPT command, to check if a user has exceeded their email quota. If they have I issue a temporary failure and a message - can I do this with Exim?
- Q0713: I'd like to pass all messages through a virus-scanning system before delivery. Can Exim do this?
- Q0714: Is there a way to configure Exim to reject mail to a certain local host?
- Q0715: How can I get Exim to remove attachments from messages?
- Q0716: How can I arrange for each user to have a file listing the only sender addresses from which she will accept mail? I want to do this so my family members don't get any spam (or other inappropriate mail).
- Q0717: When using Nessus on a system that runs Exim, a number of security issues are raised. Nessus complains that Exim answers to EXPN and/or VRFY; sometimes it even complains that Exim allows relaying.
- Q0718: Could anyone points me to right rules to prevent sending/receiving messages to/for domains which have one MX to localhost or only have address 127.0.0.1 ?
- Q0719: I would like to have a per-user limit for the maximum size of messages that can be sent.
- Q0720: I set `accept hosts=192.168.122.96/32` in order to accept mail for relaying from my local LAN, but it doesn't work. What's wrong?
- Q0721: I have POP-before-SMTP set up on my Exim server, but some clients use Outlook Express, which sends queued messages before checking the mailbox, so it doesn't work.
- Q0722: I installed Amavis and it is working, but bounces are simply vanishing.
- Q0723: I can't get Pine to work with PLAIN authentication; Exim keeps responding "535 Incorrect authentication data".
- Q0724: I have used `:fail:` in some aliases; when one of these addresses is refused, I see the message on the log, but the response to the remote user is ``unknown user'' instead of the message from the alias file. How can I change this?
- Q0725: I've set up some specific rejection messages for certain recipients, but when I test them, the SMTP message is always 550 5.1.1 <user@mydomain.com>... User unknown.
- Q0726: My SMTP authentication can be bypassed by sending an unknown user name and an empty password. What is wrong with this condition in a PLAIN authenticator?
- Q0727: When a message has many recipients, how can I stop SpamAssassin from being called for each of them? I'm running it from a pipe transport.

8. REWRITING ADDRESSES

- Q0801: How can I get Exim to strip the hostname from the sender's address?
- Q0802: I have Exim configured to remove the hostname portion of the domain on outgoing mail, and yet the hostname is present when the mail gets delivered.
- Q0803: I want to rewrite local addresses in mail that goes to the outside world, but not for messages that remain within the local intranet.
- Q0804: I'm using this rewriting rule to change login names into ``friendly'' names, but if mail comes in for an upper case login name, it doesn't get rewritten.
- Q0805: Is it possible to completely fail a message if the rewrite rules fail?
- Q0806: I'm using $domain as the key for a lookup in a rewriting rule, but its contents are not being lowercased. Aren't domains supposed to be handled caselessly?
- Q0807: I want to rewrite local sender addresses depending on the domain of the recipient.

9. HEADERS

- Q0901: I would like add some custom headers to selected outgoing mail based on a specific domain and the subject line.
- Q0902: Is it possible to have Exim add a header to only certain local parts of outgoing mail?
- Q0903: How can I remove some part of the Received: header?
- Q0904: How I can insert the PGP header line using Exim filters?
- Q0905: I know I can use a system filter to replace certain headers in messages, but how can I add text to existing headers? I want to add [SPAM] to the subject line of messages that appear to be spam.

10. PERFORMANCE

- Q1001: I'm running a large mail server. Should I set `split_spool_directory` to improve performance?
- Q1002: How well does Exim scale?
- Q1003: We have a large password file. Can Exim use alternative lookups during delivery to speed things up?
- Q1004: I just wondered if it might be helpful to put the hints database on a RAM disk during regular operation. Did anybody try that yet?

11. MAJORDOMO

- Q1101: How do I set up Majordomo to work with Exim?
- Q1102: I have set $mailer in majordomo.cf, but it still isn't setting the sender correctly in the messages it sends.
- Q1103: I'm trying to set up majordomo, but I'm getting a wrong mode error when I try to send it mail.
- Q1104: I'm getting return code 9 from /home/majordomo/majordomo-1.94.4/wrapper when it is passed a message from Exim.
- Q1105: Exim is complaining about an invalid command line when Majordomo tries to send it a message for delivery.

12. FETCHMAIL

- Q1201: When I run fetchmail, I get the error SMTP listener doesn't like recipient address xxx@localhost.
- Q1202: I'm currently using Exim with fetchmail and I'd like to use the RBL on Exim, but will it work? Do I need to configure fetchmail any particular way? As far as Exim knows, all mail is coming from 127.0.0.1. Will it check the source address against RBL? Or will it check the From: header?

13. PERL

- Q1301: Exim built with Perl support exits with the error message ./exim: can't load library 'libperl.so'.
- Q1302: Exim built with Perl support exits with several error messages of the form undefined reference to `PL_stack_sp'.

14. DIAL-UP AND ISDN

- Q1401: When I'm not connected to the Internet, how can I arrange for mail to other hosts on my local network to be delivered, while at the same time mail to Internet hosts is queued without any delivery attempts?
- Q1402: I have a dial-up machine, and I use the `queue_smtp_domains` option so that remote mail only goes out when I do a queue run. However, any email I send with an address anything@aol.com is returned within about 15 minutes saying retry time exceeded, and all addresses are affected.
- Q1403: How should Exim be configured when it is acting as a temporary storage system for a domain on a dial-up host?
- Q1404: I have `queue_domains` or `queue_smtp_domains` set, and use -qf to force delivery of waiting mail when I dial in. How can I arrange for any new messages that arrive while I'm connected to be delivered immediately?
- Q1405: I have an ISDN connection and would like a way of running the queue automatically when it is up.
- Q1406: When I dial up to collect mail from my ISP, only the first 10 messages get delivered immediately; the remainder just sit on the queue until a queue runner process finds them.
- Q1407: RFC 1985 specifies that the SMTP command `ETRN host.domain` causes all mail queued for that host, no matter what domain it's for, to be delivered. Why doesn't Exim support this?
- Q1408: If email has been deferred to a member on a local mailing list (implemented through forward files), and one of our ETRN clients is on this mailing list, the -R won't flush the mailing list message for that client.
- Q1409: I would like to have a separate queue per domain for hosts which dial in to collect their mail.

15. UUCP

- Q1501: The MX records for some UUCP domains point to my local host. How do I get it to pass the messages on to UUCP?
- Q1502: How can I get Exim to handle ``bang path'' addresses?
- Q1503: We see something strange on our system in regards to mail coming in via rmail from a UUCP link. The sender is being set to mailmaster instead of the real sender, and a Sender: header is being added to the message.

16. MODIFYING MESSAGE BODIES

- Q1601: How can I add a disclaimer or an advertisement to a message?
- Q1602: How can I remove attachments from messages?

17. ENCRYPTION (TLS/SSL)

- Q1701: I am trying to set up an Exim server that uses a self-signed certificate to enable my clients to use TLS. However, clients other than Exim refuse to accept this certificate. What's wrong?
- Q1702: How can I arrange for Exim to advertise support for SMTP authentication only when the session is encrypted?

20. MILLENNIUM

- Q2000: Are there any Y2K issues with Exim?

50. MISCELLANEOUS

- Q5001: How can I arrange to allow a limited set of users to perform a limited set of Exim administration functions? I don't want to put them all in the exim group.
- Q5002: I want to ``tail'' the Exim log, but I have a number of other logs I also want to ``tail'', and the number of tailing windows is getting to be a nuisance.
- Q5003: How can I persuade Exim to accept ETRN commands without the leading # character?
- Q5004: I've recently noticed that emails I send with a Bcc: line are being delivered to their final destination with the Bcc: line still present.
- Q5005: I used gv 3.5.8 (ghostview) to try printing spec.ps. After every printed page, the printer ejects a blank sheet. Is this something to do with using ``letter'' rather than A4 paper?
- Q5006: Why aren't there any man pages for Exim? I don't always carry my printed documentation.
- Q5007: When I send a message using the -t command line option, Exim sends only to the addresses within the message, not to those on the command line.
- Q5008: If I set up a domain list to contain *customer.com, it matches customer.com and abc.customer.com as required, but it also matches noncustomer.com, which is wrong. How can I get round this?
- Q5009: I want to match all domains of the form *.oyoy.org but want a few exceptions. For instance I don't want foo.oyoy.org or bar.oyoy.org to be included. What is the best way to do this?
- Q5010: I can't seem to find a pre-built version of Exim anywhere. The machine is a Sparc 5 running Solaris 2.6.
- Q5011: Is there a version of Exim available that runs under Windows?
- Q5012: Does Exim support Delivery Status Notification (DSN), Message Status Notification (MSN), or any other form of delivery acknowledgement?
- Q5013: What does ``Exim'' stand for?
- Q5014: Although I haven't set `check_spool_space`, Exim is still checking the amount of space on the spool for incoming SMTP messages that use the SIZE option. Can I suppress this?
- Q5015: I just noticed log entries that start off `<= <>`. Am I correct in assuming that the `<>` indicates that the envelope did not contain any ``From'' data?
- Q5016: I've received a message which does not have my address in the To: line. It is a spam message with the same address in both the From: and the To: headers. How can this happen, and why doesn't Exim reject it?
- Q5017: Can (or will) Exim ever handle a message delivery purely in memory, that is, it is handled without it ever hitting the disc?
- Q5018: If I am using dbm files for data that Exim reads, can I rebuild them on the fly, or do I need to restart Exim every time I make a change?
- Q5019: I need an option that is the opposite of -bpa, that is, a listing of those addresses generated from a top-level address that have not yet been delivered.
- Q5020: How can I make Exim receive incoming mail, queue it, but not attempt to deliver it? I want to be in this state while moving some mailboxes.
- Q5021: What does Exim use for POP as a default? Do I have to install anything else?
- Q5022: Is there an easy way of removing all queued messages at once in a safe way?
- Q5023: Why does Exim do ident callbacks by default? Isn't this just a waste of resources? I've been told this is an ancient way of authentication. Is it obsolete?
- Q5024: I often have the problem that a message gets stuck in the mail queue and I want it to be bounced to a certain address.
- Q5025: What precautions should I take when editing Exim's run time configuration file?
- Q5026: Is exim able to use RFC 2645, On-demand Mail Relay (ODMR)?
- Q5027: Is there any way I can send bounces to the postmaster, and nobody else? Basically, I want to receive them, and I don't want the reply/from person to get them. If I think they need it I will forward it myself.
- Q5028: When I HUP the Exim daemon, the name shown in the process table changes from /usr/lib/sendmail (which is a symlink) to the real binary name. Can I change this?
- Q5029: A message with a recipient address that contains a non-printing character is stuck on my mail queue. How can I remove this address?
- Q5030: I am using exim in a two queues scenario, with two different configuration files. How can I run a second copy of eximon to inspect and modify the alternate queue?
- Q5031: Why is there no sender address on bounce messages? It shows up as "<>".

92. FREEBSD

- Q9201: On FreeBSD, /usr/sbin/sendmail is a symbolic link to /usr/sbin/mailwrapper; it doesn't contain the Sendmail binary. How should I replace Sendmail with Exim on FreeBSD?
- Q9202: A script that FreeBSD runs nightly uses mailq with the -Ac parameter. Why doesn't Exim recognize this?

93. HP-UX

- Q9301: I'm trying to compile on an HP machine and I don't have gcc there. So I put `CC=cc` in the Local/Makefile, but I got this error:

94. BSDI

- Q9401: On BSDI 4.0, Exim built with Perl support exits with the error message

95. IRIX

- Q9501: The IP addresses for incoming calls are all being given as 255.255.255.255 or 0.0.0.0.

96. LINUX

- Q9601: Exim is mysteriously crashing, usually when forking to send a delivery error message.
- Q9602: I want to use logrotate which is standard with RH5.2 Linux to rotate my mail logs. Anyone worked out the logrotate config file that will do this?
- Q9603: I'm seeing the message inetd[334]: imap/tcp server failing (looping), service terminated on a RedHat 5.2 system, causing imap connections to be refused. The imapd in use is Washington Univers 12.250. Could this be anything to do with Exim?
- Q9604: I get the too many open files error especially when a lot of messages land for Majordomo at the same time.
- Q9605: I installed debian 2.2 linux on a small 325mb 486 laptop. When I try to test the Mail program, I get the following error: Failed to open configuration file /etc/exim.conf.

97. SUN SYSTEMS

- Q9701: Exim builds fine with gcc on SunOS 4 but crashes inside sscanf().
- Q9702: How can I get rid of spurious `^M` characters in messages sent from CDE dtmail?
- Q9703: On SunOS 4 Exim crashes when looking up domains in the DNS that have more than 10 A records.
- Q9704: I am experiencing mailbox locking problems with Sun's mailtool used over a network.
- Q9705: Exim has been crashing on my Solaris x86 system, apparently while running DBM functions.
- Q9706: The exiwhat utility isn't working for me on a Solaris 2 system.
- Q9707: How do I stop Sun's dtcm from hanging?
- Q9708: I want Exim to use only the resolver (i.e. ignore /etc/hosts), but don't want to alter the nsswitch.conf file in Solaris 2.

98. CONFIGURATION COOKBOOK

- Q9801: How do I configure Exim as part of TPC (http://www.tpc.int)?
- Q9802: How do I configure Exim so that it sends mail to the outside world only from a restricted list of our local users?
- Q9803: A site for which I provide secondary MX is down for some time. Is there a way to run the queue for that destination separately from the main queue?
- Q9804: We want to be able to temporarily lock out a user by disabling the password and moving the home directory to another place. How can we arrange to reject mail for users in this state?
- Q9805: How can I configure Exim so that all mails addressed to something@username.domain.net get delivered to /var/spool/mail/username?
- Q9806: How do I get exim not to add a Sender: header to locally originated mail?
- Q9807: Is there any way to have messages sent to a specific local address delayed by - say - 24 hours?
- Q9808: I have a mailing list exploder on one host, and three other hosts where I want to do the actual deliveries from. How can I get Exim to split a message into groups of recipients between the three hosts?
- Q9809: Can I configure Exim so that my gateway host sends a copy of each incoming message to each of two internal hosts?

99. LIST OF SAMPLE CONFIGURATIONS

Contents Next