[Exim] Changing behavior for unrouteable addresses

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Tomas Florian
Date:  
À: exim-users
Sujet: [Exim] Changing behavior for unrouteable addresses
This is a multi-part message in MIME format.
--
[ Picked text/plain from multipart/alternative ]
Hello,


I would like to change the way Exim responds to unrouteable addresses.
Currently, when I send out email to an unrouteable address, my Outlook comes
back immediately with what seems to be outlook's own internal message
saying:
------------------------------------------------------
Your message did not reach some or all of the intended recipients.

      Subject: test
      Sent: 2/18/2003 10:46 AM


The following recipient(s) could not be reached:

      'someone@???' on 2/18/2003 10:46 AM
            No transport provider was available for delivery to this
recipient.



Insight server log sais:
------------------------------------------------------
Feb 18 10:46:28 linux exim[11339]: 2003-02-18 10:46:28 H=(bill)
[192.168.0.59] F=<tflorian@???> rejected RCPT
<someone@???>: Unrouteable address

This is a problem for me because if I send out an email to a group of people
and even one turns out to have unrouteable address, all of them are rejected
and not even the valid ones are delivered. How can I change my
configuration so that the server tries all of the other email addresses even
if one of them is unrouteable?

In the case of Unknown user errors etc, I get the wanted behavior of the
server trying to deliver all of the recipients and sending back
undeliverable messages to those that failed.

Below is my config file

Thanks,
Tomas Florian

tls_advertise_hosts = *
LDAP_AUTH_QUERY = ldap://127.0.0.1/c=US?uid?sub?(uid=${quote_ldap:$2})
LDAP_AUTH_EXPR = ${lookup ldap {user="$value" pass=$3
LDAP_AUTH_QUERY}{1}{0}}
LDAP_AUTH_BIND = ${lookup ldapdn {LDAP_AUTH_QUERY}{LDAP_AUTH_EXPR}{0}}
acl_smtp_rcpt = acl_check_rcpt
ignore_bounce_errors_after = 2d
domainlist local_domains = @ : vrv.homeip.net
primary_hostname = vrv.homeip.net
domainlist relay_to_domains = 127.0.0.1 : *
hostlist relay_from_hosts = 127.0.0.1 : *.vrv.ca : 192.168.0.0/16 :
mail.vrv.ca
recipients_max_reject = false
strip_excess_angle_brackets = true
strip_trailing_dot = false
begin acl
acl_check_rcpt:
  deny    local_parts   = ^.*[@%!/|]
  accept  local_parts   = postmaster
          domains       = +local_domains
  require verify        = sender
  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
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}lsearch{/etc/aliases}}
  file_transport = address_file
  pipe_transport = address_pipe
ldap_aliases:
  driver = redirect
  data = "${lookup ldap {ldap://127.0.0.1:389/c=US?uid?sub?(mailalias=*:
${local_part}:*)}{$value}fail}"
vacation:
  driver = accept
  transport = vacation
  require_files = /var/spool/forward/${local_part}.vacation
  senders = "! ^.*-request@.*:\
          ! ^owner-.*@.*:\
          ! ^postmaster@.*:\
          ! ^listmaster@.*:\
          ! ^mailer-daemon@.*"
  condition = "${if or {{match {$h_precedence:} {(?i)junk|bulk|list}} \
                  {eq {$sender_address} {}}} {no} {yes}}"
  unseen
  no_expn
  no_verify
forward:
  driver = redirect
  no_check_local_user
  no_expn
  no_verify
  modemask = 002
  file = /var/spool/forward/${local_part}.forward
local_user_cyrus:
  driver = accept
  transport = local_delivery_cyrus
  local_part_suffix = .*
  local_part_suffix_optional
begin transports
remote_smtp:
  driver = smtp
local_delivery_cyrus:
  driver = pipe
  command = /usr/cyrus/bin/deliver \
            -m ${substr_1:$local_part_suffix} -- $local_part
  user = cyrus
  group = mail
  return_output
  log_output
  message_prefix =
  message_suffix =
address_pipe:
  driver = pipe
  return_output
address_file:
  driver = appendfile
  delivery_date_add
  envelope_to_add
  return_path_add
address_reply:
  driver = autoreply
vacation:
  driver = autoreply
  user = cyrus
  group = mail
  mode = 0664
  once = /var/spool/forward/${local_part}.once
  file = /var/spool/forward/${local_part}.vacation
  log  = /var/spool/forward/${local_part}.log
  return_message = false
  to = $reply_address
  from = $local_part
  subject =  "${if def:h_Subject: {Autoreply: $h_Subject:} {I am on
vacation}}"
begin retry
*                      *           F,2h,15m; G,16h,1h,1.5; F,4d,6h
begin rewrite
begin authenticators
ldap_plain:
  driver = plaintext
  public_name = PLAIN
  server_condition = LDAP_AUTH_BIND
  server_set_id = $2
ldap_login:
  driver = plaintext
  public_name = LOGIN
  server_prompts = Username:: : Password::
  server_condition = LDAP_AUTH_BIND
  server_set_id = $1
ldap_cram:
  driver = cram_md5
  public_name = CRAM-MD5
  server_secret = LDAP_AUTH_BIND
  server_set_id = $1




--