Здравствуйте.
Помогите, пожалуйста, разобраться с проблемой. Некоторые письма моим пользователям приходят не до конца (обрезанные). То есть письма уже на сервере лежат в усечённом виде. Замечено, что при этом в заголовке письма имеется запись:
X-MIME-Autoconverted: from 8bit to quoted-printable by my.serverВ инете нашла информацию, что это связанно с тем, что при доставке моим пользователям почты, почтовый сервер отправителя получает от нашего почтового сервера сообщение о невозможности принятия им русского текста (8bit). Серверу отправителю приходится кодировать русский текст так, что бы мой сервер все-таки мог принять письмо (7bit).
Подскажиет, как в Sendmail можно решить эту проблему? Письма режутся не всегда, но бывает что в день и по 3-5 писем обрежет.
Все или только от некоторых отправителей? Был у OutlookExpress такой глюк, что письма обрезались при отправке, исправлялось все обновлением для винды.
>Все или только от некоторых отправителей? Был у OutlookExpress такой глюк, что
>письма обрезались при отправке, исправлялось все обновлением для винды.Нет не все, только от некоторых отправителей. Только дело в том, что мы просили отправить письмо на несколько эл. адресов и в результате обрезанное получили только мы.
Потом нашла такое сообщение на мою тему:
"Это рассматривается скорее как проблема MUA, чем проблема MTA.
Рассказывает Эрик Аллман:
Во-первых, информация о необходимости выполнения кодирования (то есть 8- > 7 бит) является неизвестной для MTA. В особенности, набор символов, использующийся для кодирования названия в заголовках НЕ обязательно тот же самый, какой используется для кодирования тела (которое уже закодировано в MIME в параметре набора символов Content-Type: header). Кроме того, это совершенно разумно для, скажем, шведа, живущего и работающего в Корее, или русского, живущего и работающего в Германии, и желающих, чтобы их имена были закодированы в их родном наборе символов; может быть даже то, что отправитель японец, получатель русский, и тело закодировано в ISO 8859-1. Если все, что я имею - 8-разрядные символы, я не могу выбирать набор символов должным образом.
Точно так же при выполнении 7- > 8 битного преобразования я не хочу отбрасывать эту информацию, поскольку она необходима для правильного представления конечному пользователю. "Подскажите почему же тогда не все письма от одного и того же пользователя режутся и почему другие сервера их воспринимают нормально, а наш нет?
>[оверквотинг удален]
>X-MIME-Autoconverted: from 8bit to quoted-printable by my.server
>
>В инете нашла информацию, что это связанно с тем, что при доставке
>моим пользователям почты, почтовый сервер отправителя получает от нашего почтового сервера
>сообщение о невозможности принятия им русского текста (8bit). Серверу отправителю приходится
>кодировать русский текст так, что бы мой сервер все-таки мог принять
>письмо (7bit).
>
>Подскажиет, как в Sendmail можно решить эту проблему? Письма режутся не всегда,
>но бывает что в день и по 3-5 писем обрежет.попробуйте:
define(`confSMTP_MAILER', `smtp8')
еще лучше почитайте cf/README в дереве исходников sendmail
confSEVEN_BIT_INPUT SevenBitInput [False] Force input to seven bits?
confEIGHT_BIT_HANDLING EightBitMode [pass8] 8-bit data handlingнужно прочитать RFC на эту тему и op.me документацию sendmail,
должно быть что-то вроде:define(`confEIGHT_BIT_HANDLING', `pass8')
dnl Add 8bit to ALL SMTP/ESMTP/SMTP8
define(`SMTP_MAILER_FLAGS', `8')
define(`confSMTP_MAILER', `smtp8')но вот с ESMTP могут быть ньюансы, возможно его нужно за'disable'ить
>[оверквотинг удален]
>
>нужно прочитать RFC на эту тему и op.me документацию sendmail,
>должно быть что-то вроде:
>
>define(`confEIGHT_BIT_HANDLING', `pass8')
>dnl Add 8bit to ALL SMTP/ESMTP/SMTP8
>define(`SMTP_MAILER_FLAGS', `8')
>define(`confSMTP_MAILER', `smtp8')
>
>но вот с ESMTP могут быть ньюансы, возможно его нужно за'disable'итьСпасибо почитаем сейчас. В логах ещё есть запись
DSN: Return receipt
это когда сообщение обрезается. Видимо надо увеличивать уровень логов и на процесс доставки смотреть.
Кстати, а подобные записи не могут способствовать обрезке? Они в конфиге у меня.
define(`confMAX_MIME_HEADER_LENGTH', `256/128')
define(`confNO_RCPT_ACTION', `add-to-undisclosed')
confMAX_MIME_HEADER_LENGTH - это ведь максимальная длина определенных значений полей заголовка MIME.
>[оверквотинг удален]
>>define(`confEIGHT_BIT_HANDLING', `pass8')
>>dnl Add 8bit to ALL SMTP/ESMTP/SMTP8
>>define(`SMTP_MAILER_FLAGS', `8')
>>define(`confSMTP_MAILER', `smtp8')
>>
>>но вот с ESMTP могут быть ньюансы, возможно его нужно за'disable'ить
>
>Спасибо почитаем сейчас. В логах ещё есть запись
>
>DSN: Return receiptэто уведомление и к обрезке не должно относится
>это когда сообщение обрезается. Видимо надо увеличивать уровень логов и на процесс
>доставки смотреть.угу
>Кстати, а подобные записи не могут способствовать обрезке? Они в конфиге у
>меня.
>define(`confMAX_MIME_HEADER_LENGTH', `256/128')это ограничение на заголовки вложения, закоментируйте и by default будет
2048/1024>define(`confNO_RCPT_ACTION', `add-to-undisclosed')
>confMAX_MIME_HEADER_LENGTH - это ведь максимальная длина определенных значений полей заголовка MIME.спросите или посмотрите какой MTA с другой стороны (от кого у вас проблематичный прием)
>[оверквотинг удален]
>>доставки смотреть.
>
>угу
>
>>Кстати, а подобные записи не могут способствовать обрезке? Они в конфиге у
>>меня.
>>define(`confMAX_MIME_HEADER_LENGTH', `256/128')
>
>это ограничение на заголовки вложения, закоментируйте и by default будет
>2048/1024пасиб. не нашала дефолтных значений
>
>>define(`confNO_RCPT_ACTION', `add-to-undisclosed')
>>confMAX_MIME_HEADER_LENGTH - это ведь максимальная длина определенных значений полей заголовка MIME.
>
>спросите или посмотрите какой MTA с другой стороны (от кого у вас
>проблематичный прием)знать почтовик других это хорошо. Но просто завтра на их месте может и другой оказаться. Надо проблемку решить. К тому же я и у других пользователей видела проблемы
в заголовке письма, а само письмо состояло из строчек типа:
=E1=CE=C7=CC=C9=CA=D3=CB=C9=C5 =CB=D2=CF=CC=C9=CB=C9, а это кодировка quoted-printable и там тоже в X-MIME-Autoconverted: from 8bit to quoted-printable by my.server было.после вашего поста + к вашему предложенному решению нашла ещё пару вариантов решения :
----------------Обучаем Sendmail понимать великий и могучий:
define(`confDEF_CHAR_SET', `koi8-r')
define(`confSEVEN_BIT_INPUT', False)
define(`confEIGHT_BIT_HANDLING', `pass8')--------------
Вот все, что касается восьмого бита на работающей системе с 8.12.6:
define(`confSMTP_MAILER', `esmtp')dnl
define(`confEIGHT_BIT_HANDLING',`pass8')dnl
define(`confDEF_CHAR_SET', `koi8-r')dnl
MAILER(smtp)dnl
MODIFY_MAILER_FLAGS(`SMTP',+8')dnl
что-то должно помочь, думаю.
>>спросите или посмотрите какой MTA с другой стороны (от кого у вас
>>проблематичный прием)
>
>знать почтовик других это хорошо. Но просто завтра на их месте может
>и другой оказаться. Надо проблемку решить. К тому же я и
>у других пользователей видела проблемы
>в заголовке письма, а само письмо состояло из строчек типа:
>=E1=CE=C7=CC=C9=CA=D3=CB=C9=C5 =CB=D2=CF=CC=C9=CB=C9, а это кодировка quoted-printable и там тоже в X-MIME-Autoconverted: from
>8bit to quoted-printable by my.server было.MTA не так много и лучше знать с каким MTA у sendmail возникает проблема,
легче найти в google или yandex'еМаймится может и должены: header письма и body письма
>[оверквотинг удален]
>Вот все, что касается восьмого бита на работающей системе с 8.12.6:
>
>define(`confSMTP_MAILER', `esmtp')dnl
>define(`confEIGHT_BIT_HANDLING',`pass8')dnl
>define(`confDEF_CHAR_SET', `koi8-r')dnl
>MAILER(smtp)dnl
>MODIFY_MAILER_FLAGS(`SMTP',+8')dnl
>
>
>что-то должно помочь, думаю.если память не изменяет, то тупой Exchange не умел когда-то при EHLO сообщать
о 8bitmime и в этом случае были проблемы с преобразованием 7bit -> 8bit,
из-за этого sendmail'у следовало принудительно задавать только SMTP транспорт,
отрубая ESMTP (sorry, мб что напутал, пишу по памяти)
>[оверквотинг удален]
>>MODIFY_MAILER_FLAGS(`SMTP',+8')dnl
>>
>>
>>что-то должно помочь, думаю.
>
>если память не изменяет, то тупой Exchange не умел когда-то при EHLO
>сообщать
>о 8bitmime и в этом случае были проблемы с преобразованием 7bit -> 8bit,
>из-за этого sendmail'у следовало принудительно задавать только SMTP транспорт,
>отрубая ESMTP (sorry, мб что напутал, пишу по памяти)Спасибо, lavr. Попробую узнать и покопаться в этом направлении.
>[оверквотинг удален]
>>>
>>>что-то должно помочь, думаю.
>>
>>если память не изменяет, то тупой Exchange не умел когда-то при EHLO
>>сообщать
>>о 8bitmime и в этом случае были проблемы с преобразованием 7bit -> 8bit,
>>из-за этого sendmail'у следовало принудительно задавать только SMTP транспорт,
>>отрубая ESMTP (sorry, мб что напутал, пишу по памяти)
>
>Спасибо, lavr. Попробую узнать и покопаться в этом направлении.Да, вы были правда на той стороне и правда используют Microsoft Exchange
>[оверквотинг удален]
>>>если память не изменяет, то тупой Exchange не умел когда-то при EHLO
>>>сообщать
>>>о 8bitmime и в этом случае были проблемы с преобразованием 7bit -> 8bit,
>>>из-за этого sendmail'у следовало принудительно задавать только SMTP транспорт,
>>>отрубая ESMTP (sorry, мб что напутал, пишу по памяти)
>>
>>Спасибо, lavr. Попробую узнать и покопаться в этом направлении.
>
>Да, вы были правда на той стороне и правда используют Microsoft Exchange
>попробовала:
define(`confEIGHT_BIT_HANDLING', `pass8')
dnl Add 8bit to ALL SMTP/ESMTP/SMTP8
define(`SMTP_MAILER_FLAGS', `8')
define(`confSMTP_MAILER', `smtp8')потом
define(`LOCAL_MAILER_CHARSET', `windows-1251')dnl
define(`confEIGHT_BIT_HANDLING',`pass8')dnl
define(`confDEF_CHAR_SET', `windows-1251')dnlи
define(`confDEF_CHAR_SET', `koi8-r')
define(`confSEVEN_BIT_INPUT', False)
define(`confEIGHT_BIT_HANDLING', `pass8')не помогло
>[оверквотинг удален]
>define(`confEIGHT_BIT_HANDLING',`pass8')dnl
>define(`confDEF_CHAR_SET', `windows-1251')dnl
>
>и
>
>define(`confDEF_CHAR_SET', `koi8-r')
>define(`confSEVEN_BIT_INPUT', False)
>define(`confEIGHT_BIT_HANDLING', `pass8')
>
>не помоглопишите на lavr@unix1.jinr.ru попробуем разобраться