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

Если я ошибаюсь и могу исправить это, может быть, это ответ.

1 ответ1

0

Удалите .* Из вашего файла hubbed_hosts, обычный gmail.com и т.д. Правильно.

Кроме того, проверьте отличную документацию и найдите такие элементы, как queue_run_max , queue_load_max , queue_only и smtp_receive_timeout .

Обратите внимание, что exim очень хорош в правильной обработке сообщений, даже если процесс, обрабатывающий сообщение, будет убит, сообщение останется в очереди, поэтому потеря сообщений не должна быть проблемой.

Я использовал exim для доставки сотен тысяч электронных писем в день, и exim предлагает множество параметров настройки, чтобы все работало гладко.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .