Fallback Host & smartlist integration problems

Top Page
Delete this message
Reply to this message
Author: Christoph Lameter
Date:  
To: exim-users
Subject: Fallback Host & smartlist integration problems
I have changed our campus to use exim for all E-mail needs and ran into
the following problems:

1. When resending e-mail using smartlist exim generated a

Resent-To:

line and lists one by one all receipients on the list!

I hacked exim by changing accept.c. It seems that exim only looks for
Resent-To if any field beginning with "resent-*" is found into the header.
This means it later concludes that there is no TO: field and supplies it.
I dont know if the following solution is correct but I sure dont want to
have all people on the list listed in each outgoing message:

--- exim-1.59.orig/src/accept.c
+++ exim-1.59/src/accept.c
@@ -875,6 +875,12 @@
     header_names[hn_from].len)) { from_header = h; h->type = htype_from; }
   else if (header_checkname(h, header_names[hn_to].name,
     header_names[hn_to].len)) { to_header = h; h->type = htype_to; }
+/* CL: Need to check for regular TO: in case we are in resent mode I guess.
+   Otherwise the later check for a missing TO gives wrong results */
+  else if (header_names != header_names_normal && 
+       header_checkname(h, header_names_normal[hn_to].name,header_names_normal[hn_to].len))
+               { to_header = h; h->type = htype_to; }
+/* CL END */
   else if (header_checkname(h, header_names[hn_cc].name,
     header_names[hn_cc].len)) { cc_header = h; h->type = htype_cc; }
   else if (header_checkname(h, header_names[hn_bcc].name,


2. Setting the Fallback Timeout options does not work.

We have a central mail hub that should get all problem mail. I want the
other systems on campus to try to deliver a message but if there is any
delay simply forward it to the mail hub. If a host has to wait more than
10 seconds for a reaction on the remote side then I want that message on
the mailrouter.

I have tried the following configuration file. But when trying to deliver
a test message to a system that does not support mail (there is nothing on
port 25!) I still get an exim process that is hanging around for 15
minutes before giving up and giving the message to the mail router.

Also: How can I make sure that failing DNS lookups do not take too long?


# This is the main exim configuration file.
# It was originally generated by `eximconfig', part of the exim package
# distributed with Debian, but it may edited by the mail system administrator.
# This file originally generated by eximconfig at Sat Dec 21 21:00:10 PST 1996
# See exim info section for details of the things that can be configured here.
# General configuration here, such as local domains


qualify_domain = aaron.fuller.edu
local_domains = aaron.fuller.edu

local_domains_include_host = true
local_domains_include_host_literals = true
never_users = root
trusted_users = mail
gecos_pattern = ^([^,:]*)
gecos_name = $1

received_header_text = "Received: \
          ${if def:sender_fullhost {from ${sender_fullhost} \
          ${if def:sender_ident {(${sender_ident})}}\n\t}\
          {${if def:sender_ident {from ${sender_ident} }}}}\
          by ${primary_hostname} \
          ${if def:received_protocol {with ${received_protocol}}} \
          (Exim ${version_number} #${compile_number})\n\t\
          id ${message_id} (Debian)"
end


######################################################################
#                      TRANPORTS CONFIGURATION                       #
######################################################################


local_delivery:
driver = appendfile;
group = mail
mode = 0660
file = /var/spool/mail/${local_part}

address_pipe:
driver = pipe;

address_file:
driver = appendfile

address_reply:
driver = autoreply


# General configuration for SMTP delivery
smtp:
driver = smtp;
fallback_hosts = "mailrouter.fuller.edu:hur.fuller.edu",
command_timeout = 10s,
data_timeout= 20s

end

######################################################################
#                      DIRECTORS CONFIGURATION                       #
######################################################################



real_local:
prefix = real-,
driver = localuser,
transport = local_delivery;


system_aliases:
driver = aliasfile;
file = /etc/aliases,
search_type = lsearch

userforward:
no_verify,
driver = forwardfile;
file = .forward,
filter


smart:
driver = smartuser;
new_address = ${local_part}@???


end

######################################################################
#                      ROUTERS CONFIGURATION                         #
######################################################################


# Attempt direct delivery first.
lookuphost:
driver = lookuphost,
pass_on_timeout = true,
transport = smtp;

# The SmartHost takes the rest
smarthost:
driver = domainlist,
transport = smtp;
route_list = "* mailrouter.fuller.edu bydns_a"

end

######################################################################
#                      RETRY CONFIGURATION                           #
######################################################################


# Domain               Error       Retries
# ------               -----       -------


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


end

######################################################################
#                      REWRITE CONFIGURATION                         #
######################################################################


# These rewriters make sure the mail messages appear to have originated
# from the real mail-reading host.

^(root|postmaster|mailer-daemon)@fuller.edu ${1}@??? Ffr
*@fuller.edu ${1}@??? Ffr
*@in.limbo root@??? Ffr


# End of Exim configuration file


--- +++ --- +++ --- +++ --- +++ --- +++ --- +++ --- +++ ---
PGP Public Key = FB 9B 31 21 04 1E 3A 33 C7 62 2F C0 CD 81 CA B5