Страница 5 из 7
					
				libcurl for Clarion
				Добавлено: 03 Сентябрь 2018, 14:57
				 Дед Пахом
				Код: Выделить всё
curl.Body('<html><body><p>СОБСТВЕННО ТЕКСТ ПИСЬМА</p><p><img src="cid:myImage"></p></body></html>')
 
			
					
				libcurl for Clarion
				Добавлено: 03 Сентябрь 2018, 15:14
				 Игорь Столяров
				Дед Пахом писал(а): 03 Сентябрь 2018, 14:57Код: Выделить всё
curl.Body('<html><body><p>СОБСТВЕННО ТЕКСТ ПИСЬМА</p><p><img src="cid:myImage"></p></body></html>')
 
Это я в примере видел (можно ещё и подвал добавить) ... Но это шапка HTML, а не тестовый раздел MIME.
Элементарная задача: отправка отчёта из нескольких листов, как вложенные картинки в e-mail. 
Нельзя даже листы отчёта подписать (пронумеровать) или добавить к вложенным картинкам описания.
Не знаю, насколько мои советы уместны, но каждый вызов Curl.Body() просто должен ДОБАВЛЯТЬ новый раздел в MIME,
тогда всё будет в соответсвии с Вашим описанием: "создаёт несколько mime-частей - для текста, html, вложений"
Что в общем-то и показано для класса TCurlMimeClass - поэтому я за него и схватился.
 
			
					
				libcurl for Clarion
				Добавлено: 03 Сентябрь 2018, 15:21
				 Дед Пахом
				Тело письма либо текст, либо html, нельзя их смешать как Вы хотите - тут текст, тут не текст, тут опять текст, почтовый клиент просто не поймёт. 
Игорь Столяров писал(а): 03 Сентябрь 2018, 15:14каждый вызов Curl.Body() просто должен ДОБАВЛЯТЬ новый раздел в MIME,
 
Если Вы думаете, что почтовый клиент показывает mime-разделы один за другим, то Вы заблуждаетесь. Он показывает один раздел (Body либо AltBody в обычной терминологии).
 
			
					
				libcurl for Clarion
				Добавлено: 03 Сентябрь 2018, 16:11
				 RaFaeL
				Игорь, у вас все-таки путаница в голове. Письмо может содержать N блоков, но при этом не более 1 текстового блока и 1 HTML блока, при этом текстовый блок = HTML без форматирования. Все это можно сделать и через TCurlMailClass. Т.е. нужно сформировать HTML-тело как Body, текстовое тело как AltBody. Некий "отчет" из разных "блоков" как письмо сформировать нельзя независимо от библиотеки
			 
			
					
				libcurl for Clarion
				Добавлено: 03 Сентябрь 2018, 17:22
				 Игорь Столяров
				RaFaeL писал(а): 03 Сентябрь 2018, 16:11Некий "отчет" из разных "блоков" как письмо сформировать нельзя независимо от библиотеки
 
Спасибо. Я понял... 

 Это нужно ручками создавать HTML структуру с рисунками ...
Потому, что письма в HTML формате, в которых графика идёт в перемешку с текстом - создавать можно …
 
			
					
				libcurl for Clarion
				Добавлено: 03 Сентябрь 2018, 18:22
				 RaFaeL
				В данном случае текст это часть HTML-структуры, а рисунок - тот самый inline image
			 
			
					
				libcurl for Clarion
				Добавлено: 03 Сентябрь 2018, 18:53
				 Игорь Столяров
				RaFaeL писал(а): 03 Сентябрь 2018, 18:22В данном случае текст это часть HTML-структуры, а рисунок - тот самый inline image
 
Да, спасибо. Вроде бы стало светлее ...
С теорией конг-фу закончили, переходим к практике. 

 
			
					
				libcurl for Clarion
				Добавлено: 04 Сентябрь 2018, 9:31
				 Игорь Столяров
				Подскажите пожалуйста, а существует вообще какой-либо список типов файлов (расширений),
который допустим к вложению в тело HTML сообщения. Т.е. к которым применим метод Curl.AddEmbeddedImage() ?
Например, вложенные в HTML блок WMF файлы прекрасно показываются в Microsoft Outlook, 
но не показывются в почтовых сервисах Yandex.ru, Mail.Ru и т.д. ...
			 
			
					
				libcurl for Clarion
				Добавлено: 04 Сентябрь 2018, 12:16
				 Дед Пахом
				Вообще говоря, почтовая программа смотрит не на расширение файла, а на mime-тип; в TCurlMailClass файлам WMF присваивается тип 'application/x-msmetafile'.
			 
			
					
				libcurl for Clarion
				Добавлено: 04 Сентябрь 2018, 12:47
				 Игорь Столяров
				Дед Пахом писал(а): 04 Сентябрь 2018, 12:16Вообще говоря, почтовая программа смотрит не на расширение файла, а на mime-тип; в TCurlMailClass файлам WMF присваивается тип 'application/x-msmetafile'.
 
OK ! Понял. 

Переведём вопрос с бытового на профессиональный: существует ли какой-то общепринятый список MIME типов, 
которые визуализируются почтовыми программами ?
 
			
					
				libcurl for Clarion
				Добавлено: 04 Сентябрь 2018, 13:10
				 Дед Пахом
				Игорь Столяров писал(а): 04 Сентябрь 2018, 12:47существует ли какой-то общепринятый список MIME типов, 
которые визуализируются почтовыми программами ?
 
Сам бы хотел знать. Искал - не нашёл.
 
			
					
				libcurl for Clarion
				Добавлено: 31 Октябрь 2020, 11:41
				 morkovin
				Как очистить список файлов для curl.AddAttachment?
В проседуре SendEmail в цикле отправляю сообщение и файл
Код: Выделить всё
  
        curl.AddRecipient( CLIP(ppp:email)) !to/cc/bcc
        Glo:EmailMessageText='Обращение № '& ZVK:ID &'<13,10>'&|
         ....
         ....
         ....      
  curl.UseSSL(CURLUSESSL_ALL)
  curl.SetSSLVerifyPeer(FALSE)  !curl --insecure
  curl.Subject('ВМК1: '&ZVK:ID& ' уведомление')
  curl.Body(CLIP(Glo:EmailMessageText))
  
  curl.AddAttachment(Fname)     ! Fname  ec-есно очищаю и указываю новый
  
Так вот, аттачмент приходит накопительным итогом. Т.е. в первом письме всё нормально - первый аттач,
во втором - первый и второй аттач
в третьем - первый, второй и третий аттач
и т.д.
Где и как мне очистить список для Attachments для каждого шага цикла ?
 
			
					
				libcurl for Clarion
				Добавлено: 31 Октябрь 2020, 11:51
				 Дед Пахом
				Надо вызывать curl.Reset(), который сбрасывает не только список вложений, но и список получателей, и ещё что-то.
			 
			
					
				libcurl for Clarion
				Добавлено: 31 Октябрь 2020, 12:06
				 morkovin
				Дед Пахом писал(а): 31 Октябрь 2020, 11:51
Надо вызывать curl.Reset(), который сбрасывает не только список вложений, но и список получателей, и ещё что-то.
 
Поставил. Ничего не изменилось.
все списки заполняются заново на каждом шаге. Тело письма приходит правильное, а вот вложения накапливаются, даже при отправке на разные емайл
 
			
					
				libcurl for Clarion
				Добавлено: 31 Октябрь 2020, 12:14
				 Дед Пахом
				Версия какая? Reset был добавлен для почты в v1.22.