Как сделать вложение в письмо рассылки из поля типа изображение
Автор 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 анонимных













