#0
by Armando
Уже была тема При отправке почты на некоторые адреса появляется сообщение об ошибке "SMTP error code 500, 5.3.3 Unrecognized command" Столкнулся с такой же проблемой. Платформа 8.2.18.109. На 16 платформе такого не было. Кто-нибудь сталкивался?
#4
by Armando
Нашел причину. Кому интересно, проблема в том, что в теле сообщения содержится строка, где содержится только точка. До пользователя доходит сообщение с текстом до этой точки. Например, сообщение: абв где жзи . клм Пользователь получит: абв где жзи Как мне потом сообщил знающий человек - "точка" для сервера это команда отправки сообщения. А ошибка появляется потому что сообщение уже отправлено "точкой", а 1С пытается его отправить своей командой "Послать". Сервер просто не понимает чего от него хотят.
#5
by User_Agronom
Гм. А если сообщение из нескольких предложений? И как их разделять? Почему Thunderbird нормально шлёт с точками?
#6
by Armando
В строке должна быть только точка. Если в строке есть что-то еще кроме точки, то ошибки не будет. Почтовые клиенты как-то обходят это.
#8
by Armando
+ Это описано в RFC 2821 The mail data is terminated by a line containing only a period, that is, the character sequence "<CRLF>.<CRLF>" (see section 4.5.2). This is the end of mail data indication.
#14
by oleg_km
Для того, чтобы отправка писем не зависело от содержания и применяют например base64 кодирование. Если бы исходный текст, содержащий пустые строчки с точкой был предварительно base64 закодирован, то при передаче в протокол уже бы не попали лишние управляющие последовательности
#15
by Armando
Но тогда на другом конце его надо раскодировать. Получатель (пользователь) не будет же самостоятельно это делать. Или это как-то автоматически разруливается? Мне как раз предстоит решить эту проблему сообщений с точками.
#16
by oleg_km
Ну это как раз в РФЦ и прописано, так называемое MIME-кодирование. Каждый компонент письма имеет заголовок, где в том числе и указывается примененное кодирование, соответственно клиент читает этот заголовок и применяет соответствующее раскодирование. Не знаю как это реализовано в 1С ИнтернетПочта, давно не пользую.
#18
by Armando
Странно. На ИТС нанписано Протокол SMTP позволяет посылать только текстовые данные, при этом отводя на каждый октет (символ) только 7 или 8 бит. Все текстовые данные сообщения посылаются в Unicode (16 бит на символ), поэтому необходимо предварительное конвертирование в UTF-8. UTF-8 кодирует один символ текста от одного до четырех байт по 8 бит каждый. Но UTF-8 строка является бинарными данными, а для почтовых протоколов это не приемлемо. Таким образом, полученная UTF-8 строка еще дополнительно кодируется (не путать с шифрованием) по методу base64. А вот что в исходнике письма: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit
#19
by Armando
Короче, не стал париться. Сделал отправку в HTML. Но интересно было бы узнать православное решение.
#20
by oleg_km
Не знаю, какое решение является православным, сам уже давно не пользуюсь встроенными в 1С объектами. Принятую почту "раскодирую" с помощью CDO, исходящую почту формирую вручну по стандарту, это не так сложно. Просто в свое время жестоко обломался в ИнтернетПочта, осадочек остался
#21
by Armando
У меня немного другой подход к разработке. По максимуму использую объекты платформы. Ибо кроссплатформенность и вообще. Спасибо, что навел на мысль.
#22
by oleg_km
Флаг в руки. Я тоже не от любви к искусству убежал на CDO. Долго жрал кактусы, но теперь плюнул на это дело. Мне кажется 1С распыляется в данном случае: всякие там интернет почты, географические схемы и пр. фигня. Лучше бы просто сделали встроенную поддержку .NET и/или Java. Тогда бы кому нужно все эти системные штучки приделывали сами, появились бы разные библиотечки (ну там готовые обработки). А то они же сами не верят в свои поделки. В БП для ЭДО используется отнють не ИнтернетСоединение, а специальная ВК, лежащая в архиве (по крайней мере в 2.0 так было вроде).
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- При отправке сообщения произошла ошибка : Общая ошибка MAPI
- Ошибка при вызове метода контекста (Подключиться): Неизвестная ошибка (SMTP erro
- v8 строка подключения V8.Connect
- Волшебнику и всем кто поможет по теме "v8 УРБД на v8 за четыре шага"
- v8: при v8 = Новый COMОбъект("V8.Application") дает ошибку ..
- v8: Не могу подключиться из V8 к V8
- v8: есть ли аналоги openconf для 1с v8
- v8: Как удалить 1С v8 ?
- Ошибка при вызове метода контекста (Послать): SMTP error code 503
- Ошибка при отправке почты (SMTP error code 535)
- Ошибка отправки почты - smtp error 504
- v8: Ошибка СУБД. Внутренняя ошибка компоненты DBENG8 при обмене данными
В этой группе 1С
- Сопряжение: Касса (1С) - Оплата картой - банковский терминал - регистрация в 1С
- Обмен в 1С Расширение для КПК
- УПП 1.3.40.1 Забалансовые счета МЦ
- Обмен данными УТ->БП: "не замещать существующие объекты в приемнике"
- Проблема с Access DataBase Engine
- Отладка внешней обработки заполнения табличной части
- 1С 8: Обычное приложение. Как прочитать параметр переданный при открытии формы?
- Конвертация данных. Обновление номенклатуры через значения свойств объектов
- Что влияет на скорость записи регистров накопления.
- Ошибка "Поле объекта не обнаружено (ТипКода)"
- Хранение файлов УНФ
- Получение текста из memo поля в access через ado
- v8: Ошибка при копировании файла на FTP ресурс:timeout was reached,обмен РИБ
- УПП Корректировка реализации
- СКД РН остатки выбор периода через запрос
- Мобильная торговля. Какая лучше?
- Ошибка записи документов после загрузки из ЭДО
- При проверке документа в СУФД ошибка: $.gritter is undefined
- Форматированный документ
- КД, БП-УТ, страна происхождения и номер гтд в серию номенклатуры