1
Как сделать вложение в письмо рассылки из поля типа изображение
Автор askalab, 02 марта 2015 17:35
изображения в письме
Сообщений в теме: 7
#1
Отправлено 02 Март 2015 - 17:35
Здравствуйте!
Проблема в прикреплении файлов изображений в шаблон рассылки и поля типа "изображение". Если вставляем так:
Фото квартиры: {$Фото квартиры}
То в итоге в письме такая вот .....: в файл
Как сделать так что бы файлы изображений прикреплялись к письму рассылки как обычное вложение?
Проблема в прикреплении файлов изображений в шаблон рассылки и поля типа "изображение". Если вставляем так:
Фото квартиры: {$Фото квартиры}
То в итоге в письме такая вот .....: в файл
Как сделать так что бы файлы изображений прикреплялись к письму рассылки как обычное вложение?
#2
Отправлено 02 Март 2015 - 21:11
askalab (02 Март 2015 - 17:35) писал:
Здравствуйте!
Проблема в прикреплении файлов изображений в шаблон рассылки и поля типа "изображение". Если вставляем так:
Фото квартиры: {$Фото квартиры}
То в итоге в письме такая вот .....: в файл
Как сделать так что бы файлы изображений прикреплялись к письму рассылки как обычное вложение?
Проблема в прикреплении файлов изображений в шаблон рассылки и поля типа "изображение". Если вставляем так:
Фото квартиры: {$Фото квартиры}
То в итоге в письме такая вот .....: в файл
Как сделать так что бы файлы изображений прикреплялись к письму рассылки как обычное вложение?
Если делать это не в шаблоне, а через доп. действие
Будет как то так
<?php /********Получаем имена прикрепленных файлов из таблицы*************/ $sqlQuery = "SELECT `fXXX` as images FROM `".DATA_TABLE."YYY` WHERE `fZZZ` = 'условие отбора' LIMIT 1"; $result = sql_query($sqlQuery); $row = sql_fetch_assoc($result); $img_string = $row['images']; /************Получим массив имен картинок************/ $my_images = explode("\r\n", $img_string); /************Прикрепляем картинки во вложения**********/ $src_arr = Array(); foreach($my_images as $one_image) { $file_att['name'] = $one_image; // $file_att['disp'] = "inline";//"attachment"; $file_att['type'] = get_file_type($one_image); $file_att['content'] = file_get_contents(get_file_path(XYZ, $id, $one_image)); //$id - ID записи в таблице с картинками,XYX - это id поля с картинками $f_name_arr = explode(".",$file_att['name']); $f_cont_id = $f_name_arr[0].'_'.$f_name_arr[1]; $file_att['Content-ID'] = $f_cont_id; $attach_files[] = $file_att; /**********массив с <img src = cid: для вставки в тело письма *******/ $src_arr[] = '<img src = cid:'.$f_cont_id.'>'; } /*************Теперь можно формировать тело письма********/ $letter = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; utf-8"> <style> table{ padding: 0; border-spacing: 0; } td{ border-style: solid; border-width: 1px; border-color: #000000; } </style> <title>'.$subj.'</title> </head> <body style="background-color:#FFFFFF;font-family:arial,tahoma,verdana">'."\r\n"; $num_image = 0; foreach($src_arr as $one_pict) { /***********Выводим картинки в теле письма******************/ $letter .= 'Картинка: '.$one_pict[$num_image]."\r\n"; $num_image++; } $letter .= "</body></html>"; /**********Письмо сформировано. Можно отправлять***********/ sendmail($subj, $letter, "$mail_to", "", "", "", "text/html", "utf-8", array(), $attach_files); ?>Только нужно иметь ввиду, что каждое письмо вместе с вложениями сохраняется в в базе в f_mail_archive и ровно поэтому нужно осторожнее с вложениями. Можно забить все дисковое пространство и база ляжет
Сообщение отредактировал maksn: 02 Март 2015 - 21:44
#3
Отправлено 03 Март 2015 - 09:31
Если у вас поле с типом изображение, то подобная вставка должна работать. Файлы изображений автоматически прикрепляются к письму в виде вложений. Возможно вы что-то не так делаете, либо это сбой в отправке письма. Отправьте заявку в техподдержку, наши специалисты проверят.
#4
Отправлено 06 Март 2015 - 11:33
Ответ техподдержки: Здравствуйте! Данная проблема не связана с работой рассылок из системы «Клиентская база». Проблема на получающей стороне. Фактически, письма с содержанием в теле письма изображений, корректно открываются на почтовых сервисах типа yandex, mail и т. д. Такая проблема связана с настройками самого почтового приложения, а именно на доступ к вложенным файлам. Некоторые приложения по умолчанию блокируют доступ к вложенным файлам в письме. Поэтому данный вопрос не является штатным, относящимся к работе программы «Клиентская база». Могу Вам порекомендовать обратиться к расширенным настройкам тех приложений, где наблюдается проблема отображения. Например аналогичная тема с вопросом об отображении изображений в программе Outlook есть на оф.сайте microsoft.com в разделе Помощь. Прилагаю Вам ссылку на конкретную тему, где возможно есть ответ и на Ваш вопрос: http://answers.micro...ecf2fee2?page=1 В вашем случае, Вы можете обратится к своим клиентам(банкам партнерам), с просьбой так же в настройках приложения убрать соответствующую блокировку. То есть, это не значит, что у всех, в почтовых приложениях стоит блокировка. Как было уже сказано, это зависит от настроек и особенностей принимающих сторон(приложений типа Outlook)
#5
Отправлено 07 Март 2015 - 09:50
А если не через доп действие, как сделать так что бы это было вложение, а не вставка в тело письма?
#6
Отправлено 07 Март 2015 - 10:23
askalab (07 Март 2015 - 09:50) писал:
А если не через доп действие, как сделать так что бы это было вложение, а не вставка в тело письма?
Вставить в шаблон поле -> Имя поля типа Изображение -> O'K
Цитата
Такая проблема связана с настройками самого почтового приложения, а именно на доступ к вложенным файлам. Некоторые приложения по умолчанию блокируют доступ к вложенным файлам в письме.
Все почтовые клиенты, если блокируют по какой то причине картинки, ссылки и т.д обязательно сообщают об этом. Что то вроде этого
"Изображения и ссылки отключены в целях безопасности."
Сообщение отредактировал maksn: 07 Март 2015 - 11:57
#7
Отправлено 07 Март 2015 - 12:12
Кстати, заметил любопытный глюк.
В теле письма присутствует код
А вот Content-ID, соответствующих этим картинкам нет.
Есть другие -
Content-ID: <XXX_jpg>
Content-ID: <YYY_jpg>
Content-ID: <ZZZ_jpg>
Т.е. отсутствует лидирующая часть "3231_3_" из "<img src='cid:3231_3_XXX_jpg'>"
Соответственно картинки в теле письма не отражаются
В теле письма присутствует код
<p> <img src='cid:3231_3_XXX_jpg'> <img src='cid:3231_3_YYY_jpg'> <img src='cid:3231_3_ZZZ_jpg'></p>
А вот Content-ID, соответствующих этим картинкам нет.
Есть другие -
Content-ID: <XXX_jpg>
Content-ID: <YYY_jpg>
Content-ID: <ZZZ_jpg>
Т.е. отсутствует лидирующая часть "3231_3_" из "<img src='cid:3231_3_XXX_jpg'>"
Соответственно картинки в теле письма не отражаются
#8
Отправлено 07 Март 2015 - 13:49
Возможно, это баг, т.к. изначально как раз таки изображения должны вставляться как inline, и cid должен корректно работать. Попробуйте еще раз техподдержку побеспокоить, можно с ссылкой сюда.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных