I have a home hobby system, with exim running on an internal
machine (tazmaniandevil.stuffed.animals) and on an externally
visible machine (gw.stuffed.animals aka ns1.linuxbutler.ca).
Well, externally visible in that it has an ip address and
a dns name. It doesn't receive mail directly from the internet.
Both machines are running Debian stable, with exim 3.35.
tazmaniandevil (the inside machine) is an ultra sparc 1 and
gw (the gateway machine) is an Intel Frankenbox made up of
old parts - "Pentium 75 - 200", cpu is ~100 MHz. gw is running
Linux 2.4.19, taz is running Linux 2.2.22.
When I generate mail on taz as bjb using mutt, the mail is given
to exim with an envelope-sender of bjb, and I've seen that
in the mail spool file (xxxxxx-xxxxxx-00-H, by the command
exim -bvl xxxxxx-xxxxxx-00 and/or exim -bvh xxxxxx-xxxxxx-00)
However, when the taz exim hands the mail to the gw exim, then
it says the envelope-sender is root@???.
I saw this using ethereal - the packet has in it that the
envelope-sender is root. It is stored in the exim mail
area (/var/spool/exim/input) with an envelope-sender of
root@???.
My question is, what could be causing that? I'd like the
taz exim to leave the envelope-sender untouched (as bjb@taz...)
It is a problem because when the gw exim forwards the message
on to the isp's smarthost, the isp's MTA refuses it because
stuffed.animals does not resolve.
For the moment, I am rewriting the sender (and some other)
address if it is bjb or root, to bjb at my.isp as it
leaves gw and goes to the isp. This won't do for other
users on my system, their sender will also be changed to
bjb at my.isp (if it had been changed to root). Fortunately,
there aren't too many of them and they don't use the system
very often.
I have messed with the configuration a bit, before I knew
what I was doing (not that I know what I'm doing now), so
anything could be wrong with it. Please do ask me to check
the basics before assuming it is some exotic scenario.
I've only recently seen the advice to home users using their
isp as smarthost, to put their (internet-invisible) actual
domain name (like stuffed.animals) as "qualify-domain",
and rely on address rewriting to prevent it from escaping
into the real world. Before, I was trying to set qualify-domain
to my isp's domain (thus preventing me from ever emailing
support at my.isp), and then fix up the results with other
configurations (mostly rewrites, but who knows what else
I messed up? I've been playing with it for a while, off and
on).
Thanks for whatever help you can send. I've been going
through the spec.txt.gz but I don't see the answer yet.
Any hints as to which part to look at would be appreciated :-)
I'm guessing it has to do with directors or transports as those
are the things that deal with outgoing messages.
I have appended the results of the following command to this mail,
in case you want to see my exim config. This is the config
on tazmaniandevil:
grep -v '^$' /etc/exim/exim.conf | grep -v '^#'
Please let me know if you need any more info.
--
bjb at istop dot com
Open Source Weekend http://www.osw.ca
5F82 9855 E247 1F8A 49CD 053E FB03 E77F 2A19 D707
tazmaniandevil:/etc/exim# grep -v '^#' exim.conf | grep -v '^$'
local_domains = localhost:stuffed.animals:bjb.ott.istop.com:tazmaniandevil.stuffed.animals
local_domains_include_host = true
local_domains_include_host_literals = true
relay_domains =
host_lookup = *
host_accept_relay = 127.0.0.1
trusted_users = mail
trusted_groups = mail
smtp_verify = false
gecos_pattern = ^([^,:]*)
gecos_name = $1
smtp_accept_queue_per_connection = 100
freeze_tell_mailmaster = true
received_header_text = "Received: \
${if def:sender_rcvhost {from ${sender_rcvhost}\n\t}\
{${if def:sender_ident {from ${sender_ident} }}\
${if def:sender_helo_name {(helo=${sender_helo_name})\n\t}}}}\
by ${primary_hostname} \
${if def:received_protocol {with ${received_protocol}}} \
(Exim ${version_number} #${compile_number} (Debian))\n\t\
id ${message_id}\
${if def:received_for {\n\tfor <$received_for>}}"
receiver_try_verify = true
local_interfaces = 127.0.0.1
end
local_delivery:
driver = appendfile
group = mail
mode = 0660
mode_fail_narrower = false
envelope_to_add = true
return_path_add = true
file = /var/spool/mail/${local_part}
address_pipe:
driver = pipe
path = /usr/bin:/bin:/usr/local/bin
return_output
address_file:
driver = appendfile
envelope_to_add = true
return_path_add = true
address_reply:
driver = autoreply
procmail_pipe:
driver = pipe
command = "/usr/bin/procmail -d ${local_part}"
return_path_add
delivery_date_add
envelope_to_add
check_string = "From "
escape_string = ">From "
user = $local_part
group = mail
suffix = ""
remote_smtp:
driver = smtp
end
real_local:
prefix = real-
driver = localuser
transport = local_delivery
system_aliases:
driver = aliasfile
file_transport = address_file
pipe_transport = address_pipe
file = /etc/aliases
search_type = lsearch
userforward:
driver = forwardfile
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply
no_verify
check_ancestor
check_local_user
file = .forward
modemask = 002
filter
procmail:
driver = localuser
transport = procmail_pipe
require_files = ${local_part}:+${home}:+${home}/.procmailrc:+/usr/bin/procmail no_verify
localuser:
driver = localuser
transport = local_delivery
end
smarthost:
driver = domainlist
transport = remote_smtp
route_list = "* gw.stuffed.animals byname"
errors_to = "root"
end
* * F,2h,15m; G,16h,2h,1.5; F,4d,8h
end
end
tazmaniandevil:/etc/exim#