sendmail 8.14.x
Этот вопрос отчасти связан с Отправляет ли sendmail все нижестоящий smarthost в "одном файле"? но отдельно, чтобы представить информацию по конкретному вопросу.
У меня есть почтовая среда со следующей настройкой:
Application Servers -> sendmail relay -> cloud email service -> internet
Для нижележащей облачной службы требуется, чтобы электронные письма передавались им в одном файле. Если он видит несколько одновременных SMTP-подключений с одного и того же общедоступного IP-адреса, он принимает одно и откладывает остальные с ошибкой класса 400. Очевидно, это серьезно ограничивает исходящую пропускную способность, и мы работаем с поставщиком облачных услуг, чтобы попытаться решить эту проблему. А пока мне нужно найти способ, чтобы sendmail отправлял все за одно соединение.
На первый взгляд мне показалось, что confSINGLE_THREAD_DELIVERY
вариант может быть подходящим, но я все еще чувствую, что у меня возникнут проблемы, если обработчик очереди обрабатывает отложенные сообщения в то же время, когда новое входящее соединение хочет отправить что-то немедленно. Или, что еще хуже, обработчик очереди занят большой очередью и никогда не пропускает новые сообщения.
Я знаю, что это глупое требование, и, как я уже упоминал, мы работаем с облачным провайдером, но пока есть ли конфигурация sendmail, которая могла бы удовлетворить это требование при балансировке доставки как новых сообщений, так и сообщений в очереди?
Ты можешь
relay
почтовик для доставки на смарт-хост (relay
используется по умолчанию)relay
почтовая программа дорогая, чтобы избежать попыток доставки "сразу"relay
почтовая программа использует настраиваемую группу очереди с собственным более частым периодом выполнения очередиsendmail.mc
dnl Declare relay queue group with queue run period 10m
dnl Do not forget to create /var/spool/mqueue/relay directory
QUEUE_GROUP(`relay', `P=/var/spool/mqueue/relay I=10m')
dnl OPTIONAL: define minimum time BETWEEN delivery attempt of any message
define(`confMIN_QUEUE_AGE',`25m')dnl
dnl Make sendmail honor mailers' expensive flag
define(`confCON_EXPENSIVE',`True')dnl
dnl Add F=e "expensive" flag to relay mailer flags
define(`RELAY_MAILER_FLAGS',`e')dnl
dnl make relay mailer select custom queue group for relay mailer
define(`RELAY_MAILER_QGRP',`relay')dnl