|   |   | 
| 
 | Вставить картинку в текст письма. | ☑ | ||
|---|---|---|---|---|
| 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
    
        Ёпрст 07.06.24✎ 09:47 | 
        (0)
 потамучта вот эта хрень не рабочая file:///F:/Base/ШтрТест.png | |||
| 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Строка(ФайлСФото);
 Вот так наверное надо еще... Дальше как быть? | |||
| 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
    
        ЖНЕЦ 25.06.24✎ 10:57 | 
        (9) попробуй убрать ОбработатьТексты()     | |||
| 11
    
        Zombi 25.06.24✎ 11:36 | 
        (10) Убрал. Такая же ошибка, только на строке Почта.Послать(Письмо);     | |||
| 12
    
        Ёпрст 26.06.24✎ 09:48 | 
        (9) скорее всего,  этом:     
 | |||
| 13
    
        Ёпрст 26.06.24✎ 10:10 | 
        Вот так пробуй, должно взлететь:
 Текст = " |<h3> Привет !</h3> |Это письмо с вложенной картинкой.<br /> |Картинка:<br /> |<img src=""F:\Base\ШтрТест.png"" /><br /> |Конец письма. |"; | |||
| 14
    
        arsik 26.06.24✎ 10:18 | ||||
| 15
    
        Zombi 26.06.24✎ 11:42 | 
        (13) Так отправляется, но картинка в письме битая, как на скриншоте в (0)     | |||
| 16
    
        Ёпрст 26.06.24✎ 13:52 | 
        (15) у меня норм. Что с ОбработатьТексты, что без. Видать, от почты получателя зависит     | |||
| 17
    
        Ёпрст 26.06.24✎ 13:52 | 
        Если путь сетевой к картинке, двойной слеш замени на одинарный     | |||
| 18
    
        Ёпрст 26.06.24✎ 13:56 | 
        У тяможет, в ящике запрещены влржения и показ картинок, в настройках покапайся, там есть, типа покпзать оригинал письма или покпз картинок     | |||
| 19
    
        Garykom 26.06.24✎ 14:07 | 
        (17) Сетевые пути с "\\" лучше не использовать
 Часто глючит, лучше на букву диска подключать да | |||
| 20
    
        timurhv 26.06.24✎ 14:30 | 
        (19) А если получатель на Linux?
 Лучше уж в base64 | |||
| 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
    
        Волшебник 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) Картинка, которая связана с телом в письме, становится невидимым для получателя, в качестве вложения.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |