Сколько записей можно указать в строке конфигурации sendmail SMART_HOST?
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]')
Какие ограничения на количество записей я могу указать здесь?
1 ответ
Если вы посмотрите на определение $#relay mailer, вы увидите, например, что оно определено как:
Mrelay, P=[IPC], F=mDFMuXa8, S=EnvFromSMTP/HdrFromSMTP, R=MasqSMTP, E=\r\n, L=2040,
T=DNS/RFC822/SMTP,
A=TCP $h
Таким образом, ваш вопрос фактически звучит так: может ли $h быть разделенным двоеточиями списком, и если да, то для скольких хостов? На что книга летучих мышей отвечает на странице 739:
Начиная с V8 sendmail, $h (возможно, возвращаемый набором правил анализа 0) может быть списком хостов, разделенных двоеточиями. Программа sendmail пытается соединиться с каждым по очереди, слева направо:
A = TCP hostA: hostB: hostC
Здесь он сначала пытается подключиться к hostA. Если это не удается, он затем пытается запустить hostB и так далее. Как обычно, попытка хоста означает сначала попытку его записей MX или записей A или AAAA, если записей MX нет.
Для фактического ограничения нужно было бы посмотреть на источники sendmail, чтобы проверить, существует ли какой-либо.
Второй аргумент подразумевается в A=TCP $h
который опущен, и это номер порта (по умолчанию предполагается 25). У вас может быть список хостов и один порт, но я не уверен, можете ли вы (или каким образом) иметь список хостов с другим портом прослушивания для входящих соединений для каждого хоста в списке. Для такой сложной и хитрой установки я написал бы другого агента доставки, который мог бы использовать это.