A message file waiting in a queue typically contains within its headers all the information that is needed to get the message delivered to the proper location. There are headers stored within the file (such as the X-MDaemon-Deliver-To header) which provide MDaemon with instructions as to where and to whom the message should be delivered. Sometimes however it is necessary or useful to override this information and provide specific alternatives to where and to whom a message must be sent. Route Slips provide just such a mechanism. A route slip is a file that provides MDaemon with very specific instructions as to where and to whom a message should be sent. If a route slip is present for a particular message file then the settings within the route slip, and not those within the .MSG file itself, control where and to whom the message is sent.
Route slips end with the extension .RTE. For example, if a message file waiting to be sent is called "MD0000.MSG," then the corresponding route slip file for this message will be called MD0000.RTE and must be located in the same folder (mail queue) as the message file.
The format of a route slip is as follows:
[RemoteHost]
DeliverTo=remote-domain.com
This section of a route slip provides MDaemon with the server to which the corresponding .MSG file is to be sent. MDaemon will always attempt a direct connection to this host attempting to route the message in as short a time as possible. Only one host may be specified.
[Port]
Port=xxx
This switch specifies the port that the TCP/IP connection and delivery attempt should be made on. Port 25 is the default for SMTP email.
[LocalRcpts]
Rcpt0=address@my-domain.com
Rcpt1=other-address@my-domain.com
Rcpt2=yet-another-address@my-domain.com
[RemoteRcpts]
Rcpt0=address@foreign-domain.com
Rcpt1=other-address@foreign-domain.com
Rcpt2=yet-another-address@foreign-domain.com
These sections of the route slip allow you to specify any number of local and remote recipients who should receive a copy of the associated .MSG file. Local and remote recipient addresses must be kept separate and placed in their corresponding [LocalRcpts] and [RemoteRcpts] sections.
Route slips provide a good mechanism for delivering or redirecting email but they are not generally necessary. One use that MDaemon makes of route slips is in the case of "routed" mailing list mail. When you have a mailing list that is set to route a single copy of the list message to some remote host, a route slip is employed to accomplish this. It is a very efficient method of mail delivery when you have bulk addresses to deliver mail to since only a single copy of the message is required while any number of recipients of the message can be specified. Not all remote hosts allow this sort of routing to occur however. Since it is ultimately they who will have to deliver a copy of the message file to each address, some hosts place an upper limit on the number of recipients they will allow you to specify.