Страница 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;
                }
Вроде бы работает. Но вот стоит ли это делать на самом деле...