Mail Configuration on Debian Boxes
Incoming Mail
By convention, Linux hosts do not accept mail directly since the
current xhiered sendmail package is not available (perhaps this
would be a good thing to make happen). To this end we establish
one or more MX records for a Linux host. The MX records point
to Solaris servers running the Xhiered sendmail package (
Note.
You must tell the sendmail package on the MX host that it should
accept mail for the Linux host.)
The standard MTA that is installed on Debian hosts is exim (for the
upcoming release of Sarge this is exim4, for Woody it is exim
version 3.xx). See below for details on how to configure
exim4
Outgoing Mail Configuration
- Do not deliver mail for other hosts (clearly having an MX record elsewhere makes this a logical consequence?)
- Do not deliver mail locally, i.e. mail username should not deliver mail to the user's local mailbox rather it it should be delivered to offsite to a place where that user reads mail
- Users getting mail from the system should not see it that way, i.e., the headers are rewritten so that the mail is seen as coming from a smarthost
Exim4 Configuration via debconf
Invoke
dpkg-reconfigure -plow exim4-config
. A curses based tool will be invoked at which point
questions are asked and answers are saved:
-
Split the config file or use a monolithic one?
- Monolithic for readability. Admittedly one may want to explore splitting the file but I can't really think of a good reason. The accompanying debconf template note gives some that may well be true.
-
What configuration type?
- Choose mail sent by smarthost; no local mail
-
What is the mailname?
(I believe it modifies /etc/mailname)
- It is set to the fully qualified name of the machine. The accompanying note tells you that this name will NOT appear on From line if one enables rewriting (which we intend to do)
-
IP-addresses to listen to?
- No mail is to be received from other hosts on the internet. Hence we only listen to localhost 127.0.0.1
-
What domains should the machine should consider itself the final destination, apart from the mailname and "localhost"?
- We leave this blank since this host is not supposed to be the final destination of any mail.
-
Hide local mail name in outgoing mail?
- This is the aforementioned rewriting of headers. Specifically we want the mail to appear to be coming from a different host (not sure root mail will obey this convention). Clearly there might be some resulting confusion if one is reading system mail. However for ordinary users this is a definite plus.
-
What is the visible domain name for local users?
(In short what will the From: look like)
- This need not be the same as the MX record. In the case of the student.cs region (which is where the graphics lab is) we set it to
student.cs.uwaterloo.ca
-
Machine handling outgoing mail for this host (smarthost)?
- As the accompanying note says, this the hostname of the machine to which outgoing mail is sent. Outgoing mail includes mail sent to a local userid, i.e., mail will be delivered to userid@smarthost instead. This implies that these userid must exist on that host (usually this will be a Solaris host running the Xhier sendmail package). In the case of the graphic lab it's set to
mail.student.cs.uwaterloo.ca
which is not the MX record. Hmmm we should simply treat this question as the same question a MUA needs to ask.
-
Keep number of DNS-queries minimal (Dial-on-Demand)?
- No since we aren't on Dialup which is where it is recommended that one enable it.