Назад | Перейти на главную страницу

Сколько записей можно указать в строке конфигурации SMART_HOST sendmail?

CentOS | Отправить почту

В моем файле sendmail.mc есть следующая строка:

define(`SMART_HOST',`relay:[1.1.1.1]:[2.2.2.2]')

Насколько я понимаю, sendmail всегда будет использовать smarthost на 1.1.1.1, а затем при необходимости переключится на 2.2.2.2.

Могу я указать здесь третью запись? Например:

define(`SMART_HOST',`relay:[1.1.1.1]:[2.2.2.2]:[3.3.3.3]')

Какие ограничения на количество записей, которые я могу указать здесь?

Если вы посмотрите на определение почтовой программы $ # relay, вы увидите, например, что она определяется как:

Mrelay,         P=[IPC], F=mDFMuXa8, S=EnvFromSMTP/HdrFromSMTP, R=MasqSMTP, E=\r\n, L=2040,
                T=DNS/RFC822/SMTP,
                A=TCP $h

Итак, ваш вопрос фактически становится: Может ли $ h быть списком, разделенным двоеточиями, и если да, то для скольких хостов? На что книга летучих мышей отвечает на странице 739:

Начиная с sendmail V8, $ h (возможно, возвращенный набором правил синтаксического анализа 0) может быть списком хостов, разделенных двоеточиями. Программа sendmail пытается подключиться к каждому по очереди слева направо:

A = хост TCP A: хост B: хост C

Здесь он сначала пытается подключиться к hostA. Если это не удается, затем выполняется попытка hostB и так далее. Как обычно, попытка хоста означает сначала попытку его записей MX или записи A или AAAA, если записей MX нет.

Чтобы узнать фактическое ограничение, нужно посмотреть источники sendmail, чтобы проверить, существуют ли они.

Второй аргумент подразумевается A=TCP $h который опущен, и это номер порта (по умолчанию предполагается, что 25). У вас может быть список хостов и один порт, но я не уверен, можно ли (и как) иметь список хостов с другим портом прослушивания для входящих соединений для каждого хоста в списке. Для такой сложной и сложной настройки я бы написал другого агента доставки, который мог бы это использовать.