CentOS 5.8 | Sendmail 8.14.4
Раньше я думал, что если SendMail обнаружит временную ошибку (класса 400) во время доставки, он поместит сообщение в отложенную очередь (например, / var / spool / mqueue) и повторите попытку через час. По большей части, это так. Но время от времени я замечаю такие записи в журнале (адрес электронной почты / домены переименованы для защиты невиновных :-)):
Dec 5 01:43:03 foobox-out sendmail [11078]: qBE3l7js123022: to=<user@foo.com>, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=124588, relay=exbox.foo.com. [10.10.10.10], dsn=4.0.0, stat=Deferred: 421 4.3.2 The maximum number of concurrent connections has exceeded a limit, closing transmission channel
Dec 5 01:53:34 foobox-out sendmail [12763]: qBE3l7js123022: to=<user@foo.com>, delay=00:10:31, xdelay=00:00:00, mailer=relay, pri=214588, relay=exbox.foo.com., dsn=4.0.0, stat=Deferred: 452 4.3.1 Insufficient system resources
Dec 5 02:53:35 foobox-out sendmail [23255]: qBE3l7js123022: to=<user@foo.com>, delay=01:10:32, xdelay=00:00:01, mailer=relay, pri=304588, relay=exbox.foo.com. [10.10.10.10], dsn=2.0.0, stat=Sent (<SLDFKJSDLFKJSDLFKJLKDSJLKFJDSLFKJSDLKFJSD@BOX.senderdomain.com> Queued mail for delivery)
Почему Sendmail повторил попытку всего через 10 минут после первой попытки, а затем подождал еще час, прежде чем повторить попытку?
Если это ожидаемое поведение, какие сценарии вызовут более быстрый интервал повторной постановки в очередь?
Вы можете прочитать более подробную информацию в разделе 29.9.99 4-го издания книги о летучей мыши. Суть в том, что в большинстве случаев сообщения, которые не удается доставить часто, продолжают давать сбой.
Поэтому, когда сообщение помещается в очередь, sendmail вычисляет свой приоритет на основе RecipentFactor и ClassFactor и сначала обрабатывает сообщения с самым низким приоритетом. Неудачные попытки корректируются с помощью RetryFactor и так далее.
Также в вашем случае 452 сообщает машине отложить доставку на более позднее время. Сколько позже зависит от значения рядом с -q при запуске sendmail.