Обычно файл сообщения, который ожидает в очереди, содержит в своих заголовках всю информацию, необходимую для доставки этого сообщения в нужное место. В файле записаны заголовки (такие, как «X-MDaemon-Deliver-To»), которые содержат инструкции для MDaemon, указывающие, куда и кому нужно доставить это сообщение. Тем не менее, иногда необходимо, или желательно, игнорировать эти сведения и дать особые альтернативные указания о том, куда и кому следует отправить некоторое сообщение. Такой механизм реализован в так называемых «сдвигах маршрута» (Route Slips). «Сдвиг маршрута» представляет собой файл, в котором содержатся особые указания для MDaemon относительно того, кому следует отправить данное сообщение. Если для некоторого конкретного файла сообщения обнаружен «сдвиг маршрута» (route slip), то при доставке этого файла будут учитываться только настройки из «сдвига», но не те, которые содержатся в самом файле .MSG.
Файл «сдвига маршрута» имеет расширение .RTE. Например, если ожидающий отправки файл сообщения называется "MD0000.MSG", то соответствующий ему файл со «сдвигом маршрута» будет называться MD0000.RTE и должен находиться в той же папке (почтовой очереди), что и файл сообщения.
Для описания маршрутного сдвига используется следующий формат:
[RemoteHost]
DeliverTo=remote-domain.com
Данный раздел маршрутного сдвига сообщает MDaemon, на какой сервер следует отправлять соответствующий файл .MSG. MDaemon всегда будет пытаться установить прямое соединение с этим узлом, чтобы попробовать доставить сообщение как можно быстрее. Для одного сообщения можно указать только один хост.
[Port]
Port=xxx
Этот параметр определяет порт, на который будет устанавливаться соединение TCP/IP, и по которому будет производиться попытка доставки. Для почты SMTP по умолчанию используется порт 25.
[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
Эти разделы маршрутного сдвига позволяют вам определить любое количество локальных или удаленных адресатов, которые должны получить копию соответствующего файла .MSG. Адреса локальных и удаленных получателей следует записывать отдельно, и помещать их в соответствующие разделы [LocalRcpts] (локальные) и [RemoteRcpts] (удаленные).
Маршрутные сдвиги представляют собой мощный механизм для доставки или перенаправления почты, хотя в большинстве случаев без них можно обойтись. Один из примеров использования маршрутных сдвигов в MDaemon – это «маршрутизация» сообщений списков рассылки. Если у вас есть список рассылки, который должен маршрутизировать копию сообщения рассылки на некоторый удаленный узел, для этого используется «маршрутный сдвиг». Это очень эффективный метод доставки почты, когда у вас есть второстепенные адреса рассылки, но при этом нужно доставить только одну копию сообщения, а число получателей сообщения может быть любым. Имейте в виду, что не все удаленные хосты позволяют выполнять такого рода маршрутизацию. Если это как раз тот случай, когда узел должен доставить только одну копию сообщения на каждый из адресов, некоторые узлы устанавливают верхний предел количества получателей, которое вы можете указать для конкретного узла.