Регистрация...

Eserv Forum / E3 / Eserv 3 Mail Server Support / Eserv генерит марешку для postmastera при ошибке 552

imported // (v1)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
Новости
12.10.2009
Переезд завершен
Как от этого избавится?
Когда кто-то отправляет письмо, превышающее MaxMessageSize, eserv создает сообщение об ошибке для postmastera, в которое вкладывает это большое письмо, а оно, в свою очередь также генерит ошибку 522, получается матрешка, которая вешает сервер.
Хотелось бы, чтоб postmasterу, в этом случае приходило сообщение без вложения.
 
Комментарии к этой версии (25.10.2007 04:22) [~Axsv] 5c340099
АвторДатаТекстtags
ac25.10.2007 15:53
Письмо, превышающее размер, никуда не пересылается, оно просто удаляется после приема. Более того, при включенном SMTP[MaxMessageSizeAutoblacklist] отправляющий его IP блокируется, чтобы не нагонял трафик повторными попытками.

См. acSMTP\conf\smtp\OnMessageEnd.rules.txt
imported
Axsv26.10.2007 05:07
Тогда подскажите пожалуйста, откуда берутся сл. письма в папке OUT\127.0.0.1\25? Какие настройки подкрутить?

For: postmaster@mydomain.ru
To: postmaster@mydomain.ru
Subject: CAN'T DELIVER MESSAGE: 552 ERR too large message size
From: "Eserv SMTPSEND4" <postmaster@mydomain.ru>
Date: Fri, 19 Oct 2007 15:36:29 +0800
Message-ID: <271586515c402ab$9edca520$0208a8c0@LOCALHOST>
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="
=_NextPart_000_0129_01C402BC.271586515"

This is a multi-part message in MIME format.


=_NextPart_000_0129_01C402BC.271586515
Content-Type: text/plain; charset="koi8-r"

йЪЧЙОЙФЕ, РТЙМБЗБЕНПЕ УППВЭЕОЙЕ ОЕ НПЦЕФ ВЩФШ ДПУФБЧМЕОП.

I'm sorry to have to inform you that the message returned below could not be delivered to one or more destinations.

Reason (127.0.0.1):
552 ERR too large message size

--
The ESERV mail server, SMTPSEND4 MTA
http://www.eserv.ru/SmtpSend


=_NextPart_000_0129_01C402BC.271586515
Content-Type: message/rfc822
Content-Disposition: attachment
11-я матрешка
10-я матрешка
9-я матрешка
8-я матрешка
7-я матрешка
6-я матрешка
5-я матрешка
4-я матрешка
3-я матрешка
2-я матрешка
1-я матрешка
For: zzzzzz@mydomain.ru
To: zzzzzz@mydomain.ru
Subject: CAN'T DELIVER MESSAGE: 552 Message size exceeds maximum permitted
From: "Eserv SMTPSEND4" <postmaster@mydomain.ru>
Date: Fri, 19 Oct 2007 15:24:18 +0800
Message-ID: <270855671c402ab$9edca520$0208a8c0@LOCALHOST>
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="
=_NextPart_000_0129_01C402BC.270855671"

This is a multi-part message in MIME format.


=_NextPart_000_0129_01C402BC.270855671
Content-Type: text/plain; charset="koi8-r"

йЪЧЙОЙФЕ, РТЙМБЗБЕНПЕ УППВЭЕОЙЕ ОЕ НПЦЕФ ВЩФШ ДПУФБЧМЕОП.

I'm sorry to have to inform you that the message returned below could not be delivered to one or more destinations.

Reason (mx2.hc.ru):
552 Message size exceeds maximum permitted

--
The ESERV mail server, SMTPSEND4 MTA
http://www.eserv.ru/SmtpSend


=_NextPart_000_0129_01C402BC.270855671
Content-Type: message/rfc822
Content-Disposition: attachment

For: xxxxx@XXXXXXXX.ru
Received: from zzzzzz by mydomain.ru (acSMTP/3.0.4413) with SMTP id 7470 for <xxxxx@XXXXXXXX.ru>; Fri, 19 Oct 2007 14:53:39 +0800
Message-ID: <000201c8123f$6144fd50$ad00100a@zzzzzz>
From: =?koi8-r?B?78vVzsXXIOHMxcvTwc7E0g==?= <zzzzzz@mydomain.ru>
To: "777" <xxxxx@XXXXXX.ru>
Subject:
Date: Tue, 9 Oct 2007 14:59:23 +0400
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="
=_NextPart_000_0003_01C80A84.FA7AC5D0"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.2180
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180

This is a multi-part message in MIME format.


=_NextPart_000_0003_01C80A84.FA7AC5D0
Content-Type: multipart/alternative; boundary="
=_NextPart_001_0004_01C80A84.FA7AC5D0"


=_NextPart_001_0004_01C80A84.FA7AC5D0
Content-Type: text/plain; charset="koi8-r"
Content-Transfer-Encoding: quoted-printable


=_NextPart_001_0004_01C80A84.FA7AC5D0
Content-Type: text/html; charset="koi8-r"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-W3CDTD HTML 4.0 TransitionalEN"> <HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dkoi8-r">
<META content=3D"MSHTML 6.00.2900.2180" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV>&nbsp;</DIV></BODY></HTML>


=_NextPart_001_0004_01C80A84.FA7AC5D0


=_NextPart_000_0003_01C80A84.FA7AC5D0
Content-Type: application/pdf; name="1.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="1.pdf"
imported
Axsv26.10.2007 05:34
Еще интересней 8O , если установить MaxMessageSizeAutoblacklist =1, то в IpBlackList.txt вносится строка:
127.0.0.1;Autoblacklisted, mailto:Postmaster@mydomain.ru
imported
ac26.10.2007 11:53
А, понятно, при первом проходе через Eserv в сторону какого-то вашего получателя на сервере mx2.hc.ru письмо было меньше вашего лимита, но больше, чем лимит на Exim'е получателя, поэтому письмо пришлось завернуть, и уже на возврате оно, с учетом добавленных заголовков, оказалось больше лимита на вашем Eserv. Да, такой вариант на границе лимита действительно не продуман. ОК, исправлю, спасибо за репорт.
imported
ac26.10.2007 11:54
Axsv пишет: Еще интересней 8O , если установить MaxMessageSizeAutoblacklist =1, то в IpBlackList.txt вносится строка:
127.0.0.1;Autoblacklisted, mailto:Postmaster@mydomain.ru

А здесь как раз все правильно.
imported
Axsv26.10.2007 14:31
Но подобная ситуация происходит (не всегда, не могу выявить закономерность), когда отправляемое письмо превышает лимит на моем Eserv-e. Не пойму как оно проходит проверку и выходит во вне, а возвращаясь вешает сервер.

И что будет когда 127.0.0.1 попадет IpBlackList?
imported
ac26.10.2007 14:47
Axsv пишет: Но подобная ситуация происходит (не всегда, не могу выявить закономерность), когда отправляемое письмо превышает лимит на моем Eserv-e. Не пойму как оно проходит проверку и выходит во вне, а возвращаясь вешает сервер.

Сделайте выборку из DATA\log\smtp\200710mail.txt с письмами, размер которых превышает лимит.

Axsv пишет: И что будет когда 127.0.0.1 попадет IpBlackList?

В долгосрочной перспективе — ничего хорошего.
Но проблему с злостными нарушителями размеров решает. В данном случае тоже матрешка крутиться перестанет.
imported
ac26.10.2007 20:59
http://www.eserv.ru/download/smtpsend430.rar
Изменения после 4.29:
  1. Если причиной возврата письма стало отвержение получателем тела письма (вирус, спам, превышение размера и т.д.), то письмо возвращается не целиком, как раньше, а обрезанное до нескольких килобайт. Кроме предотвращения описанной здесь проблемы создания матрешки из-за блокировки возврата это исключит потенциальную аналогичную проблему со спамом и вирусами (если возвращаемое письмо посчиталось спамом или вирусом, а проверка локальных отправителей не отключена).
  2. Ускорена отправка в команде DATA (увеличен размер буфера по умолчанию, что в WAN ускоряет передачу).
  3. Повышена удобочитаемость лога передачи в gui-окне.
imported
Axsv02.11.2007 08:23
Спасибо за оперативные изменения, матрешки кончились.
Остался, только, вопрос с письмами, превышающими разрешенный объем. В логе я вижу:
2007-10-26 15:46:35;user1@mydomain.ru;outuser@outdomain.ru;142582134;<000a01c817a3$89139850$4900100a@mydomain.local>;XX.XX.XX.XX;;localhost;Outbound
Это значит, что Eserv отправляет наружу это сообщение?
Как понять, почему Eserv сразу не отверг его для почтового клиента?
imported
ac02.11.2007 15:54
В файле acSMTP\conf\smtp\OnMessageEnd.rules.txt в начале есть такие строки:

\ Если письмо было больше заданного размера, удаляем его
MESSAGE-SIZE MaxMessageSize > | DeleteCurrentFile " 552 ERR too large message size{CRLF}" SMTP_FPUTS EvalRules: smtp\filters\AutoBlackList \EOF \ -4007 THROW

Замените вторую на эту:
MESSAGE-SIZE DUP . MaxMessageSize DUP . > DUP . CR | DeleteCurrentFile " 552 ERR too large message size{CRLF}" SMTP_FPUTS EvalRules: smtp\filters\AutoBlackList \EOF \ -4007 THROW

Потом отправьте письмо, превышающее лимит, и процитируйте числа, которые появятся в acSMTP.log.
imported
Axsv09.11.2007 09:24
Я посмотрел логи, и вот что там есть: asSMTP.log
45296219 15000000 -1
..
..
19175633 15000000 -1

200711mail.txt
2007-11-09 11:55:45;usr1@mydomain;outuser@list.ru;45296219;<000401c82294$e9ea26c0$4a00100a@usr1>;xx.xx.xx.xx;;localhost;Outbound
..
..
2007-11-09 11:57:36;usr1@mydomain;outuser@list.ru;19175633;<000901c82295$1eef4d50$4a00100a@usr1>;xx.xx.xx.xx;;localhost;Outbound

Получается, что письмо проверено и оно больше MaxMessageSize, но все равно отправляеться наружу.
И это происходит не у всех пользователей.
Где смотреть дальше?
imported
pig09.11.2007 12:39
Ну, тогда остаётся в той же строке заменить DeleteCurrentFile на:
CURRENT-FILE DELETE-FILE . CR

И смотреть дальше. В acSMTP.log должно появиться ещё одно число после строк с минус единицей. Интересно посмотреть на него.
imported
Работает на Eserv/5.05555 (05.06.2016)