|
Отправка письма в виде HTML | ☑ | ||
---|---|---|---|---|
0
Sasha_H
21.11.12
✎
18:14
|
есть поле ФорматированныйДокумент
ФорматированныйТекст = Задание.ХранилищеТекста.Получить(); ТекстHTML = ""; Вложения = Новый Структура; ФорматированныйТекст.ПолучитьHTML(ТекстHTML,Вложения); Почта = Новый ИнтернетПочта(); Попытка Почта.Подключиться(ПочтовыйПрофиль); Исключение Сообщить("ОБМЕН: Ошибка при подключении к почтовому профилю! Обмен не выполнен! " + ОписаниеОшибки(), СтатусСообщения.ОченьВажное); Возврат; КонецПопытки; ПочтовоеСообщение = Новый ИнтернетПочтовоеСообщение; МассивОтправителя = ОбщегоНазначенияКлиентСервер.РазобратьСтрокуСПочтовымиАдресами(НастройкиТекущегоПользователя.Отправитель); ПочтовоеСообщение.Отправитель = МассивОтправителя.Получить(0).Адрес; ПочтовоеСообщение.Тема = СтруктураПисьма.Тема; ПочтовоеСообщение.Важность = ВажностьИнтернетПочтовогоСообщения.Высокая; ПочтовоеСообщение.Тексты.Добавить(СтруктураПисьма.ТелоСообщения,ТипТекстаПочтовогоСообщения.HTML); Почта.Послать(ПочтовоеСообщение); Здесь падает на ошибке "файл не обнаружен image001" дело в том что в форматированном документе есть картинка, как корректно отправить такое сообщение? |
|||
1
Sasha_H
21.11.12
✎
18:17
|
СтруктураПисьма.ТелоСообщения = ТекстHTML
|
|||
2
Юрий Лазаренко
21.11.12
✎
18:17
|
(0) Картинки надо добавить как вложения. Разбери форматированный документ на текст и картинки, добавь картинки как вложения - тогда отправится. Код не помню, года 2 назад последний раз с этим сталкивался, но в типовых или в БСП легко найдешь пример.
|
|||
3
Sasha_H
21.11.12
✎
18:17
|
просто процедуру всю не стал сюда представлять.
|
|||
4
Sasha_H
21.11.12
✎
18:18
|
Вложения - есть данная картинка.
Вопрос еще в том, ее надо сохранять на диск или так можно? |
|||
5
Юрий Лазаренко
21.11.12
✎
18:26
|
(4) Насколько помню - не надо на диск, она в базе сохраняется
|
|||
6
Sasha_H
21.11.12
✎
18:53
|
чет ругается
сохранил на диск, проверил есть файл. ПочтовоеСообщение.Вложения.Добавить(ПутьКФайлу,"image001"); "image001" - специально так написал и всеравно ошибка! |
|||
7
Sasha_H
21.11.12
✎
18:55
|
А вот что в НТМЛ строке:
<p style='line-height: 1.15'><img src='image001' width='796' height='464'/></br></p> |
|||
8
mih_io
21.11.12
✎
18:56
|
для начала определись. Ты хочешь что бы получатель получил картинку во вложении или чтобы картинка была вставлена в тексте письма?
|
|||
9
Sasha_H
21.11.12
✎
18:56
|
как же отправить картинку в почтовом листе?
|
|||
10
Sasha_H
21.11.12
✎
18:57
|
(8) да я определился в тексте письма. Просто в НТМЛ есть такой код (7), ну а картинки то нету, как картинку отпрваить?
|
|||
11
mih_io
21.11.12
✎
18:58
|
если в самом сообщении, то надо чтобы текст сообщения был в виде HTML использовать такую конструкцию
<p style='line-height: 1.15'><img src='C:\pic\image001' width='796' height='464'/></br></p> адрес картинки конечно условный. но надо сохранить её на диск и в теге дать на неё ссылку. никаких дополнительных танцев с вложением делать не надо |
|||
12
Sasha_H
21.11.12
✎
18:58
|
гемор жудкий
|
|||
13
Sasha_H
21.11.12
✎
18:59
|
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(172)}: Ошибка при вызове метода контекста (Послать)
Почта.Послать(ПочтовоеСообщение); по причине: Файл не обнаружен 'image001' |
|||
14
mih_io
21.11.12
✎
19:01
|
ну и к чему ты запостил?
ладно, какая ссылка теге img на картинку? |
|||
15
Sasha_H
21.11.12
✎
19:03
|
Это ошибка при НТМЛ строке (7)
|
|||
16
mih_io
21.11.12
✎
19:04
|
какой путь к картинку говорю у тебя в теге img после src= что написано, прям так как в (7) это неправильно. Там надо писать путь к файлу который лежит на жестком диске
|
|||
17
Sasha_H
21.11.12
✎
19:06
|
(16) я понял.
Поэтому и написал (12) Надо еще парсить строки и заменять. ФорматированныйТекст.ПолучитьHTML(ТекстHTML,Вложения); ТекстHTML - уже содержит нужный НТМЛ с подстановкой тека на картинку |
|||
18
mih_io
21.11.12
✎
19:08
|
Если ты хочешь чтобы картинка была в тексте письма, то только так.
Иначе клади её во вложение |
|||
19
Sasha_H
21.11.12
✎
19:09
|
если даже и класть ее во вложения парсить придется в любом случае и удалять
|
|||
20
Sasha_H
21.11.12
✎
19:09
|
я поняял в чем проблема. буду решать
|
|||
21
Sasha_H
21.11.12
✎
19:20
|
Спс, подмогли с решением. Если что, вот код!
для каждого КлючИЗначение Из Вложения Цикл ИмяФайла = КлючИЗначение.Ключ; ТипКартинка = КлючИЗначение.Значение; АдресВложения = КаталогВременныхФайлов()+ИмяФайла+".jpg"; ТипКартинка.Записать(АдресВложения); ТекстHTML = СтрЗаменить(ТекстHTML,"img src='"+ИмяФайла+"'","img src='"+АдресВложения+"'"); КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |