Имя: Пароль:
1C
1С v8
Отправка Email из 1С в виде HTML с картинками.
,
0 kiabs
 
25.10.13
12:15
Доброго дня.
Отправляю из 1С электронную почту, но не могу понять одного, как в сообщение вставить картинки? Вне вложения, а что бы они были в самом сообщении. В качестве текста сообщения передаю код HTML, в нем есть вставленные картинки src = "image002.jpg" , image002.jpg добавляю во вложения, но в самом сообщении они все равно не отображаются. Как решить проблему?
1 almar
 
25.10.13
12:17
(0) Выполни команду Текст.ОбработатьТексты()
2 almar
 
25.10.13
12:18
То есть Сообщение.ОбработатьТексты();
3 Armando
 
25.10.13
12:20
ОбработатьТексты

При пересылке HTML текста, в нем могут содержаться различные данные, например картинки. В HTML документе они могут быть представлены как ссылка на локальный ресурс и, если у получателя по такой же ссылке нет этих данных, в HTML документе данные не будут отображаться. Для того, что бы этого не случилось, используется метод ОбработатьТексты() (или во втором параметре метода Послать() указать ОбработкаТекстаИнтернетПочтовогоСообщения.НеОбрабатывать – используется по умолчанию). Этот метод вставляет данные в тело сообщения как вложение с заменой ссылки на локальный ресурс локальной ссылкой на часть почтового сообщения. При приеме таких писем отделить вложение от объекта HTML документа можно по непустому свойству ИнтернетПочтовоеВложение.Идентификатор. Например:

Копировать в буфер обмена
Картинки = ЭлементыФормы.HTMLДокумент.Документ.all.tags("img");
Для Инд = 0 По Картинки.length - 1 Цикл Картинка = Картинки.item(Инд);
    Для каждого Вложение Из Сообщение.Вложения Цикл
        Если ("cid:" + Вложение.Идентификатор = Картинка.href) Тогда
            ВременныйФайл = ПолучитьИмяВременногоФайла();
            Вложение.Данные.Записать(ВременныйФайл);
            Картинка.src = ВременныйФайл;
        КонецЕсли;
    КонецЦикла;
КонецЦикла;      
Вначале элементу ПолеHTMLДокумента присваивается HTML текст сообщения. Затем перебираются все элементы HTML документа с именем тега "IMG". Для каждого элемента в цикле ищется вложение с таким же идентификатором и если находится такое вложение, оно сохраняется во временном файле, а в HTML документе прописывается ссылка к этому файлу.

Некоторые старые почтовые клиенты могут корректно принимать сообщения только с простым текстом. Метод ОбработатьТексты() также автоматически создает в сообщении две части идентичного текста, одна из которых имеет тип текста HTML, а другая – ПростойТекст. Принимающий почтовый клиент выбирает тот тип текста, который сможет показать корректно.

Почтовое сообщение состоит из заголовка и нескольких частей, включающих в себя текстовые данные и/или бинарные. Так же как и бинарных данных (вложений) текстовых может быть тоже несколько частей. Для создания этих частей существует коллекция ИнтернетТекстыПочтовогоСообщения.
http://its.1c.ru/db/metod81#content:2352:1
4 kiabs
 
25.10.13
12:20
(1) не прокатило