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: 27-August-2003
Index
A Keyword-in-context index to the questions is available. This is usually the quickest way to find information in the FAQ.
Contents
The FAQ is divided into the following sections:
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 set gid=ddd or uid=ddd (euid=ddd):
local delivery to ... transport=ttt 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.
- Q0065: When (as root) I use -C to run Exim with an alternate configuration
file, it gives an error about being unable to create a spool file when
trying to run an autoreply transport. Why is this?
- Q0066: What does the message unable to set gid=xxx or uid=xxx mean?
- Q0067: What does the error too many unrecognized commands mean?
- Q0068: Exim times out when trying to connect to some hosts, though those hosts
are known to be up and running. What's the problem?
- Q0069: What does the error SMTP data timeout (message abandoned) on connection
from... mean?
- Q0070: What does the error SMTP command timeout on connection from... mean?
- Q0071: What does the error failed to open DB file /var/spool/exim//db/retry:
Illegal argument mean?
- Q0072: Exim will deliver to normal aliases, and aliases that are pipes or
files, but it objects to aliases that involve :include: items,
complaining that it can't change gid or uid. Why is this?
- Q0073: I'm seeing log file corruption, with parts of log lines getting mangled
by other log entries.
- Q0074: What does the error message remote delivery process count got out of
step mean?
- Q0075: I'm using LDAP, and some email addresses that contain special characters
are causing parsing errors in my LDAP lookups.
- Q0076: I've configured Exim to use syslog for its logs, with the main and
reject logs sent to different files, but whenever a message is rejected,
I get one message on the reject log and two messages on the main log.
- Q0077: I've installed Exim and it is delivering mail just fine. However, when I
try to read mail from my PC I get connection rejected or unable to
connect.
- Q0078: Exim is logging the unknown SMTP command XXXX from my client hosts,
and they are unable to authenticate.
- Q0079: Our new PIX firewall is causing problems with incoming mail. How can
this be fixed?
- Q0080: Am I to understand that the database lookups must only return one value?
They can not return a list of values? The documentation seems to
indicate that it's possible to return a list.
- Q0081: What does error in redirect data: included file xxxx is too big
mean?
- Q0082: What does relocation error: /lib/libnss_dns.so.2: symbol
__libc_res_nquery, version GLIBC_PRIVATE not defined in file
libresolv.so.2 with link time reference mean?
- Q0083: Netscape on Unix is sending messages containing an unqualified user name
in the Sender: header line, which Exim is rejecting because I have
set verify = header_syntax. How can I fix this?
- Q0084: I want to set up an alias that pipes a message to gpg and then pipes
the result to mailx to resubmit the message, but when I use my
tested command in an alias file, I get an error from gpg.
- Q0085: I see a lot of rejected EHLO ... syntactically invalid argument(s).
I know it's because of the underscore in the host name, but is there a
switch to allow Exim to accept mail from such hosts?
- Q0086: What does SMTP protocol violation: synchronization error (next input
sent too soon) mean?
- Q0087: What does rejected after DATA: malformed address: xx@yy may not follow
<xx@yy> : failing address in "from" header mean? (I've obscured the
real email addresses.)
- Q0088: The Windows mailer SENDFILE.EXE somethings hangs while trying to send a
message to Exim 4, and eventually times out. It worked flawlessly with
Exim 3. What has changed?
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 -ldb 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.
- Q0115: What does Can't open ../scripts/newer: No such file or directory
mean? I got it while trying to build Exim.
- Q0116: I have tried to build Exim with Berkeley DB 3 and 4, but I always get
errors.
- Q0117: Is there a quick walk-through of an Exim install from source anywhere?
- Q0118: I've set LOOKUP_INCLUDE=-I/client/include in Local/Makefile, but the
compilation of exim_dumpdb is ignoring this option and failing. Why?
- Q0119: I know there are some 3rd-party patches for Exim, for exiscan and
other things. Where are they?
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?
- Q0207: Why does Exim lower-case the local-part of a non-local domain when
routing?
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?
- Q0321: How can I tell an Exim router to use only IPv4 or only IPv6 addresses
when it finds both types in the DNS?
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?
- Q0432: I use NIS for my user data. How can I stop Exim rejecting mail when my
NIS servers are being restarted?
- Q0433: How can I arrange for a single address to be processed by both
redirect and accept?
- Q0434: How can I redirect all local parts that are not in my system aliases to
a single address? I tried using an asterisk in the system alias file
with an lsearch* lookup, but that send all messages to the
default address.
- Q0435: My alias file contains fully qualified addresses as keys, and some
wildcard domains in the form @foo.bar. Can Exim handle these?
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?
- Q0509: How can I set up a filter file to detect and block virus attachments?
- Q0510: Is it possible to write code for scanning messages in Python?
- Q0511: Whenever my system filter uses a mail command to send a message, I get
the error User 0 set for address_reply transport is on the never_users
list. What does this mean?
- Q0512: I'm trying to reference the Envelope-To: header in my filter, but
$h_envelope-to: is always empty.
- Q0513: I want my system filter to freeze all mails greater than 500K in size,
but to exclude those to a specific domain. However, I don't seem to be
able to use $domain in a system filter.
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.
- Q0626: Exim can route local parts independent of their case, but the Cyrus LMTP
daemon requires the correct case. How can I fix this?
- Q0627: Is there a command I can send to Exim to retry all queued messages
regardless of their retry schedule?
- Q0628: I have the default retry rule, which I thought meant that Exim should
keep trying for four days, but it seems to be bouncing some messages
immediately.
- Q0629: I'm having trouble with quotas and Courier, because Exim is not handling
maildirsize files.
- Q0630: How can I configure Exim to deliver to a Cyrus message store?
- Q0631: I would like to choose a retry rule based on on the sender rather than
the recipient address. Is this possible?
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 (aka POP-before-SMTP) 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.
- Q0728: How do I use Exiscan, SA-Exim, SpamAssassin, Clam Antivirus, Sophos
SAVI, or sophie with Exim?
- Q0729: How can I screen out addresses that are neither valid usernames or
distribution lists on mail being forwarded to an internal Win2K server?
- Q0730: How can I use the same passwords for SMTP authentication as I use for
Courier IMAP access to my server?
- Q0731: Is there any defence I can use against spam sent through an open proxy?
- Q0732: I would like to either warn or deny when a host uses an underscore in
the EHLO command.
- Q0733: Is there any way to tell Exim not to lookup the IP address against any
DNS black list if the connection is over IPv6?
- Q0734: How do MailScanner and Exiscan compare? What are the pros and cons?
- Q0735: How can I block non-FQDNs in HELO/EHLOs?
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?
- Q1703: I have some legacy clients that don't use STARTTLS, but which expect to
negotiate a TLS session automatically on connection to the ssmtp port
(465). Can Exim handle this?
- Q1704: When my Outlook Express 6.0 client sends a STARTTLS command to begin a
TLS session, Exim doesn't seem to receive it.
- Q1705: I have listed some hosts in tls_try_verify_hosts, but when they
connect, no data appears in $tls_peerdn.
- Q1706: I have listed some hosts in tls_verify_hosts and provided them with
certificates, but their connections are always rejected.
- Q1707: I am trying to use TLS with Evolution as a client, and keep seeing this
error: SMTP protocol violation: synchronization error (next input
sent too soon): rejected "\200F^A^C". What does it mean?
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 disk?
- 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 and IMAP 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 "<>".
- Q5032: Are there any Exim web-based administration scripts?
- Q5033: How can I send a copy of all outgoing messages to another mailbox?
91. MAC OS X
- Q9101: How can I install Exim on Mac OS X?
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?
- Q9203: How can I use Exim for authenticated SMTP using Cyrus on FreeBSD?
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.
- Q9606: I'm having trouble configuring Exim 4 on a Debian system. How does
/etc/exim4/conf.d work?
- Q9607: I'm having difficulties trying to make Exim 4 with Redhat 9 and Berkeley
DB 4.
- Q9608: I'm running Exim 3 under Debian, and want to upgrade to Exim 4. How
difficult is it?
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.
- Q9709: When I try to compile Exim 4.x on Solaris 2.5.1 I get an error along the
lines of no such field in struct as 'value.ui32'.
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?
- Q9810: How can I implement ``SMTP-after-POP'' with Exim?
- Q9811: I would like to ``tap off'' a proportion of real mail traffic from my
live mail server to use in tests of a new server. I want to preserve the
envelope contents, but to suppress any error notifications to the
original sender.
- Q9812: How can I lookup data from a single file using both single IP addresses
and IP address blocks as keys? I want to set smtp_accept_max_per_host
by this means, and also include a default.
99. LIST OF SAMPLE CONFIGURATIONS
Contents
Next