|
Вставить картинку в текст письма. | ☑ | ||
---|---|---|---|---|
0
Zombi
07.06.24
✎
09:45
|
Пытаюсь отправить письмо с картинкой в тексте письма. Делаю по примеру:
Профиль = Новый ИнтернетПочтовыйПрофиль; Профиль.АдресСервераSMTP = "192.168.0.192"; Профиль.ПортSMTP = "25"; Почта = Новый ИнтернетПочта; Письмо = Новый ИнтернетПочтовоеСообщение; Текст = " |<h3> Привет !</h3> |Это письмо с вложенной картинкой.<br /> |Картинка:<br /> |<img src=""file:///F:/Base/ШтрТест.png"" /><br /> |Конец письма. |"; Письмо.Тексты.Добавить(Текст,ТипТекстаПочтовогоСообщения.HTML); Письмо.ОбработатьТексты(); Письмо.Тема = "Уведомление о готовности заказа"; Письмо.Отправитель = "report@111.ru"; Письмо.ИмяОтправителя = "НашаОрганизация"; Письмо.Получатели.Добавить(АдресУведомления); Попытка Почта.Подключиться(Профиль); Почта.Послать(Письмо); Исключение КонецПопытки; Почта.Отключиться(); Письмо получаю вот такое: ![]() https://disk.yandex.ru/i/bBRD1qs4Biny1Q В отладчике смотрю, после метода ОбработатьТексты вот такой текст письма: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head content="text/html" http-equiv="Content-Type" charset=""></head><body><h3> Привет !</h3> Это письмо с вложенной картинкой.<br> Картинка:<br><img src="cid:0f647a99-b22a-43f6-a4e6-d8d3b1f18994"></img><br> Конец письма. </body></html> Вложение письма тоже заполнено: https://disk.yandex.ru/i/B1RYVwyj1tvgPA Идентификатор вложения совпадает с идентификатором в теле. Почему в письме картинка битая? |
1 15 27 29 |
||
1
Ёпрст
07.06.24
✎
09:47
|
||||
2
Ёпрст
07.06.24
✎
09:47
|
воткни ужо картинку в строку base64 и пихай её в html
|
|||
3
Zombi
07.06.24
✎
09:56
|
ИмяФайла = "F:\Base\ШтрТест.png";
ФайлСФото = Новый ДвоичныеДанные(ИмяФайла); Так? Дальше как пихнуть в html? |
|||
4
Zombi
07.06.24
✎
10:11
|
КартинкаСтрока = Base64Строка(ФайлСФото);
Вот так наверное надо еще... Дальше как быть? |
6 |
||
5
Тихий омут
07.06.24
✎
10:19
|
Что то вроде "<img src=""data:image/png;base64,"+КартинкаQRКодаВФорматеBase64+""" width=""150"" height=""150"" alt=""QR код""/>", но это не точно
|
|||
6
Ёпрст
07.06.24
✎
10:25
|
(4)
src=""data:image/jpeg;base64,"+ Картинка64 + """ |
|||
7
Ёпрст
07.06.24
✎
10:26
|
ну там, png
|
|||
8
Zombi
07.06.24
✎
11:04
|
Спасибо. Вечером буду пробовать.
|
|||
9
Zombi
25.06.24
✎
10:53
|
Подниму тему. Проблема у меня с добавлением строки base64 в html.
Код такой: ИмяФайла = "F:\Base\ШтрТест.png"; ФайлСФото = Новый ДвоичныеДанные(ИмяФайла); КартинкаСтрока = Base64Строка(ФайлСФото); Письмо = Новый ИнтернетПочтовоеСообщение; Текст = " |<h3> Привет !</h3> |Это письмо с вложенной картинкой.<br /> |Картинка:<br /> |<img src=""data:image/png;base64,"+ КартинкаСтрока + """ /><br /> |Конец письма. |"; //ПочтовоеВложение = Письмо.Вложения.Добавить(ИмяФайла); //cid = Новый УникальныйИдентификатор; //ПочтовоеВложение.Идентификатор = cid; Письмо.Тексты.Добавить(Текст,ТипТекстаПочтовогоСообщения.HTML); Письмо.ОбработатьТексты(); Проблема в том, что Base64Строка(ФайлСФото) возвращает строку с длинной 959 776. В Итоге на строке Письмо.ОбработатьТексты(); 1с долго думает и валится в непонятную ошибку с вот таким невидимым или прозрачным окном. Сама картинка 600 кб весит. В чем косяк?
|
10 12 |
||
10
ЖНЕЦ
25.06.24
✎
10:57
|
(9) попробуй убрать ОбработатьТексты()
|
11 |
||
11
Zombi
25.06.24
✎
11:36
|
(10) Убрал. Такая же ошибка, только на строке Почта.Послать(Письмо);
|
14 |
||
12
Ёпрст
26.06.24
✎
09:48
|
(9) скорее всего, этом:
|
|||
13
Ёпрст
26.06.24
✎
10:10
|
Вот так пробуй, должно взлететь:
Текст = " |<h3> Привет !</h3> |Это письмо с вложенной картинкой.<br /> |Картинка:<br /> |<img src=""F:\Base\ШтрТест.png"" /><br /> |Конец письма. |"; |
15 |
||
14
arsik
26.06.24
✎
10:18
|
||||
15
Zombi
26.06.24
✎
11:42
|
16 |
|||
16
Ёпрст
26.06.24
✎
13:52
|
(15) у меня норм. Что с ОбработатьТексты, что без. Видать, от почты получателя зависит
|
|||
17
Ёпрст
26.06.24
✎
13:52
|
Если путь сетевой к картинке, двойной слеш замени на одинарный
|
19 |
||
18
Ёпрст
26.06.24
✎
13:56
|
У тяможет, в ящике запрещены влржения и показ картинок, в настройках покапайся, там есть, типа покпзать оригинал письма или покпз картинок
|
|||
19
Garykom
26.06.24
✎
14:07
|
(17) Сетевые пути с "\\" лучше не использовать
Часто глючит, лучше на букву диска подключать да |
20 |
||
20
timurhv
26.06.24
✎
14:30
|
(19) А если получатель на Linux?
Лучше уж в base64 |
21 |
||
21
Ёпрст
26.06.24
✎
15:05
|
(20) в base64 1с-ина не могёт, пытается всё, что после тэга img искать файло на диске, выдаст ошибку что файл не найден..
|
|||
22
Максим Нижегородец
26.06.24
✎
15:11
|
Если отправляется в письме HTML и картинка, то картинка должна быть во вложениях письма (И все прокатывает).
|
|||
23
arsik
26.06.24
✎
15:12
|
Нафига это? Вкладываете в письмо картинку. В html id картинки указываете.
|
|||
24
Максим Нижегородец
26.06.24
✎
15:20
|
У получателя этой картинки нет, больше сказать не чего. А в html указывается путь к картинке.
|
|||
25
Zombi
26.06.24
✎
22:51
|
Нашел причину. Мне прислали для теста штрихкод в формате бмп, а по факту это был пдф переименованный в бмп. Причем при открытии какой то программой открывался и не писал нигде что это пдф. Обнаружил случайно, когда в полученном письме попытался скачать вложение и у меня скачался пдф. Сделал нормальный бмп рисунок и все заработало. Спасибо всем.
|
26 28 |
||
26
Волшебник
26.06.24
✎
22:53
|
(25) Ага, спасибо за инфу. 👍
|
|||
27
DrZombi
27.06.24
✎
06:20
|
(0) Оно в 1С не так вставляется.
У картинки есть ИД. Вернее при прикреплении картинки у ней можно указать ИД. И этот же ИД прописывается в теле письма, и вуаля, картинко... Зырь: В сообщении, для отправки прикрепляете свое вложение Используйте Идентификатор, это простой произвольный текст ИнтернетПочтовоеВложение (InternetMailAttachment) Свойства: Данные (Data) Идентификатор (CID) Имя (Name) ИмяФайла (FileName) Кодировка (Encoding) СпособКодирования (EncodingMode) ТипСодержимого (MIMEType) Описание: Вложение в почтовое сообщение представляет собой двоичные данные. //пример генерации СИД-а: cid_ID_0 = СокрЛП(Новый УникальныйИдентификатор()); //Пример в теле письма. Письмо_Тело = Письмо_Тело + " |<br/> |Картинка 'Аналитическая справка'<br/> |<br/> |<img height=""592"" src=""cid:"+cid_ID_0+""" style=""border:none;"" width=""1140""/>"; |
|||
28
DrZombi
27.06.24
✎
06:23
|
(25) И помни, никакого обращения к файлам, все через двоичные данные :)
|
|||
29
DrZombi
27.06.24
✎
06:25
|
+(0) Картинка, которая связана с телом в письме, становится невидимым для получателя, в качестве вложения.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |