RE: [Exim] Help please : SMTP Relay Messages Frozen

Top Page
Delete this message
Reply to this message
Author: Alex Schlichting
Date:  
To: exim-users
Subject: RE: [Exim] Help please : SMTP Relay Messages Frozen
Hi,

Is no one able to help ? I try and try but it seems like I don't understand
why Exim refuses to deliver my outgoing emails while the locals work fine :(
Someone please help. I attach the complete debug information now I hope this
is not against any rules here.

Best regards,

-Alex


illuvatar:/home/alex# cat smtp | exim -d+transport -bh 127.0.0.1
Exim version 4.22 uid=0 gid=0 pid=30824 D=fbb95cfd
Berkeley DB: Sleepycat Software: Berkeley DB 3.2.9: (June 16, 2003)
Support for: iconv()
Authenticators: cram_md5 plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply pipe smtp
changed uid/gid: forcing real = effective
uid=0 gid=0 pid=30824
auxiliary group list: <none>
finduser used cached passwd data for root
configuration file is /etc/exim/exim.conf
log selector = 040d99d8
trusted user
admin user
changed uid/gid: privilege not needed
uid=0 gid=8 pid=30824
auxiliary group list: <none>
finduser used cached passwd data for mail
finduser used cached passwd data for mail
finduser used cached passwd data for mail
finduser used cached passwd data for mail
originator: uid=0 gid=0 login=root name=root
sender address = root@???
sender_fullhost = [127.0.0.1]
sender_rcvhost = [127.0.0.1]

**** SMTP testing session as if from host 127.0.0.1
**** but without any ident (RFC 1413) callback.
**** This is not for real!

LOG: smtp_connection MAIN
SMTP connection from [127.0.0.1]
host in host_lookup? yes (matched "*")
looking up host name for 127.0.0.1
IP address lookup yielded localhost.localdomain
alias localhost
gethostbyname looked up these IP addresses:
name=localhost.localdomain address=127.0.0.1
checking addresses for localhost.localdomain
127.0.0.1 OK
gethostbyname looked up these IP addresses:
name=localhost.localdomain address=127.0.0.1
checking addresses for localhost
127.0.0.1 OK
sender_fullhost = localhost.localdomain [127.0.0.1]
sender_rcvhost = localhost.localdomain ([127.0.0.1])
set_process_info: 30824 handling incoming connection from
localhost.localdomain [127.0.0.1]
host in host_reject_connection? no (option unset)
host in sender_unqualified_hosts? no (option unset)
host in recipient_unqualified_hosts? no (option unset)
host in helo_verify_hosts? no (option unset)
host in helo_try_verify_hosts? no (option unset)
host in helo_accept_junk_hosts? no (option unset)
SMTP>> 220 illuvatar.akp-net.com ESMTP Exim 4.22 Thu, 04 Sep 2003 16:34:40

+0200
220 illuvatar.akp-net.com ESMTP Exim 4.22 Thu, 04 Sep 2003 16:34:40 +0200
smtp_setup_msg entered
SMTP<< HELO x
sender_fullhost = localhost.localdomain (x) [127.0.0.1]
sender_rcvhost = localhost.localdomain ([127.0.0.1] helo=x)
set_process_info: 30824 handling incoming connection from
localhost.localdomain (x) [127.0.0.1]
250 illuvatar.akp-net.com Hello localhost.localdomain [127.0.0.1]
SMTP>> 250 illuvatar.akp-net.com Hello localhost.localdomain [127.0.0.1]

SMTP<< MAIL FROM:<alex@???>
SMTP>> 250 OK

250 OK
SMTP<< RCPT TO:<diezwei@???>
using ACL "acl_check_rcpt"
processing "accept"
check hosts = :
host in ":"? no (end of list)
accept: condition test failed
processing "deny"
check local_parts = ^.*[@%!/|] : ^\\.
diezwei in "^.*[@%!/|] : ^\."? no (end of list)
deny: condition test failed
processing "accept"
check local_parts = postmaster
diezwei in "postmaster"? no (end of list)
accept: condition test failed
processing "require"
check verify = sender
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Verifying alex@???
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Considering alex@???
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

routing alex@???
--------> dnslookup router <--------
local_part=alex domain=akp-net.com
checking domains
search_open: lsearch "/etc/exim/localdomains"
search_find: file="/etc/exim/localdomains"
key="akp-net.com" partial=-1 affix=NULL starflags=0
LRU list:
8/etc/exim/localdomains
End
internal_search_find: file="/etc/exim/localdomains"
type=lsearch key="akp-net.com"
file lookup required for akp-net.com
in /etc/exim/localdomains
lookup yielded:
akp-net.com in "lsearch;/etc/exim/localdomains"? yes (matched
"lsearch;/etc/exim/localdomains")
data from lookup saved for cache for +local_domains:
akp-net.com in "! +local_domains"? no (matched "! +local_domains")
dnslookup router skipped: domains mismatch
--------> system_aliases router <--------
local_part=alex domain=akp-net.com
calling system_aliases router
rda_interpret (string):
${lookup{$local_part@$domain}lsearch{/etc/exim/aliases}}
search_open: lsearch "/etc/exim/aliases"
search_find: file="/etc/exim/aliases"
key="alex@???" partial=-1 affix=NULL starflags=0
LRU list:
8/etc/exim/aliases
8/etc/exim/localdomains
End
internal_search_find: file="/etc/exim/aliases"
type=lsearch key="alex@???"
file lookup required for alex@???
in /etc/exim/aliases
lookup failed
expanded:
file is not a filter file
parse_forward_list:
system_aliases router declined for alex@???
--------> system_aliases2 router <--------
local_part=alex domain=akp-net.com
calling system_aliases2 router
rda_interpret (string): ${lookup{*@$domain}lsearch{/etc/exim/aliases}}
search_open: lsearch "/etc/exim/aliases"
cached open
search_find: file="/etc/exim/aliases"
key="*@akp-net.com" partial=-1 affix=NULL starflags=0
LRU list:
8/etc/exim/aliases
8/etc/exim/localdomains
End
internal_search_find: file="/etc/exim/aliases"
type=lsearch key="*@akp-net.com"
file lookup required for *@akp-net.com
in /etc/exim/aliases
lookup yielded: alex
expanded: alex
file is not a filter file
parse_forward_list: alex
extract item: alex
system_aliases2 router generated alex@???
errors_to=NULL transport=NULL
uid=unset gid=unset home=NULL
routed by system_aliases2 router
envelope to: alex@???
transport: <none>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Considering alex@???
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

routing alex@???
--------> dnslookup router <--------
local_part=alex domain=illuvatar.akp-net.com
checking domains
search_open: lsearch "/etc/exim/localdomains"
cached open
search_find: file="/etc/exim/localdomains"
key="illuvatar.akp-net.com" partial=-1 affix=NULL starflags=0
LRU list:
8/etc/exim/localdomains
8/etc/exim/aliases
End
internal_search_find: file="/etc/exim/localdomains"
type=lsearch key="illuvatar.akp-net.com"
file lookup required for illuvatar.akp-net.com
in /etc/exim/localdomains
lookup yielded:
illuvatar.akp-net.com in "lsearch;/etc/exim/localdomains"? yes (matched
"lsearch;/etc/exim/localdomains")
data from lookup saved for cache for +local_domains:
illuvatar.akp-net.com in "! +local_domains"? no (matched "! +local_domains")
dnslookup router skipped: domains mismatch
--------> system_aliases router <--------
local_part=alex domain=illuvatar.akp-net.com
calling system_aliases router
rda_interpret (string):
${lookup{$local_part@$domain}lsearch{/etc/exim/aliases}}
search_open: lsearch "/etc/exim/aliases"
cached open
search_find: file="/etc/exim/aliases"
key="alex@???" partial=-1 affix=NULL starflags=0
LRU list:
8/etc/exim/aliases
8/etc/exim/localdomains
End
internal_search_find: file="/etc/exim/aliases"
type=lsearch key="alex@???"
file lookup required for alex@???
in /etc/exim/aliases
lookup failed
expanded:
file is not a filter file
parse_forward_list:
system_aliases router declined for alex@???
--------> system_aliases2 router <--------
local_part=alex domain=illuvatar.akp-net.com
calling system_aliases2 router
rda_interpret (string): ${lookup{*@$domain}lsearch{/etc/exim/aliases}}
search_open: lsearch "/etc/exim/aliases"
cached open
search_find: file="/etc/exim/aliases"
key="*@illuvatar.akp-net.com" partial=-1 affix=NULL starflags=0
LRU list:
8/etc/exim/aliases
8/etc/exim/localdomains
End
internal_search_find: file="/etc/exim/aliases"
type=lsearch key="*@illuvatar.akp-net.com"
file lookup required for *@illuvatar.akp-net.com
in /etc/exim/aliases
lookup yielded: alex
expanded: alex
file is not a filter file
parse_forward_list: alex
extract item: alex
system_aliases2 router generated alex@???
errors_to=NULL transport=NULL
uid=unset gid=unset home=NULL
routed by system_aliases2 router
envelope to: alex@???
transport: <none>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Considering alex@???
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

routing alex@???
--------> dnslookup router <--------
local_part=alex domain=illuvatar.akp-net.com
checking domains
search_open: lsearch "/etc/exim/localdomains"
cached open
search_find: file="/etc/exim/localdomains"
key="illuvatar.akp-net.com" partial=-1 affix=NULL starflags=0
LRU list:
8/etc/exim/localdomains
8/etc/exim/aliases
End
internal_search_find: file="/etc/exim/localdomains"
type=lsearch key="illuvatar.akp-net.com"
cached data used for lookup of illuvatar.akp-net.com
in /etc/exim/localdomains
lookup yielded:
illuvatar.akp-net.com in "lsearch;/etc/exim/localdomains"? yes (matched
"lsearch;/etc/exim/localdomains")
data from lookup saved for cache for +local_domains:
illuvatar.akp-net.com in "! +local_domains"? no (matched "! +local_domains")
dnslookup router skipped: domains mismatch
--------> system_aliases router <--------
local_part=alex domain=illuvatar.akp-net.com
calling system_aliases router
rda_interpret (string):
${lookup{$local_part@$domain}lsearch{/etc/exim/aliases}}
search_open: lsearch "/etc/exim/aliases"
cached open
search_find: file="/etc/exim/aliases"
key="alex@???" partial=-1 affix=NULL starflags=0
LRU list:
8/etc/exim/aliases
8/etc/exim/localdomains
End
internal_search_find: file="/etc/exim/aliases"
type=lsearch key="alex@???"
file lookup required for alex@???
in /etc/exim/aliases
lookup failed
expanded:
file is not a filter file
parse_forward_list:
system_aliases router declined for alex@???
--------> system_aliases2 router <--------
system_aliases2 router skipped: previously routed alex@???
--------> userforward router <--------
local_part=alex domain=illuvatar.akp-net.com
userforward router skipped: verify 1 0 0
--------> virtual_localuser router <--------
local_part=alex domain=illuvatar.akp-net.com
checking domains
search_open: dsearch "/etc/exim/virtual"
search_find: file="/etc/exim/virtual"
key="illuvatar.akp-net.com" partial=-1 affix=NULL starflags=0
LRU list:
4/etc/exim/virtual
8/etc/exim/aliases
8/etc/exim/localdomains
End
internal_search_find: file="/etc/exim/virtual"
type=dsearch key="illuvatar.akp-net.com"
file lookup required for illuvatar.akp-net.com
in /etc/exim/virtual
lookup failed
illuvatar.akp-net.com in "dsearch;/etc/exim/virtual"? no (end of list)
virtual_localuser router skipped: domains mismatch
--------> virtual_alias router <--------
local_part=alex domain=illuvatar.akp-net.com
checking domains
search_open: dsearch "/etc/exim/virtual"
cached open
search_find: file="/etc/exim/virtual"
key="illuvatar.akp-net.com" partial=-1 affix=NULL starflags=0
LRU list:
4/etc/exim/virtual
8/etc/exim/aliases
8/etc/exim/localdomains
End
internal_search_find: file="/etc/exim/virtual"
type=dsearch key="illuvatar.akp-net.com"
cached data used for lookup of illuvatar.akp-net.com
in /etc/exim/virtual
lookup failed
illuvatar.akp-net.com in "dsearch;/etc/exim/virtual"? no (end of list)
virtual_alias router skipped: domains mismatch
--------> localuser router <--------
local_part=alex domain=illuvatar.akp-net.com
checking for local user
calling localuser router
localuser router called for alex@???
domain = illuvatar.akp-net.com
set transport local_delivery
queued for local_delivery transport: local_part = alex
domain = illuvatar.akp-net.com
errors_to=NULL
domain_data=NULL localpart_data=NULL
routed by localuser router
envelope to: alex@???
transport: local_delivery
----------- end verify ------------
sender alex@??? verified ok
require: condition test succeeded
processing "accept"
check domains = +local_domains
search_open: lsearch "/etc/exim/localdomains"
cached open
search_find: file="/etc/exim/localdomains"
key="kunstleihe.de" partial=-1 affix=NULL starflags=0
LRU list:
8/etc/exim/localdomains
4/etc/exim/virtual
8/etc/exim/aliases
End
internal_search_find: file="/etc/exim/localdomains"
type=lsearch key="kunstleihe.de"
file lookup required for kunstleihe.de
in /etc/exim/localdomains
lookup failed
kunstleihe.de in "lsearch;/etc/exim/localdomains"? no (end of list)
kunstleihe.de in "+local_domains"? no (end of list)
accept: condition test failed
processing "accept"
check domains = +relay_to_domains
search_open: lsearch "/etc/exim/localdomains"
cached open
search_find: file="/etc/exim/localdomains"
key="kunstleihe.de" partial=-1 affix=NULL starflags=0
LRU list:
8/etc/exim/localdomains
4/etc/exim/virtual
8/etc/exim/aliases
End
internal_search_find: file="/etc/exim/localdomains"
type=lsearch key="kunstleihe.de"
cached data used for lookup of kunstleihe.de
in /etc/exim/localdomains
lookup failed
kunstleihe.de in "lsearch;/etc/exim/localdomains"? no (end of list)
kunstleihe.de in "+relay_to_domains"? no (end of list)
accept: condition test failed
processing "accept"
check hosts = +relay_from_hosts
host in "127.0.0.1"? yes (matched "127.0.0.1")
host in "+relay_from_hosts"? yes (matched "+relay_from_hosts")
accept: condition test succeeded
SMTP>> 250 Accepted

250 Accepted
SMTP<< DATA
SMTP>> 354 Enter message, ending with "." on a line by itself

354 Enter message, ending with "." on a line by itself
search_tidyup called
host in ignore_fromline_hosts? no (option unset)
>>Headers received:

From: <alex@???>
To: <diezwei@???>
Subject: test from localhost

rewrite_one_header: type=F:
From: <alex@???>
rewrite_one_header: type=T:
To: <diezwei@???>
search_tidyup called
>>Headers after local additions:

P Received: from localhost.localdomain ([127.0.0.1] helo=x)
        by illuvatar.akp-net.com with smtp (Exim 4.22)
        id 19uvC5-00081A-0A
        for diezwei@???; Thu, 04 Sep 2003 16:34:41 +0200
F From: <alex@???>
T To: <diezwei@???>
  Subject: test from localhost
I Message-Id: <E19uvC5-00081A-0A@???>
  Date: Thu, 04 Sep 2003 16:34:41 +0200


Data file written for message 19uvC5-00081A-0A
using ACL "acl_check_content"
processing "deny"
check demime = *
check condition = ${if >{$demime_errorlevel}{2}{1}{0}}
                = 0
deny: condition test failed
processing "deny"
check demime = scr:vbs:bat:lnk:pif
deny: condition test failed
processing "deny"
check regex = [Vv] *[Ii] *[Aa] *[Gg] *[Rr] *[Aa]
deny: condition test failed
processing "accept"
accept: condition test succeeded
calling local_scan(); timeout=300
local_scan() returned 0 NULL
LOG: MAIN
  <= alex@??? H=localhost.localdomain (x) [127.0.0.1] P=smtp S=362

SMTP>> 250 OK id=19uvC5-00081A-0A

250 OK id=19uvC5-00081A-0A

**** SMTP testing: that is not a real message id!

smtp_setup_msg entered
SMTP<< QUIT
SMTP>> 221 illuvatar.akp-net.com closing connection

221 illuvatar.akp-net.com closing connection
LOG: smtp_connection MAIN
SMTP connection from localhost.localdomain (x) [127.0.0.1] closed by QUIT
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=30824 terminating with rc=0 >>>>>>>>>>>>>>>>

illuvatar:/home/alex#





Hi Dominik,

Thanks for the tip I just did what you said but I must admit I am lost with
the debug output and it is so much info that I don't want to post it here. I
am not very experienced with exim I did use sendmail all the time but heard
that exim is very good so I thought I switch but currently it looks like I
have to setup sendmail again at least I know there how to send mails :(

Btw I did check the logs of the server I want to send the mail to and the
logs there show nothing so at least I know the mail never left the server.

Best regards,

-Alex


-----Original Message-----
From: exim-users-admin@??? [mailto:exim-users-admin@exim.org] On Behalf
Of dominik.schramm@???
Sent: Donnerstag, 4. September 2003 13:27
To: Alex Schlichting; exim-users@???

Hi Alex,

you should run exim directly from the command line with debugging turned on.
see section 5.3 of the exim specification under
http://www.exim.org/exim-html-4.20/doc/html/spec.html
for all the command line options.

Example:
$ cat smtp1
HELO localhost
MAIL FROM:<local_address>
RCPT TO:<remote_address>
DATA
From: <local_address>
To: <remote_address>
Subject: test from localhost
.
QUIT

$ cat smtp1 | exim -d+transport -bh localhost
...a lot of debugging output...

From that output you should be able to tell more exactly
what could be the problem.

BTW. why did you specify the user option for the *transport*?
The specification clearly states
> *user*
> [...]
> For remote transports, you should leave this option unset unless you
> really are sure you know what you are doing. When a remote transport
> is running, it needs to be able to access Exim's hints databases,
> because each host may have its own retry data.

(in chapter 23. Generic Transport Options)

regards
dominik

Alex Schlichting napsal(a):

>Tried that already I removed the never_users option that did not help and I
>changed exim_user to mail that did not help either :(
>
>-Alex
>
>
>-----Original Message-----
>From: exim-users-admin@??? [mailto:exim-users-admin@exim.org] On

Behalf
>Of Thomas Kinghorn
>Sent: Donnerstag, 4. September 2003 12:09
>To: exim-users@???
>
>exim_user is root BUT so it the never_users
>
><snip>
>######################################################################
>#                  Runtime configuration file for Exim               #
>######################################################################

>
>exim_user = root
>
># No deliveries will ever be run under the uids of these users (a colon-
># separated list). An attempt to do so causes a panic error to be logged,
>and
># the delivery to be deferred. This is a paranoic safety catch. Note that
>the
># default setting means you cannot deliver mail addressed to root as if it
># were a normal user. This isn't usually a problem, as most sites have an
>alias
># for root that redirects such mail to a human administrator.
>
>never_users = root
>
><snip>
>
>regards
>
>Tom
>
>-----Original Message-----
>From: Alex Schlichting [mailto:alex@cshw.net]
>Sent: 04 September 2003 11:52
>To: exim-users@???
>Subject: [Exim] Help please : SMTP Relay Messages Frozen
>
>
>This is a multi-part message in MIME format.
>--
>[ Picked text/plain from multipart/alternative ]
>
>Hi,
>
>I use Exim 4.22 and try to send mails to users not hosted on my server. The
>problem is that I can send mails to local users also authentication seems

to
>work fine but when I send a email to someone not on my server the message

is
>frozen.
>
>When I look in the mainlog I see error messages like this one :
>
>2003-09-04 10:01:16 19up3K-00018R-VQ == hans-peter.richter@???
><Hans-Peter.Richter@???> R=dnslookup T=remote_smtp defer
>(-1): smtp transport process returned non-zero status 0x000b: terminated by
>signal 11
>2003-09-04 10:01:16 19up3K-00018R-VQ Frozen
>
>I used exim_tidydb to clean the db files I even erased them and tried it
>again without any luck.
>
>I attach my config and really do hope someone can help me. Thank you.
>
>
>######################################################################
>#                  Runtime configuration file for Exim               #
>######################################################################

>
>exim_user = root
>
>########### IMPORTANT ########## IMPORTANT ########### IMPORTANT

###########
>#

#
># Whenever you change Exim's configuration file, you *must* remember to

#
># HUP the Exim daemon, because it will not pick up the new configuration

#
># until you do. However, any other Exim processes that are started, for

#
># example, a process started by an MUA in order to send a message, will

#
># see the new configuration as soon as it is in place.

#
>#

#
># You do not need to HUP the daemon for changes in auxiliary files that

#
># are referenced from this file. They are read every time they are used.

#
>#

#
># It is usually a good idea to test a new configuration for syntactic

#
># correctness before installing it (for example, by running the command

#
># "exim -C /config/file.new -bV").

#
>#

#
>########### IMPORTANT ########## IMPORTANT ########### IMPORTANT

###########
>
>######################################################################
>#                    MAIN CONFIGURATION SETTINGS                     #
>######################################################################

>
># Specify your host's canonical name here. This should normally be the

fully
># qualified "official" name of your host. If this option is not set, the
># uname() function is called to obtain the name. In many cases this does
># the right thing and you need not set anything explicitly.
>
># primary_hostname =
>
>
># The next three settings create two lists of domains and one list of

hosts.
># These lists are referred to later in this configuration using the syntax
># +local_domains, +relay_to_domains, and +relay_from_hosts, respectively.
>They
># are all colon-separated lists:
>
>domainlist local_domains = lsearch;/etc/exim/localdomains
>domainlist relay_to_domains = lsearch;/etc/exim/localdomains
>hostlist relay_from_hosts = 127.0.0.1
>auth_advertise_hosts = *
>
>acl_smtp_rcpt = acl_check_rcpt
>
>acl_smtp_data = acl_check_content
>
># No deliveries will ever be run under the uids of these users (a colon-
># separated list). An attempt to do so causes a panic error to be logged,
>and
># the delivery to be deferred. This is a paranoic safety catch. Note that
>the
># default setting means you cannot deliver mail addressed to root as if it
># were a normal user. This isn't usually a problem, as most sites have an
>alias
># for root that redirects such mail to a human administrator.
>
>never_users = root
>
>
># The setting below causes Exim to do a reverse DNS lookup on all incoming
># IP calls, in order to get the true host name. If you feel this is too
># expensive, you can specify the networks for which a lookup is done, or
># remove the setting entirely.
>
>host_lookup = *
>
>
># The settings below, which are actually the same as the defaults in the
># code, cause Exim to make RFC 1413 (ident) callbacks for all incoming SMTP
># calls. You can limit the hosts to which these calls are made, and/or
>change
># the timeout that is used. If you set the timeout to zero, all RFC 1413
>calls
># are disabled. RFC 1413 calls are cheap and can provide useful information
># for tracing problem messages, but some hosts and firewalls have problems
># with them. This can result in a timeout instead of an immediate refused
># connection, leading to delays on starting up an SMTP session.
>
>rfc1413_hosts = *
>rfc1413_query_timeout = 10s
>
>
># This option unfreezes frozen bounce messages after two days, tries
># once more to deliver them, and ignores any delivery failures.
>
>ignore_bounce_errors_after = 2d
>
># This option cancels (removes) frozen messages that are older than a week.
>
>timeout_frozen_after = 7d
>
>
>######################################################################
>#                       ACL CONFIGURATION                            #
>#         Specifies access control lists for incoming SMTP mail      #
>######################################################################
>begin acl

>
>
># This access control list is used for every RCPT command in an incoming
># SMTP message. The tests are run in order until the address is either
># accepted or denied.
>
>acl_check_rcpt:
>
> # Accept if the source is local SMTP (i.e. not over TCP/IP). We do this

by
> # testing for an empty sending host field.
>
> accept hosts = :
>
> # Deny if the local part contains @ or % or / or | or !. These are rarely
> # found in genuine local parts, but are often tried by people looking to
> # circumvent relaying restrictions.
>
> # Also deny if the local part starts with a dot. Empty components aren't
> # strictly legal in RFC 2822, but Exim allows them because this is

common.
> # However, actually starting with a dot may cause trouble if the local
>part
> # is used as a file name (e.g. for a mailing list).
>
>  deny    local_parts   = ^.*[@%!/|] : ^\\.

>
> # Accept mail to postmaster in any local domain, regardless of the

source,
> # and without verifying the sender.
>
>  accept  local_parts   = postmaster
>          domains       = +local_domains

>
> # Deny unless the sender address can be verified.
>
>  require verify        = sender

>
>
>###########################################################################

#
>#
> # There are no checks on DNS "black" lists because the domains that
>contain
> # these lists are changing all the time. However, here are two examples

of
> # how you could get Exim to perform a DNS black list lookup at this

point.
>  # The first one denies, while the second just warns.
>  #
>  # deny    message       = rejected because $sender_host_address is in a
>black list at $dnslist_domain\n$dnslist_text
>  #         dnslists      = black.list.example
>  #
>  # warn    message       = X-Warning: $sender_host_address is in a black
>list at $dnslist_domain
>  #         log_message   = found in $dnslist_domain
>  #         dnslists      = black.list.example

>
>###########################################################################

#
>#
>
> # Accept if the address is in a local domain, but only if the recipient
>can
> # be verified. Otherwise deny. The "endpass" line is the border between
> # passing on to the next ACL statement (if tests above it fail) or

denying
> # access (if tests below it fail).
>
>  accept  domains       = +local_domains
>          endpass
>          message       = unknown user
>          verify        = recipient

>
> # Accept if the address is in a domain for which we are relaying, but
>again,
> # only if the recipient can be verified.
>
>  accept  domains       = +relay_to_domains
>          endpass
>          message       = unrouteable address
>          verify        = recipient

>
> # If control reaches this point, the domain is neither in +local_domains
> # nor in +relay_to_domains.
>
> # Accept if the message comes from one of the hosts for which we are an
> # outgoing relay. Recipient verification is omitted here, because in many
> # cases the clients are dumb MUAs that don't cope well with SMTP error
> # responses. If you are actually relaying out from MTAs, you should
>probably
> # add recipient verification here.
>
>  accept  hosts         = +relay_from_hosts

>
> accept authenticated = *
>
> # Reaching the end of the ACL causes a "deny", but we might as well give
> # an explicit message.
>
>  deny    message       = relay not permitted

>
>
>acl_check_content:
>
>  # First unpack MIME containers and reject serious errors.
>  deny  message = This message contains a MIME error ($demime_reason)
>        demime = *
>        condition = ${if >{$demime_errorlevel}{2}{1}{0}}

>
>  deny  message = This message contains an unwanted file extension
>($found_extension)
>        demime = scr:vbs:bat:lnk:pif

>
> # finally accept all the rest
> accept
>
>######################################################################
>#                      ROUTERS CONFIGURATION                         #
>#               Specifies how addresses are handled                  #
>######################################################################
>#     THE ORDER IN WHICH THE ROUTERS ARE DEFINED IS IMPORTANT!       #
># An address is passed to each router in turn until it is accepted.  #
>######################################################################

>
>begin routers
>
>dnslookup:
> driver = dnslookup
> domains = ! +local_domains
> transport = remote_smtp
> ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
> no_more
>
>
>system_aliases:
> driver = redirect
> allow_fail
> allow_defer
> data = ${lookup{$local_part@$domain}lsearch{/etc/exim/aliases}}
> user = mail
> file_transport = address_file
> pipe_transport = address_pipe
>
>
>system_aliases2:
> driver = redirect
> allow_fail
> allow_defer
> data = ${lookup{*@$domain}lsearch{/etc/exim/aliases}}
> user = mail
> file_transport = address_file
> pipe_transport = address_pipe
>
>
>userforward:
> driver = redirect
> check_local_user
>
> file = $home/.forward
> no_verify
> no_expn
> check_ancestor
> file_transport = address_file
> pipe_transport = address_pipe
> reply_transport = address_reply
>
>virtual_localuser:
> driver = accept
> domains = dsearch;/etc/exim/virtual
> local_parts = lsearch;/etc/exim/virtual/$domain/users
> transport = virtual_localdelivery
> no_more
>
>virtual_alias:
> driver = redirect
> allow_fail
> allow_defer
> domains = dsearch;/etc/exim/virtual
> data = ${lookup{$local_part}lsearch{/etc/exim/virtual/$domain/aliases}}
> user = mail
> file_transport = address_file
> pipe_transport = address_pipe
> no_more
>
>
># This router matches local user mailboxes.
>
>localuser:
> driver = accept
> check_local_user
> transport = local_delivery
>
>
>######################################################################
>#                      TRANSPORTS CONFIGURATION                      #
>######################################################################
>#                       ORDER DOES NOT MATTER                        #
>#     Only one appropriate transport is called for each delivery.    #
>######################################################################

>
># A transport is used only when referenced from a router that successfully
># handles an address.
>
>begin transports
>
>
># This transport is used for delivering messages over SMTP connections.
>
>remote_smtp:
> driver = smtp
> user = mail
>
># This transport is used for local delivery to user mailboxes in

traditional
># BSD mailbox format. By default it will be run under the uid and gid of

the
># local user, and requires the sticky bit to be set on the /var/mail
>directory.
># Some systems use the alternative approach of running mail deliveries

under
>a
># particular group instead of using the sticky bit. The commented options
>below
># show how this can be done.
>
>local_delivery:
> driver = appendfile
> file = /var/mail/$local_part
> delivery_date_add
> envelope_to_add
> return_path_add
># group = mail
># mode = 0660
>
>
># This transport is used for handling pipe deliveries generated by alias or
># .forward files. If the pipe generates any standard output, it is returned
># to the sender of the message as a delivery error. Set return_fail_output
># instead of return_output if you want this to happen only when the pipe
>fails
># to complete normally. You can set different transports for aliases and
># forwards if you want to - see the references to address_pipe in the
>routers
># section above.
>
>address_pipe:
> driver = pipe
> return_output
>
>
># This transport is used for handling deliveries directly to files that are
># generated by aliasing or forwarding.
>
>address_file:
> driver = appendfile
> delivery_date_add
> envelope_to_add
> return_path_add
>
>
># This transport is used for handling autoreplies generated by the

filtering
># option of the userforward router.
>
>address_reply:
> driver = autoreply
>
>virtual_localdelivery:
> driver = appendfile
>     create_directory = true
>       directory_mode = 700
>        #directory=/var/spool/mail/virtual/${domain}/${local_part}
> file = /var/spool/mail/virtual/${domain}/${local_part}
> delivery_date_add
> envelope_to_add
> return_path_add
> user = mail
> group = mail
> mode = 660
> #maildir_format

>
>
>######################################################################
>#                      RETRY CONFIGURATION                           #
>######################################################################

>
>begin retry
>
># This single retry rule applies to all domains and all errors. It

specifies
># retries every 15 minutes for 2 hours, then increasing retry intervals,
># starting at 1 hour and increasing each time by a factor of 1.5, up to 16
># hours, then retries every 6 hours until 4 days have passed since the

first
># failed delivery.
>
># Domain               Error       Retries
># ------               -----       -------

>
>*                      *           F,2h,15m; G,16h,1h,1.5; F,4d,6h

>
>
>
>######################################################################
>#                      REWRITE CONFIGURATION                         #
>######################################################################

>
># There are no rewriting specifications in this default configuration file.
>
>begin rewrite
>
>
>
>######################################################################
>#                   AUTHENTICATION CONFIGURATION                     #
>######################################################################

>
># There are no authenticator specifications in this default configuration
>file.
>
>begin authenticators
>
>plain:
> driver = plaintext
> public_name = PLAIN
> server_condition = "${if
>crypteq{$2}{${extract{1}{:}{${lookup{$1}lsearch{/etc/exim/passwd}{$value}{*

:
>*}}}}}{1}{0}}"
> server_set_id = $1
>
>login:
> driver = plaintext
> public_name = LOGIN
> server_prompts = "Username:: : Password::"
> server_condition = "${if
>crypteq{$2}{${extract{1}{:}{${lookup{$1}lsearch{/etc/exim/passwd}{$value}{*

:
>*}}}}}{1}{0}}"
> server_set_id = $1
>
>
>######################################################################
>#                   CONFIGURATION FOR local_scan()                   #
>######################################################################

>
># If you have built Exim to include a local_scan() function that contains
># tables for private options, you can define those options here. Remember

to
># uncomment the "begin" line. It is commented by default because it

provokes
># an error with Exim binaries that are not built with

LOCAL_SCAN_HAS_OPTIONS
># set in the Local/Makefile.
>
># begin local_scan
>
>
># End of Exim configuration file
>
>
>
>--
>
>
>--
>
>## List details at http://www.exim.org/mailman/listinfo/exim-users Exim
>details at http://www.exim.org/ ##
>
>--
>
>## List details at http://www.exim.org/mailman/listinfo/exim-users Exim
>details at http://www.exim.org/ ##
>
>
>
>--
>
>## List details at http://www.exim.org/mailman/listinfo/exim-users Exim

details at http://www.exim.org/ ##
>
>
>
>




--

## List details at http://www.exim.org/mailman/listinfo/exim-users Exim
details at http://www.exim.org/ ##