$Id: smtp-infrastructure.html,v 1.2 2004/05/03 14:24:43 mrq1 Exp $
As our mail infrastructure is a little on the complex side, I'm going to describe it with respect to how inbound and outbound messages traverse the various systems.
Messages sent to our site from other internet sites find us by way of our DNS MX (Mail eXchange) record. At the moment this record is
stir.ac.uk MX 5 mx1.stir.ac.uk
mx1.stir.ac.uk is a round-robin DNS record which contains the addresses of our mail relays
mx1.stir.ac.uk A 139.153.12.54 (aka mailscanner1)
mx1.stir.ac.uk A 139.153.13.35 (aka mailscanner2)
mx1.stir.ac.uk A 139.153.12.53 (aka mailscanner3)
Each of these systems is functionally identical.
When a messages is received by one of the mailscanners it is placed into the input queue for processing my MailScanner which performs a number of operations on the message:
If the domain part (right hand side) of the recipient's address is listed in the mailertable file then the message is sent directly to the mail server listed in that file. For example:
students.stir.ac.uk smtp:[glass.stir.ac.uk]
directs mail mail addresses to @students.stir.ac.uk to the student email server, 'glass'
If the domain part of the recipients address is listed in the local-host-names file then the message is delivered acording to the aliases file. For example:
sysadm: sysadm@forth
directs mail for sysadm@stir.ac.uk to the unix email server 'forth'.
Outgoing mail is routed to mx1.stir.ac.uk by the various front-end email servers (with the exception of MS Exchange, which sends all mail to mailscanner1 as it is not able to handle round-robin addresses in a useful way).
Messages traverse the input and output queues in the same way as described above, then delivery is performed according to the recipient sites' DNS configuration.