AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.11.2008, 19:08   #1  
Vhaldemar is offline
Vhaldemar
Участник
 
8 / 22 (1) +++
Регистрация: 04.11.2008
Использование изображения в шаблоне электронной почты
Доброго времени суток!

Господа, помогите пожалуйста разобраться с проблемкой:

Имеется шаблон эл. письма (email template), в шаблон включен логотип(картинка в формате *.jpg) и произвольный текст.
При формировании нового эл. письма использую вышеупомянутый шаблон в качестве mailBody, проблем с отсылкой нет, все работает чудесно,
КРОМЕ ОДНОГО: в полученном электронном письме не отображается картинка(логотип).
Для отсылки письма использую quickSend():
X++:
    SysMailer                        sysMailer;
    SysEmailMessageTable    template;
;

    select firstonly template where template.EmailId == 'vhTemplate';

    new InteropPermission(InteropKind::ComInterop).assert();

    sysMailer = new SysMailer();

    sysMailer.quickSend('anyone@gmail.com',
                        'vhtextbox@gmail.com',
                        'DAX Email',
                        template.Mail );

    CodeAccessPermission::revertAssert();
Тестировал как на @gmail.com так и на @mail.ru - картинка в письме НЕ видна

Сама картинка расположена в shared-источнике.

Прочитал и попробовал применить ответ по аналогичному вопросу:
как вставить картинку в шаблон электронной почты?

но увы, не помогло..

Если кто сталкивался с подобной проблемой, помогите пожалуйста!

p.s. Использую DAX 4.0
Старый 04.06.2012, 15:08   #2  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Подыму тему. Правильно я понимаю, что в AX 2009 ничего не изменилось и картинка из шаблона так и не выводится?
__________________
Ivanhoe as is..
Старый 07.06.2012, 15:22   #3  
rumpleteazer is offline
rumpleteazer
Участник
 
127 / 28 (1) +++
Регистрация: 02.09.2002
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Подыму тему. Правильно я понимаю, что в AX 2009 ничего не изменилось и картинка из шаблона так и не выводится?
Может я что-то не понял, но у меня из AX2009 вполне нормально рассылаются письма с картинками. Картинки встраиваются в письмо. Насколько я знаю, чтобы картинки встраивались в письмо, они должны находиться в каталоге, указанном в "Администрироание\Настройка\Параметры электронной почты\Разрешить внедренные данные и вложенные файлы от:". Из других мест встраивание запрещено в коде.
__________________
С уважением, Rumpleteazer.
За это сообщение автора поблагодарили: Ivanhoe (1).
Старый 07.06.2012, 15:32   #4  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Отлично

Я указал в параметрах сетевой путь типа "\\myshare\logo.gif", указываю в шаблоне эту же картинку. В шаблоне все красиво. Но при просмотре сообщения из запроса в Администрировании и по факту в присланном сообщении вместо картинки "крестик".
__________________
Ivanhoe as is..
Старый 07.06.2012, 16:01   #5  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Отлично
Я указал в параметрах сетевой путь типа "\\myshare\logo.gif", указываю в шаблоне эту же картинку. В шаблоне все красиво. Но при просмотре сообщения из запроса в Администрировании и по факту в присланном сообщении вместо картинки "крестик".
Пройдитесь отладчиком по \Data Dictionary\Tables\SysEmailTable\Methods\isFromAttachmentsFolder. Там, насколько я помню, ересь какая-то творится
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: Romb (1), Ivanhoe (2).
Старый 07.06.2012, 16:52   #6  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Спасибо! Судя по коду, Акс ожидает пути вида "// ... /". Чтобы не кодировать, задал путь в параметрах "//myshare/".

Но далее, при попытке вставить такую секцию в e-mail выдается ошибка COM:
Цитата:
Метод "addRelatedBodyPart" в COM-объекте класса "CDO.Message" возвратил код ошибки 0x800C000D (<неизвестно>), который означает: The specified protocol is unknown.
__________________
Ivanhoe as is..
Старый 07.06.2012, 17:08   #7  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
А если так попробовать
PHP код:
file://myshare/ 
Только, имя сервера, скорее всего, надо будет указывать полное (с доменной частью)
__________________
Axapta v.3.0 sp5 kr2
Старый 07.06.2012, 17:10   #8  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Не, так опять картинка не пройдет проверку на разрешенный каталог.

Подправил метод в классе SysMailer, заработало Как минимум прямая рассылка из Администрирование / Периодические операции / Рассылка по электронной почте заработала. Сейчас на оповещениях еще проверю.

X++:
// a related bodypart is typically an image embedded in the mail (instead
// of being referenced from an outside url
// if in the HTML file there's a <img src="myimageref"/> tag, then
// an image from d:\myimage.jpg can be embedded like this:
// addRelatedBodyPart("d:\\myimage.jpg","myimageref")
void addRelatedBodyPart(str _url, str _reference, int _refType = 0)
{
    InteropPermission permission = new InteropPermission(InteropKind::ComInterop);

    permission.assert();

    // IF 07.06.2012 KC_SystemFix
    _url = Global::strReplace(_url,'/','\\');

    //BP Deviation Documented
    _COM.addRelatedBodyPart(_url,_reference,_refType);

    CodeAccessPermission::revertAssert();
}
Т.е. назад поменял / на \ - как и приведен пример в заголовке самого метода.
__________________
Ivanhoe as is..
За это сообщение автора поблагодарили: BOAL (2), sukhanchik (4).
Старый 07.06.2012, 18:04   #9  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Работает и в оповещениях! Ура товарищи Проблема была еще в 4.0 как минимум, но все руки не доходили..
__________________
Ivanhoe as is..
Теги
email, image, quicksend, template

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
CRM:отправка почты на Outlook fialka DAX: Функционал 2 17.06.2008 16:09
Изображения в комбобоксе Eldar9x DAX: Программирование 0 13.06.2007 22:52
Изображения в отчете maximka DAX: Программирование 3 05.03.2007 13:45
Использование индекса по RecId не разрешено! 3oppo DAX: Программирование 1 25.07.2005 14:54
Параметры почты - не работает... soin DAX: Функционал 3 09.01.2004 01:00

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:12.