В нашей организации есть несколько серверов, которые генерируют и отправляют множество писем (мы не спамеры, это законные письма пользователям, которые просили об этом). Exim на этих машинах настроен так, чтобы пытаться доставлять почту только один раз, а в случае сбоя переадресовывать почту на сервер-концентратор переполнения, который будет продолжать попытки. Я просто добавил новый сервер в это стадо, добавил его в нашу запись SPF и настроил его точно так же, как другие наши серверы. Тем не менее, мы должны быть в черном списке или, скорее, в сером списке с Google, вероятно, потому что сетевой блок этого нового сервера имеет плохую репутацию, так как электронные письма на учетные записи Gmail всегда терпят неудачу с ошибкой отключения с первой попытки. Я попытался вручную отправить на адреса Gmail, и если мне разрешено сделать более одной попытки, это работает нормально, я вижу, что первая попытка не удалась, а затем вторая попытка работает, без проблем. Но, как я уже сказал, мы не делаем второй попытки с нашей системой.
Проблема в том, что я получаю кучу процессов Exim, которые сидят без дела, ожидая, когда Google отключится, я полагаю, что это приводит к увеличению объема памяти на машине (это виртуальная машина, так что всего 512M RAM), а затем OOM_killer ядра начинает убивать процессы, и мы теряем электронные письма, которые должны выходить.
Я не ожидаю, что в ближайшее время выйду из серого списка Google, поэтому реальное решение, которое я вижу, состоит в том, чтобы выяснить, как заставить процессы Exim быстрее сдаваться, чтобы у меня не было недостатка памяти. Есть ли способ в конфигурации exim сделать это? Или просто ограничить, сколько всего процессов exim выполняется в системе? Обратите внимание, что это отдельные программы exim, запущенные нашим программным обеспечением для генерации почты, они не являются потомками основного Exim MTA. Я не вижу в документах Exim ничего такого, что могло бы касаться этих вопросов.
примечание: я уже пытался использовать hubbed_hosts, чтобы Exim даже не пытался использовать Google, но это не работает. Может быть, у меня неправильное форматирование моего файла hubbed_hosts? Вот и все (с запутанным именем домена):
.*google.com: bulkflow.mydomain.org
.*gmail.com: bulkflow.mydomain.org
Если я ошибаюсь и могу исправить это, может быть, это ответ.