exim4 продолжает повторять попытки сообщения, которое не удается после «закрытого соединения в ответ на отправку блока данных»

Позвольте мне начать с того, что я не айтишник, но я ' меня втиснули в него в моем офисе.

Кто-то в моем офисе отправил вложение электронной почты размером 86 МБ кому-то на aol.com и aol. com отклоняет электронное письмо, вероятно, потому, что оно слишком велико. Когда я смотрю журналы, я вижу «закрытое соединение в ответ на отправку блока данных» каждые 10-20 минут, я полагаю, потому что exim4 пытается продолжить его повторную отправку. Это происходило в течение 3 дней и, как вы можете догадаться, использовало большую полосу пропускания.

Почему exim4 не прекратил отправлять это электронное письмо после стольких неудачных попыток?

Какой параметр конфигурации мне нужно изменить, чтобы установить количество неудачных попыток для отказа от такого рода сбоев?

0
задан 20 November 2015 в 23:50
2 ответа

Первый для данной ошибки. Поскольку этот тип сбоя smtp в smtp может произойти из-за ряда проблем с сетевым подключением,

  • брандмауэр выполняет фильтрацию пакетов
  • Любое другое устройство безопасности или
  • Антивирусное программное обеспечение
  • Или какая-либо другая политика настроена почтовый сервер

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

Чтобы предотвратить это, вам необходимо настроить правила повтора по умолчанию .

  1. Правило повтора по умолчанию

Раздел повтора файла конфигурации содержит правила, которые влияет на то, как exim повторяет доставку, которая не может быть завершена на Первая попытка. Это вводится строкой

. Правило повтора exim по умолчанию выглядит так:

begin retry

В конфигурации по умолчанию есть только одно правило, которое применяется к все ошибки:

    • F, 2ч, 15м; G, 16ч, 1ч, 1,5; F, 4d, 6h

Это вызывает повторную попытку любого временно неисправного адреса каждые 15 минут в течение 2 часов, затем с интервалом от одного часа до увеличивается в 1,5 раза, пока не пройдет 16 часов, затем каждые 6 часов до 4 суток. Если адрес не был доставлен через 4 дня временный сбой, он возвращается.

Если секция повтора удалена из конфигурации или пуста (то есть, если не определены правила повтора), exim не будет повторять поставки. Это превращает временные ошибки в постоянные.

Вы можете изменить значения соответствующим образом. Вот официальная ссылка: http://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_default_configuration_file.html#SECID57

Здесь очень хорошее объяснение тоже.

1
ответ дан 4 December 2019 в 13:45

Основная проблема заключается в том, что вы приняли сообщение для ретрансляции, а сервер-получатель не может принять его. Обычно сервер-получатель скажет «550 размер сообщения слишком велик» или что-то в этом роде, и exim не будет пытаться снова, а развернется и попытается сообщить отправителю, что возникла проблема с его сообщением размером 86 МБ, отправив ему сообщение bounce message.

Здесь этого не происходит, имеется нечеткая проблема с обработкой сообщения, вероятно, из-за его большого размера. Обычно принимающий сервер будет использовать протокол ESMTP, который позволяет отклонять сообщения выше определенного размера до того, как они фактически пройдут по сети, но серверы AOL, похоже, не поддерживают это, поэтому они пытаются принять его и по какой-то причине терпят неудачу, что сервер AOL администраторы могут понять или не понять.

Поскольку exim не знает, что делать с этой плохо определенной проблемой, он будет продолжать попытки отправить сообщение в течение пяти дней (конфигурация по умолчанию). У вас есть два варианта, чтобы остановить неприятности перед этим: используйте exim -Mg $ messageid , который отправит обратно возврат отправителю, или exim -Mrm $ messageid , который просто удалит сообщение из вашей очереди. Я предпочитаю первый, за исключением того, что сообщение об ошибке выглядит как «отменено администратором», в то время как я предпочел бы «закрытое соединение в ответ на отправку блока данных» плюс, возможно, «тайм-аут по умолчанию, сокращенный администратором».

Чтобы избежать это происходит снова, вам, вероятно, следует определить ограничение на размер на своем сервере, чтобы вы не принимали сообщения, которые настолько велики, что получатель может отказаться. Параметр называется message_size_limit и может уже присутствовать в вашей конфигурации. Используя очень полные возможности конфигурации exim, вы, вероятно, могли бы определить ограничение только для писем в AOL, если хотите. В общем случае обычно 10 или 20 МБ.

1
ответ дан 4 December 2019 в 13:45

Теги

Похожие вопросы