URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 91593
[ Назад ]

Исходное сообщение
"Postfix+Exchange размер почтовых сообщений"

Отправлено back2base , 18-Май-11 14:23 
Уважаемые коллеги помогите разобраться или объясните причину такой ситуации.
Есть связка Postfix relay на FreeBSD + сервер Exchange 2010.

Есть настройки разрешающие максимальный размер почтового сообщения 30 мб как на Postfix так и на Exchange. Однако вот что происходит:

При отправке письма с Exchange с вложением 27мб на внешний адрес получаю отчет о не доставке:

"Это сообщение не было доставлено ни одному адресату, поскольку его размер слишком велик. Предельный размер составляет 30 МБ. Размер этого сообщения - 37 МБ.

xyz@mail.ru
Сообщение превышает максимально допустимый размер сообщений. Уменьшите размер сообщения и попытайтесь снова отправить его.

Следующая организация отклонила сообщение: postfix.domain.name (это мой relay server)"

Если я отправляю тоже самое сообщение с ящика Exchange на другой ящик Exchange то все проходит нормально. Глобальное ограничение транспорта Exchange всё те же 30 Мб.

Если я отправляю тоже сообщение (27 Мб) с внешнего адреса например майл.ру то вижу что теперь Postfix обрабатывает сообщение затем пересылает его внутрь на Exchange и уже от сервера Exchange получает отказ по причине превышения максимально разрешенного размера собщения.

Может кто сталкивался и может объяснить почему это происходит?


Содержание

Сообщения в этом обсуждении
"Postfix+Exchange размер почтовых сообщений"
Отправлено DeadLoco , 18-Май-11 14:31 
> Может кто сталкивался и может объяснить почему это происходит?

http://en.wikipedia.org/wiki/MIME



"Postfix+Exchange размер почтовых сообщений"
Отправлено back2base , 18-Май-11 15:09 
>> Может кто сталкивался и может объяснить почему это происходит?
> http://en.wikipedia.org/wiki/MIME

То что к сообщению добавляются заголовки я знаю, но разве может из-за этого размер оригинального сообщения изменяться так значительно?


"Postfix+Exchange размер почтовых сообщений"
Отправлено DeadLoco , 18-Май-11 15:17 
>>> Может кто сталкивался и может объяснить почему это происходит?
>> http://en.wikipedia.org/wiki/MIME
> То что к сообщению добавляются заголовки я знаю, но разве может из-за
> этого размер оригинального сообщения изменяться так значительно?

Не в заголовках дело, а в том, что аттачменты энкодятся в quoted-printable или base-64. Как правило. И в теле письма это выглядит примерно вот так:

--=_6c472a4cb89b2a87327a583fe392173d
Content-Transfer-Encoding: base64
Content-Type: text/plain;
name=*******.*****
Content-Disposition: attachment;
filename=*******.*****

MTAuMC4wLjYxLzMyICAgICAgICAgCQkjICBhbnRvbmlvICAgICAgICAKMTAuMC4wLjMzLzMyICAg
ICAgICAgCQkjICBodW1tZXIKCjEwLjEuNi41LzMyICAgICAgICAgICAgICAgICAgICMgIFppbWxr
YSAtIEthZHJpCjEwLjEuMTkuMTAvMzIgICAgICAgICAgICAgICAgICAgIyAgdmlzbmlrCjEwLjEu
MTkuMTEvMzIgICAgICAgICAgICAgICAgICAgIyAgTi5FLgoxMC4xLjE5LjYyLzMyICAgICAgICAg
ICAgICAgICAgICMgIFJvc3RpawoxMC4xLjIyLjIvMzIgICAgICAgICAgICAgICAgICAgICMgIE5V
TkkKMTAuMS4yMy4xLzMyICAgICAgICAgICAgICAgICAgICAjICBOVU5JCjEwLjEuMjUuMS8zMiAg
ICAgICAgICAgICAgICAgICAgIyAgTmljawoxMC4xLjI5LjIwMC8zMiAgICAgICAgICAgICAgICAg
. . . . . .


При этом закодированый аттачмент растет в размере, а МТА при приеме ориентируется не на исходный, а на кодированый, фактический размер аттача. Поэтому письмо с аттачем в 27 метров после МИМЕ-энкодинга может распухнуть до 37 метров и не пролезть в лимит.


"Postfix+Exchange размер почтовых сообщений"
Отправлено Square , 18-Май-11 15:29 
> Если я отправляю тоже самое сообщение с ящика Exchange на другой ящик
> Exchange то все проходит нормально. Глобальное ограничение транспорта Exchange всё те
> же 30 Мб.

Посмотрите в опциях, для локальной доставки это ограничение может быть больше.
Можете наверное хоть 100ГБ вложение переслать...

> Если я отправляю тоже сообщение (27 Мб) с внешнего адреса например майл.ру
> то вижу что теперь Postfix обрабатывает сообщение

Очевидно ему все равно какой размер письма... он же релей всего лишь.

> на Exchange и уже от сервера Exchange получает отказ по причине
> превышения максимально разрешенного размера собщения.

Логично.

> Может кто сталкивался и может объяснить почему это происходит?

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



"Postfix+Exchange размер почтовых сообщений"
Отправлено back2base , 18-Май-11 15:37 
Спасибо за ответы теперь всё понял!!
Вот даже описание нашёл (http://techhelp.santovec.us/decode.htm) в котором сказано  
Base64 results in a transmitted message about 37% larger than the original file

"Postfix+Exchange размер почтовых сообщений"
Отправлено rr , 18-Май-11 15:38 
>> Если я отправляю тоже самое сообщение с ящика Exchange на другой ящик
>> Exchange то все проходит нормально. Глобальное ограничение транспорта Exchange всё те
>> же 30 Мб.
> Посмотрите в опциях, для локальной доставки это ограничение может быть больше.
> Можете наверное хоть 100ГБ вложение переслать...
>> Если я отправляю тоже сообщение (27 Мб) с внешнего адреса например майл.ру
>> то вижу что теперь Postfix обрабатывает сообщение
> Очевидно ему все равно какой размер письма... он же релей всего лишь.

Это как так? Как это связано релей - не релей, есть ящики - нет ящиков.

220 mail.e.ru ESMTP Postfix
ehlo mail.ru
250-mail.e.ru
250-PIPELINING
250-SIZE 51200000
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

>> на Exchange и уже от сервера Exchange получает отказ по причине
>> превышения максимально разрешенного размера собщения.
> Логично.

И в чем логика? Кодирование произошло на клиенте. Кодированное письмо пришло на Postfix  - ушло такое же письмо + заголовки от Postfix.

>> Может кто сталкивался и может объяснить почему это происходит?
> Так и должно быть. При вложении файла в письмо - происходит его
> кодирование (смысл которого- в замене всех нечитаемых знаков на читаемые...и остальных
> тоже), при этом его размер увеличивается примерно в два раза.


"Postfix+Exchange размер почтовых сообщений"
Отправлено Square , 18-Май-11 16:13 
>>> Если я отправляю тоже самое сообщение с ящика Exchange на другой ящик
>>> Exchange то все проходит нормально. Глобальное ограничение транспорта Exchange всё те
>>> же 30 Мб.
>> Посмотрите в опциях, для локальной доставки это ограничение может быть больше.
>> Можете наверное хоть 100ГБ вложение переслать...
>>> Если я отправляю тоже сообщение (27 Мб) с внешнего адреса например майл.ру
>>> то вижу что теперь Postfix обрабатывает сообщение
>> Очевидно ему все равно какой размер письма... он же релей всего лишь.
> Это как так? Как это связано релей - не релей, есть ящики
> - нет ящиков.

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

>>> на Exchange и уже от сервера Exchange получает отказ по причине
>>> превышения максимально разрешенного размера собщения.
>> Логично.
> И в чем логика? Кодирование произошло на клиенте. Кодированное письмо пришло на
> Postfix  - ушло такое же письмо + заголовки от Postfix.

В настройках постфикса. Ему может быть все равно, какой размер письма он принимает.
А конечному серверу которому адресовано письмо - не все равно...


"Postfix+Exchange размер почтовых сообщений"
Отправлено rr , 18-Май-11 16:16 
>[оверквотинг удален]
>> - нет ящиков.
> Настройками постфикса. Ему может быть все равно, какой размер письма он принимает.
>>>> на Exchange и уже от сервера Exchange получает отказ по причине
>>>> превышения максимально разрешенного размера собщения.
>>> Логично.
>> И в чем логика? Кодирование произошло на клиенте. Кодированное письмо пришло на
>> Postfix  - ушло такое же письмо + заголовки от Postfix.
> В настройках постфикса. Ему может быть все равно, какой размер письма он
> принимает.
> А конечному серверу которому адресовано письмо - не все равно...

Но в топике указано. что установлено ограничение в Postfix 30Мб.


"Postfix+Exchange размер почтовых сообщений"
Отправлено back2base , 18-Май-11 17:15 
Я прошу прощения, я ошибся 27 мб вложение с внешнего адреса через Postfix тоже не прошло а то что прошло (21 Мб) заткнулось на сервере Exchange но это уже оказалась проблема в настройках транспортного сервера-концентратора, там оказалось ещё одно место где надо было увеличить дефолтные 10 мб до 30, после этого вложение прошло.
Но в принципе я получил ответ который проясняет почему по SMTP сообщения которые вроде подпадают под лимит все равно не проходят. Например вот 23 мб вложение уже не проходит через SMTP сервер с 30Мб ограничением.

"Postfix+Exchange размер почтовых сообщений"
Отправлено rr , 18-Май-11 17:17 
> Я прошу прощения, я ошибся 27 мб вложение с внешнего адреса через
> Postfix тоже не прошло а то что прошло (21 Мб) заткнулось
> на сервере Exchange но это уже оказалась проблема в настройках транспортного
> сервера-концентратора, там оказалось ещё одно место где надо было увеличить дефолтные
> 10 мб до 30, после этого вложение прошло.
> Но в принципе я получил ответ который проясняет почему по SMTP сообщения
> которые вроде подпадают под лимит все равно не проходят. Например вот
> 23 мб вложение уже не проходит через SMTP сервер с 30Мб
> ограничением.

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


"Postfix+Exchange размер почтовых сообщений"
Отправлено back2base , 18-Май-11 17:35 
> В клиенте в отправленных посмотри размер сообщения, он уже больше будет чем
> просто сумма вложений.

В Outlookе есть графа размер но значение совпадает с размером вложения.


"Postfix+Exchange размер почтовых сообщений"
Отправлено back2base , 18-Май-11 17:38 
>> В клиенте в отправленных посмотри размер сообщения, он уже больше будет чем
>> просто сумма вложений.
> В Outlookе есть графа размер но значение совпадает с размером вложения.

Хотя это и логично Outlook не использует SMTP при отправке через Exchange.


"Postfix+Exchange размер почтовых сообщений"
Отправлено rr , 18-Май-11 17:39 
>> В клиенте в отправленных посмотри размер сообщения, он уже больше будет чем
>> просто сумма вложений.
> В Outlookе есть графа размер но значение совпадает с размером вложения.

У меня не Outlook, но даже в сохранненом черновике размер уже сильно отличается.


"Postfix+Exchange размер почтовых сообщений"
Отправлено LSTemp , 18-Май-11 21:04 
>>> В клиенте в отправленных посмотри размер сообщения, он уже больше будет чем
>>> просто сумма вложений.
>> В Outlookе есть графа размер но значение совпадает с размером вложения.
> У меня не Outlook, но даже в сохранненом черновике размер уже сильно
> отличается.

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

PS
обычно вложения раза в полтора "разбухают" при пересылке (читай после кодировки)...


"Postfix+Exchange размер почтовых сообщений"
Отправлено LSTemp , 18-Май-11 20:54 
> Уважаемые коллеги помогите разобраться или объясните причину такой ситуации.
> Есть связка Postfix relay на FreeBSD + сервер Exchange 2010.
> Есть настройки разрешающие максимальный размер почтового сообщения 30 мб как на Postfix
> так и на Exchange. Однако вот что происходит:
> При отправке письма с Exchange с вложением 27мб на внешний адрес получаю
> отчет о не доставке:

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

>[оверквотинг удален]
> и попытайтесь снова отправить его.
> Следующая организация отклонила сообщение: postfix.domain.name (это мой relay server)"
> Если я отправляю тоже самое сообщение с ящика Exchange на другой ящик
> Exchange то все проходит нормально. Глобальное ограничение транспорта Exchange всё те
> же 30 Мб.
> Если я отправляю тоже сообщение (27 Мб) с внешнего адреса например майл.ру
> то вижу что теперь Postfix обрабатывает сообщение затем пересылает его внутрь
> на Exchange и уже от сервера Exchange получает отказ по причине
> превышения максимально разрешенного размера собщения.
> Может кто сталкивался и может объяснить почему это происходит?