Назад | Перейти на главную страницу

Exim - медленная доставка почты

Я только что настроил свой собственный SMTP-сервер Exim для отправки электронных писем

Но я испытываю что-то странное, когда отправляю информационные бюллетени ... Много раз, когда я отправляю через Exim, письма доставляются с задержкой до часа после того, как они были фактически отправлены ??

Допустим, я отправил письмо 09:41. Письмо отправлено, но получатель получает его по адресу 10:25.. Но отметка времени на почте все еще 09:41

Это почему??

Когда письма были отправлены, все они были отправлены в одном и том же «поддерживающем» SMTP (TCP) соединении (~ 1000 писем было отправлено за несколько минут)

Тогда многие люди не увидят мою почту, потому что она попадает между старыми и прочитанными сообщениями, потому что временная метка превышает один час, когда почта попадает в почтовый ящик.

журнал

2019-10-16 09:41:21 1iKdvt-0002cc-8A <= newsletter@example.com H=smtp.example.com (example.com) [2a01:4f8:140:43a1::2] P=esmtpsa X=TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128 CV=no A=plain_server:example S=6921 id=W7EVMeu2x4beoTgU8bfdbVw3B2xdt2sVtEOQEcQb7E@example.com
2019-10-16 09:41:21 1iKdvt-0002cc-8A no immediate delivery: more than 10 messages received in one connection

Как отправлять электронные письма мгновенно, а не ставить их в очередь?

Ваша проблема не в вашей локальной очереди. Ваша проблема - время установки между двумя запусками очереди в вашей системе.

Exim как MTA не имеет действительно хорошего управления очередью; он просто смотрит каждый раз, когда бежит, чтобы отправить как можно больше, и все.

Посмотрите на параметры, которые Exim использует для запуска в списке процессов, например, если это так. этот:

exim -q30m

это означает, что запуск очереди происходит автоматически каждые полчаса. Некоторые дистрибутивы могут не использовать этот параметр, а вместо этого помещают его в задание cron.

Почта сначала попадет в очередь. Это нормально, это действительно нужно (вы не хотите блокировать весь поток из-за серых списков, например, пока вы не сможете отправить сообщение).

Что вы можете сделать, так это изменить конфигурацию, чтобы очередь считывалась немедленно для этих сообщений. Добавить (или изменить существующее значение):

smtp_accept_queue_per_connection=20

Это поставит в очередь (и отправит как можно скорее) до 20 сообщений на одно соединение. Сейчас предел для вас - 10.