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). У вас может быть список хостов и один порт, но я не уверен, можно ли (и как) иметь список хостов с другим портом прослушивания для входящих соединений для каждого хоста в списке. Для такой сложной и сложной настройки я бы написал другого агента доставки, который мог бы это использовать.