Hi everyone,

I have an Exim mail server configured as secondary MX and a Postfix mail
server which is a primary MX.
I configured Exim as satellite server and route all incoming messages to
primary MX (smarthost).
The mail server receives and forwards incoming messages to my domains and
stores messages when my primary MX is unavailable.
When a incoming message has a valid domain and a invalid user, the postfix
server returns the messages to Postfix with error (example):


2005-10-27 07:01:38 1EV3dh-0007EF-Ue == [EMAIL PROTECTED]
R=smarthost T=remote_smtp_smarthost defer (-44): SMTP error from
remote mailer after RCPT TO:<[EMAIL PROTECTED]>: host
mail.pastoraldacrianca.org.br [200.14.32.82]: 450 <[EMAIL PROTECTED]
ianca.org.br>: Recipient address rejected: User unknown in local recipient
table

The message is stored in spool and doesn`t return to sender.
How to configure exim to bounce messages with an unknown user?


/var/lib/exim4/config.autogenerated:

--------------

exim_path = /usr/sbin/exim4

CONFDIR = /etc/exim4

domainlist local_domains = @:localhost:mail2.pastoraldacrianca.org.br

domainlist relay_to_domains =
pastoraldacrianca.org.br:esquel.org:pastoraldapessoaidosa.org.br:pastoraldaterceiraidade.org.br:rebidia.org.br

hostlist relay_from_hosts = 127.0.0.1 : ::::1 :

qualify_domain = mail.pastoraldacrianca.org.br

.ifndef DCreadhost
DCreadhost = mail.pastoraldacrianca.org.br
.endif

.ifndef DCsmarthost
DCsmarthost = mail.pastoraldacrianca.org.br
.endif

LOCAL_DELIVERY=mail_spool

gecos_pattern = ^([^,:]*)
gecos_name = $1

DCconfig_satellite = 1

acl_smtp_rcpt = acl_check_rcpt

acl_smtp_data = acl_check_data

.ifdef MESSAGE_SIZE_LIMIT
message_size_limit = MESSAGE_SIZE_LIMIT
.endif

.ifndef DC_minimaldns
host_lookup = *
.endif

rfc1413_hosts = *
rfc1413_query_timeout = 30s

local_from_check = false
local_sender_retain = true
untrusted_set_sender = *

ignore_bounce_errors_after = 2d

timeout_frozen_after = 7d

freeze_tell = postmaster

.ifndef SPOOLDIR
SPOOLDIR = /var/spool/exim4
.endif
spool_directory = SPOOLDIR

trusted_users = uucp

begin acl

acl_whitelist_local_deny:
  accept hosts = ${if exists{CONFDIR/local_host_whitelist}\
                        {CONFDIR/local_host_whitelist}\
                        {}}
  accept senders = ${if exists{CONFDIR/local_sender_whitelist}\
                        {CONFDIR/local_sender_whitelist}\
                        {}}

acl_check_rcpt:
  accept hosts = :

  deny    domains       = +local_domains
          local_parts   = ^[.] : [EMAIL PROTECTED]/|]
          message       = restricted characters in address

  deny    domains       = !+local_domains
          local_parts   = ^[./|] : [EMAIL PROTECTED] : ^.*/\\.\\./
          message       = restricted characters in address

  accept local_parts = postmaster
         domains = +local_domains

  deny message = sender envelope address $sender_address is locally
blacklisted here. If you think this is wrong, get in touch with
postmaster
       !acl = acl_whitelist_local_deny
       senders = ${if exists{CONFDIR/local_sender_blacklist}\
                             {CONFDIR/local_sender_blacklist}\
                             {}}

  deny message = sender IP address $sender_host_address is locally
blacklisted here. If you think this is wrong, get in touch with
postmaster
       !acl = acl_whitelist_local_deny
       hosts = ${if exists{CONFDIR/local_host_blacklist}\
                             {CONFDIR/local_host_blacklist}\
                             {}}

  accept domains = +local_domains
         endpass
         message = unknown user
         verify = recipient

  accept domains = +relay_to_domains
         endpass
         message = unrouteable address
         verify = recipient

  accept hosts = +relay_from_hosts

  accept authenticated = *

  deny message = relay not permitted

acl_check_data:
   warn condition = ${if !def:h_Message-ID: {1}}
        hosts = +relay_from_hosts
        message = Message-ID: <[EMAIL PROTECTED]>


   accept

begin routers

hubbed_hosts:
  debug_print = "R: hubbed_hosts for $domain"
  driver = manualroute
  domains = "${if exists{CONFDIR/hubbed_hosts}\
                   {partial-lsearch;CONFDIR/hubbed_hosts}\
              fail}"
  route_data = ${lookup{$domain}partial-lsearch{CONFDIR/hubbed_hosts}}
  transport = remote_smtp

.ifdef DCconfig_internet

dnslookup_relay_to_domains:
  debug_print = "R: dnslookup_relay_to_domains for [EMAIL PROTECTED]"
  driver = dnslookup
  domains = ! +local_domains : +relay_to_domains
  transport = remote_smtp
  same_domain_copy_routing = yes
  no_more

dnslookup:
  debug_print = "R: dnslookup for [EMAIL PROTECTED]"
  driver = dnslookup
  domains = ! +local_domains
  transport = remote_smtp
  same_domain_copy_routing = yes
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :\
                        172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16
  no_more

.endif

.ifdef DCconfig_local
nonlocal:
  debug_print = "R: nonlocal for [EMAIL PROTECTED]"
  driver = redirect
  domains = ! +local_domains
  allow_fail
  data = :fail: Mailing to remote domains not supported
  no_more

.endif

.ifdef DCconfig_smarthost DCconfig_satellite

smarthost:
  debug_print = "R: smarthost for [EMAIL PROTECTED]"
  driver = manualroute
  domains = ! +local_domains
  transport = remote_smtp_smarthost
  route_list = * DCsmarthost byname
  host_find_failed = defer
  same_domain_copy_routing = yes
  no_more

.endif

real_local:
  debug_print = "R: real_local for [EMAIL PROTECTED]"
  driver = accept
  domains = +local_domains
  local_part_prefix = real-
  check_local_user
  transport = LOCAL_DELIVERY

system_aliases:
  debug_print = "R: system_aliases for [EMAIL PROTECTED]"
  driver = redirect
  domains = +local_domains
  allow_fail
  allow_defer
  data = ${lookup{$local_part}lsearch{/etc/aliases}}
  file_transport = address_file

.ifdef DCconfig_satellite
hub_user:
  debug_print = "R: hub_user for [EMAIL PROTECTED]"
  driver = redirect
  domains = +local_domains
  data = [EMAIL PROTECTED]
  check_local_user

hub_user_smarthost:
  debug_print = "R: hub_user_smarthost for [EMAIL PROTECTED]"
  driver = manualroute
  domains = DCreadhost
  transport = remote_smtp_smarthost
  route_list = * DCsmarthost byname
  host_find_failed = defer
  same_domain_copy_routing = yes
  check_local_user
.endif

userforward:
  debug_print = "R: userforward for [EMAIL PROTECTED]"
  driver = redirect
  domains = +local_domains
  check_local_user
  file = $home/.forward
  no_verify
  no_expn
  check_ancestor
  allow_filter
  directory_transport = address_directory
  file_transport = address_file
  pipe_transport = address_pipe
  reply_transport = address_reply
  skip_syntax_errors
  syntax_errors_to = [EMAIL PROTECTED]
  syntax_errors_text = \
    This is an automatically generated message. An error has\n\
    been found in your .forward file. Details of the error are\n\
    reported below. While this error persists, you will receive\n\
    a copy of this message for every message that is addressed\n\
    to you. If your .forward file is a filter file, or if it is\n\
    a non-filter file containing no valid forwarding addresses,\n\
    a copy of each incoming message will be put in your normal\n\
    mailbox. If a non-filter file contains at least one valid\n\
    forwarding address, forwarding to the valid addresses will\n\
    happen, and those will be the only deliveries that occur.

procmail:
  debug_print = "R: procmail for [EMAIL PROTECTED]"
  driver = accept
  domains = +local_domains
  check_local_user
  transport = procmail_pipe
  require_files = ${local_part}:\
                  ${if exists{/etc/procmailrc}\
                    {/etc/procmailrc}{${home}/.procmailrc}}:\
                  +/usr/bin/procmail
  no_verify
  no_expn

maildrop:
  debug_print = "R: maildrop for [EMAIL PROTECTED]"
  driver = accept
  domains = +local_domains
  check_local_user
  transport = maildrop_pipe
  require_files = ${local_part}:${home}/.mailfilter:+/usr/bin/maildrop
  no_verify
  no_expn

local_user:
  debug_print = "R: local_user for [EMAIL PROTECTED]"
  driver = accept
  domains = +local_domains
  check_local_user
  local_parts = ! root
  transport = LOCAL_DELIVERY

mail4root:
  debug_print = "R: mail4root for [EMAIL PROTECTED]"
  driver = redirect
  domains = +local_domains
  data = /var/mail/mail
  file_transport = address_file
  local_parts = root
  user = mail
  group = mail

begin transports

address_file:
  debug_print = "T: address_file for [EMAIL PROTECTED]"
  driver = appendfile
  delivery_date_add
  envelope_to_add
  return_path_add

address_pipe:
  debug_print = "T: address_pipe for [EMAIL PROTECTED]"
  driver = pipe
  return_fail_output

address_reply:
  debug_print = "T: autoreply for [EMAIL PROTECTED]"
  driver = autoreply

mail_spool:
  debug_print = "T: appendfile for [EMAIL PROTECTED]"
  driver = appendfile
  file = /var/mail/$local_part
  delivery_date_add
  envelope_to_add
  return_path_add
  group = mail
  mode = 0660
  mode_fail_narrower = false

maildir_home:
  debug_print = "T: maildir_home for [EMAIL PROTECTED]"
  driver = appendfile
  directory = $home/Maildir
  delivery_date_add
  envelope_to_add
  return_path_add
  maildir_format
  mode = 0600
  mode_fail_narrower = false

maildrop_pipe:
  debug_print = "T: maildrop_pipe for [EMAIL PROTECTED]"
  driver = pipe
  path = "/bin:/usr/bin:/usr/local/bin"
  command = "/usr/bin/maildrop"
  return_path_add
  delivery_date_add
  envelope_to_add

procmail_pipe:
  debug_print = "T: procmail_pipe for [EMAIL PROTECTED]"
  driver = pipe
  path = "/bin:/usr/bin:/usr/local/bin"
  command = "/usr/bin/procmail"
  return_path_add
  delivery_date_add
  envelope_to_add

remote_smtp:
  debug_print = "T: remote_smtp for [EMAIL PROTECTED]"
  driver = smtp

remote_smtp_smarthost:
  debug_print = "T: remote_smtp_smarthost for [EMAIL PROTECTED]"
  driver = smtp
  hosts_try_auth = ${if exists {CONFDIR/passwd.client}{DCsmarthost}{}}
  tls_tempfail_tryclear = false
  headers_rewrite = [EMAIL PROTECTED] [EMAIL PROTECTED] frs :
[EMAIL PROTECTED] [EMAIL PROTECTED] frs
  return_path = ${if
[EMAIL PROTECTED]
[EMAIL PROTECTED]

address_directory:
  debug_print = "T: address_directory for [EMAIL PROTECTED]"
  driver = appendfile
  envelope_to_add = true
  return_path_add = true
  check_string = ""
  escape_string = ""
  maildir_format

begin retry

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

begin rewrite

[EMAIL PROTECTED] ${lookup{${local_part}}lsearch{/etc/email-addresses}\
                   {$value}fail} Ffrs
[EMAIL PROTECTED]
${lookup{${local_part}}lsearch{/etc/email-addresses}{$value}fail} Ffrs

begin authenticators

cram_md5:
  driver = cram_md5
  public_name = CRAM-MD5
  client_name =
${extract{1}{:}{${lookup{$host}lsearch*{CONFDIR/passwd.client}{$value}fail}}}
  client_secret =
${extract{2}{:}{${lookup{$host}lsearch*{CONFDIR/passwd.client}{$value}fail}}}

plain:
  driver = plaintext
  public_name = PLAIN
  client_send = "${if !eq{$tls_cipher}{}{\
                     ^${extract{1}{::}\
                       
{${lookup{$host}lsearch*{CONFDIR/passwd.client}{$value}fail}}}\
                     ^${extract{2}{::}\
                       
{${lookup{$host}lsearch*{CONFDIR/passwd.client}{$value}fail}}}\
                   }fail}"

login:
  driver = plaintext
  public_name = LOGIN
  client_send = "${if !eq{$tls_cipher}{}{}fail}\
                 : ${extract{1}{::}\
                        
{${lookup{$host}lsearch*{CONFDIR/passwd.client}{$value}fail}}}
\
                 : ${extract{2}{::}\
                     
{${lookup{$host}lsearch*{CONFDIR/passwd.client}{$value}fail}}}"

------------------



Thank's in advance!


--
[]`s
Antonio Edison Vieira Jr



-- 
## List details at http://www.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/

Reply via email to