Страница 1 из 1
Кодировка писем gosuslugi.ru
Добавлено: 2011-02-01 18:34:08
Medison
Не могу прочитать письма с сайта
http://www.gosuslugi.ru, проблемы с кодировкой, сообщения приходят в виде:
---
PP4Q PQ P?P>P;QQP8P;P8 Q QP> P?P8QQP
---
mail.ru - нормально принимает такую почту, но охота у себя решить проблему.
В интернете встречаются аналогичные проблемы, но пишут юзеры, админы молчат.
У меня sendmail + dovecot, есть подозрение, что проблема в Content-Transfer-Encoding, перепробовал разные варианты:
Код: Выделить всё
define(`confDEF_CHAR_SET',`koi8-r')
define(`confSMTP_MAILER', smtp8)
dnl define(`confSMTP_MAILER',`esmtp')
dnl define(`confSEVEN_BIT_INPUT', False)
dnl define(`confEIGHT_BIT_HANDLING', pass8)
Не помогает, хелп?
Re: Кодировка писем gosuslugi.ru
Добавлено: 2011-02-01 18:42:59
Medison
Приведу кусок правильного кода письма на mail.ru:
Код: Выделить всё
Subject: =?UTF-8?B?IHd3dy5nb3N1c2x1Z2kucnU=?=
X-PHP-Originating-Script: 0:vlibMimeMail.php
From: =?utf-8?B?IHd3dy5nb3N1c2x1Z2kucnU=?= <admin@gosuslugi.ru>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="--988e3b0637a0770971533b22de3561e8"
Content-Transfer-Encoding: 7bit
X-Mailer: vlibMimeMail
Message-ID: <20110201140923.546D71CE0A8@sys1.int.gosuslugi.ru>
Received-SPF: None (sdz02ex001.rostelecom.ru: admin@gosuslugi.ru does not
designate permitted sender hosts)
X-Spam: Not detected
X-Mras: Ok
X-EsetId: 65FF6221AE893B3632B9
----988e3b0637a0770971533b22de3561e8
Content-Type: multipart/alternative;
boundary="--62b369707a61545780bb85db07527c07"
----62b369707a61545780bb85db07527c07
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: 8bit
<div style="background-color: #3264A1;"><img src="cid:image.vlib@vlib" alt="" border="0" height="90" width="650"></div><br/>а?аДб?аАаВб?б?аВб?аЙб?аЕ, а?аЕаНаИб? а?аЛаЕаКб?аАаНаДб?аОаВаИб?!<br><br>
И кусок неправильного кода письма у меня на серваке:
Код: Выделить всё
Subject: =?UTF-8?B?0KHQvNC10L3QsCDQv9Cw0YDQvtC70Y8g0LTQu9GPIHd3dy5nb3N1c2x1Z2k=?= =?UTF-8?B?LnJ1?=
X-PHP-Originating-Script: 0:vlibMimeMail.php
From: =?utf-8?B?0KHQuNGB0YLQtdC80LAg0YHQvNC10L3RiyDQv9Cw0YDQvtC70Y8gIHd3dy5nb3N1c2x1Z2kucnU=?=
<admin@gosuslugi.ru>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="--dcf9a121611d699570b295a9b0999c00"
Content-Transfer-Encoding: 7bit
X-Mailer: vlibMimeMail
Message-ID: <20110201150402.AE0AF1CE04F@sys1.int.gosuslugi.ru>
Received-SPF: None (sdz02ex001.rostelecom.ru: admin@gosuslugi.ru does not
designate permitted sender hosts)
----dcf9a121611d699570b295a9b0999c00
Content-Type: multipart/alternative;
boundary="--600f0b1be25d9b268a7c8ba9809fdfc1"
----600f0b1be25d9b268a7c8ba9809fdfc1
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: 8bit
<div style="background-color: #3264A1;"><img src="cid:image.vlib@vlib" alt="" border="0" height="90" width="650"></div><br/>PP4Q
PQ P?P>P;QQP8P;P8 Q
QP> P?P8QQP<P> P?P>QP>P<Q, QQP> P2Q (P;P8P1P> P:QP>-QP>
В чем может быть проблема?
Re: Кодировка писем gosuslugi.ru
Добавлено: 2011-02-01 21:25:12
blade_007
Не скажу, что хорошо знаком с sendmail, но может стоит поменять/добавить:
Код: Выделить всё
define(`confEIGHT_BIT_HANDLING', `mime')dnl
define(`confDEF_CHAR_SET', `iso-8859-1')dnl
Re: Кодировка писем gosuslugi.ru
Добавлено: 2011-02-04 19:01:06
Medison
blade_007 писал(а):Не скажу, что хорошо знаком с sendmail, но может стоит поменять/добавить:
Код: Выделить всё
define(`confEIGHT_BIT_HANDLING', `mime')dnl
define(`confDEF_CHAR_SET', `iso-8859-1')dnl
Не помогло

Re: Кодировка писем gosuslugi.ru
Добавлено: 2011-02-15 19:17:05
ASY
Если включить подробный лог, то всё становится очевидным:
MAIL FROM:<system-at-gosuslugi-dot-ru> SIZE=20044 AUTH=<> BODY=7BIT
А в теле - некодированный в 7bit utf8. Sendmail честно режет 8-ой бит. Ну а в BODY=7BIT, подозреваю, не последнее участие принял
220 sdz02ex001.rostelecom.ru Microsoft ESMTP MAIL Service ready at Tue, 15 Feb 2011 19:14:08 +0300
который, наверное, среагировал на ненужный, в данном сообщении, Content-Transfer-Encoding: 7bit. В общем, трясти надо gosuslugi.ru по поводу формата сообщения, а Ростелеком - по поводу чуднОго продукта Microsoft ESMTP MAIL.
Re: Кодировка писем gosuslugi.ru
Добавлено: 2011-03-24 12:54:18
ASY
С конца февраля пытаюсь вразумить техподдержку gosuslugi.ru. Пока упираются. Суть претензии основана на RFC2821, в котором предписывается не использовать 8-битные символы:
An originating SMTP client which has not successfully negotiated an appropriate extension with a particular server MUST NOT transmit messages with information in the high-order bit of octets. If such messages are transmitted in violation of this rule, receiving SMTP servers MAY clear the high-order bit or reject the message as invalid.
Правда дальше предлагается и третий вариант поведения: принять, как есть. Но Sendmail использует первый вариант: "receiving SMTP servers MAY clear the high-order bit". В RFC 5321 это место осталось практически без изменений.
Ответы техподдержки gosuslugi.ru пока звучат в виде "Вы можете указать другой адрес электронной почты." Последний ответ, который я получил вчера, уже звучит несколько иначе:
"Процент обращений с указанной им проблемой по не читаемости наших отправлений ничтожно мал, в связи с чем мы не можем данное обращение рассматривать как ошибку."
В общем, не надо скрывать проблему, надо им жаловаться, больше. Кроме того, позавчера я попробовал описать ситуацию на
www.rsoc.ru, посмотрю, что ответят оттуда... Отпишусь.
Re: Кодировка писем gosuslugi.ru
Добавлено: 2013-09-08 18:50:56
ASY
Забыл отписаться. Приходил ответ на обращение через
http://www.rsoc.ru, обещали разобраться. Не так давно вспомнил про эту историю. Что смог найти, проверил. Вроде бы, теперь нормально шлётся от них. Но, вообще-то, я тогда код посмотрел. В Sendmail реакция на BODY=7BIT достаточно легко отключается. В srvrsmtp.c надо заменить "SevenBitInput = true" на "SevenBitInput = false", вот тут:
Код: Выделить всё
else if (sm_strcasecmp(vp, "7bit") == 0)
{
SevenBitInput = true;
}
Вроде бы работает. Но вот стоит ли это делать на самом деле...