У меня довольно стандартная настройка exim для входящей и исходящей почты. Недавно наша команда разработчиков создала приложение PHP, которое позволяет нам отправлять массовые письма нашим клиентам. Приложение PHP использует стандартные библиотеки PEAR для инициирования SMTP-подключения к localhost (приложение и почтовый сервер находятся в одном окне). Идея заключается в том, что приложение будет отправлять примерно 10 000 электронных писем за очень короткий период времени (около 60 секунд), который затем Exim будет хранить в своей очереди для доставки.
Проблема возникает, когда после примерно 50 писем exim прекращает принимать почту и регистрирует следующую ошибку в файле exim_main.log:
SMTP command timeout on connection from localhost [127.0.0.1]
Может быть, это потому, что exim немедленно начинает доставлять почту, а затем прекращает принимать новые входящие соединения? Я думал, что увеличение пределов SMTP может быть проблемой здесь, но даже после установки новых значений в файле exim.conf к следующему, я все еще получаю ту же проблему:
queue_run_max = 5000
smtp_accept_max = 5000
smtp_accept_queue = 5000
Это вызывает два вопроса:
- Как мне решить это?
- Каков наилучший способ настройки exim для приема огромного количества почты в очередь за очень короткий промежуток времени, но затем постепенной доставки, когда все в очереди? Я видел, как некоторые люди запускали отдельные демоны Exim для входящей и исходящей почты; это хорошее решение?