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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.07.2011, 17:51   #1  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Отправка почты из DAX
Всем привет!

Просмотрел темы форума, которые затрагивают отправку почты средствами DAX.
Например, в этой ветке, обсуждалась отправка с помощью класса sysMailer.

Возможно я некорректно поставлю вопрос, но очень хочу разобраться:
1. Что лучше/правильнее использовать: sysMailer или SysEMailBatch?
Способы отправки письма данными классами достаточно подробно обсуждались тут. Но есть такое отличие: если заглянуть в метод SysEMailBatch.run() - можно заметить, что используется таблица SysOutgoingEmailTable, в которой сохраняется история.
Мне почему-то показалось что "по-хорошему" нужно использовать SysEMailBatch, который внутри себя вызывает sysMailer и сохраняет историю отправленной почты.
2. Есть ли какая-то другая (не почтовой рассылки по спискам из модуля CRM), стандартная функциональность логирования отправкы почты?

Версия Ax 4.0
Старый 12.07.2011, 18:09   #2  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
- отправка через SysEmailBatch может делаться асинхронно (т.е. клиент не "залипает" во время отправки)
- поддерживается повторная отправка (т.е. если у нас разноска чего-то чего-то рассылает а канал упал, разноске это не мешает)
- логи
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: kornix (2).
Старый 13.07.2011, 14:30   #3  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Цитата:
Сообщение от Vadik Посмотреть сообщение
- отправка через SysEmailBatch может делаться асинхронно (т.е. клиент не "залипает" во время отправки)
- поддерживается повторная отправка (т.е. если у нас разноска чего-то чего-то рассылает а канал упал, разноске это не мешает)
- логи
Спасибо за ответ!
Из минусов использования асинхронной отправки, как я понимаю, можно назвать необходимость использования пакетника?

Может есть еще какие-нибудь нюансы? Кто-нибудь в курсе?
Кто-нибудь использует стандартное логирование (Администрирование / Периодические операции / Обработка сообщений эл. почты / Состояние отправки сообщения электронной почты)?
Старый 13.07.2011, 14:43   #4  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
"Стандартное логирование" используется в стандартных оповещениях на почту. Поэтому, имхо, мало проектов где можно будет без этого обойтись. Посему, не вижу смысла не использовать стандартный механизм рассылки почты
__________________
Ivanhoe as is..
За это сообщение автора поблагодарили: kornix (1).
Старый 14.07.2011, 14:15   #5  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Итак, резюме такое:
1. Для отправки почты "просто так" в режиме он-лайн, когда корреспонденция не несет какой-то важной информации (например сообщение администратору или сотруднику), можно использовать класс sysMailer.
Пример использования класса можно посмотреть тут: Отправка почты
2. Для отправки почты, связанной с исходящей корреспонденцией, когда письмо отправляется клиенту или поставщику, лучше использовать SysEMailBatch. Внутри метода run() он вызывает sysMailer, а также записывает историю в таблицу SysOutgoingEmailTable и SysOutgoingEmailData (не придется делать подобное самому).
Плюс, то что написал Vadik:
- отправка через SysEmailBatch может делаться асинхронно (т.е. клиент не "залипает" во время отправки)
- поддерживается повторная отправка (т.е. если у нас разноска чего-то чего-то рассылает а канал упал, разноске это не мешает)

Всем спасибо за участие!
Тема закрыта.
Старый 18.02.2016, 11:31   #6  
Damn is offline
Damn
Участник
 
436 / 154 (6) ++++++
Регистрация: 28.05.2003
Адрес: в глуши
Хочется вернуться всё-таки к этой теме. Не могу понять почему стандартный функционал как-то плохо относится к таблице SysOutgoingEmailData. Особенно меня удивило что и в Ax2012 R3 так ничего не изменилось.
Поле EmailDataType так и остаётся обязательным для заполнения, хотя это baseenum, у которого один из элементов имеет значение 0. Это наверное чтобы ни у кого не возникло желание руками вставить вложение в письмо.
Нет форм, в которых можно было бы просмотреть содержимое этой таблицы.
Вобщем, обошли должным вниманием функционал использования вложений в исходящей почте.
__________________
Дмитрий
Старый 19.02.2016, 04:23   #7  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
700 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Цитата:
Сообщение от Damn Посмотреть сообщение
Нет форм, в которых можно было бы просмотреть содержимое этой таблицы.
Вранье и провокация. SysOutgoingEmailMessage как раз этим и занимается

Цитата:
Сообщение от Damn Посмотреть сообщение
Вобщем, обошли должным вниманием функционал использования вложений в исходящей почте.
Ну за-то есть куча партнерских решений, иногда даже кажется больше чем надо.
Старый 19.02.2016, 07:44   #8  
Damn is offline
Damn
Участник
 
436 / 154 (6) ++++++
Регистрация: 28.05.2003
Адрес: в глуши
Цитата:
Сообщение от skuull Посмотреть сообщение
Вранье и провокация. SysOutgoingEmailMessage как раз этим и занимается
Видимо речь идёт о доработанной форме. Стандартная форма ничего не показывает из таблицы SysOutgoingEmailData.
Про партнёрские решения я не говорю, оно итак понятно что в них есть много всего нужного и ненужного.
__________________
Дмитрий
Старый 19.02.2016, 10:19   #9  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
700 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Цитата:
Сообщение от Damn Посмотреть сообщение
Видимо речь идёт о доработанной форме. Стандартная форма ничего не показывает из таблицы SysOutgoingEmailData.
Про партнёрские решения я не говорю, оно итак понятно что в них есть много всего нужного и ненужного.
Откуда такое нежелание принять мнение отличное от своего?

Идем на форму SysOutgoingEmailMessage открываем init() видим там

X++:
[html, data] = SysEmailDistributor::substituteImageURLs(outgoingEmail.EmailItemId,outgoingEmail.Message);
идем вовнутрь и... сюрприз. сюрприз !

X++:
...
 outgoingEmailData = SysOutgoingEmailData::find(_itemId,SysEmailDataType::Embedded,emailDataId);
...
АX аккуратненько ищет картиночки и добаляет их в нашу хтмлочку чтобы показать их на формочке.

Последний раз редактировалось skuull; 19.02.2016 в 10:21.
Старый 19.02.2016, 11:45   #10  
Damn is offline
Damn
Участник
 
436 / 154 (6) ++++++
Регистрация: 28.05.2003
Адрес: в глуши
Цитата:
Сообщение от skuull Посмотреть сообщение
X++:
...
 outgoingEmailData = SysOutgoingEmailData::find(_itemId,SysEmailDataType::Embedded,emailDataId);
...
АX аккуратненько ищет картиночки и добаляет их в нашу хтмлочку чтобы показать их на формочке.
И полностью игнорирует записи с EmailDataType == SysEmailDataType::Attachment вот это я не могу понять. Записи с типом Embedded мне не интересны.
__________________
Дмитрий
Старый 19.02.2016, 12:19   #11  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
700 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Цитата:
Сообщение от Damn Посмотреть сообщение
И полностью игнорирует записи с EmailDataType == SysEmailDataType::Attachment вот это я не могу понять. Записи с типом Embedded мне не интересны.
Ну мало ли что кому интересно, если туда mp3 приаттачить AX должна вам песенку сыграть?
Старый 19.02.2016, 12:29   #12  
Damn is offline
Damn
Участник
 
436 / 154 (6) ++++++
Регистрация: 28.05.2003
Адрес: в глуши
Ну конечно, самый лучший вариант - это сделать вид что вообще ничего не приаттачено. Зачем перегружать пользователя информацией. Я бы тогда на месте разработчиков и встроенные в html картинки тоже не показывал, чё париться-то.
__________________
Дмитрий
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Печать в PDF и отправка по почте…DAX 4 Daiver DAX: Функционал 2 07.05.2010 13:51
Чтение почты из MS Dax 2009 zZ_TOP_Zz DAX: Программирование 19 25.09.2009 12:50
Отправка почты через Outlook... lev DAX: Программирование 9 12.12.2008 13:27
Отправка почты miklenew DAX: Программирование 10 07.09.2008 23:07
CRM:отправка почты на Outlook fialka DAX: Функционал 2 17.06.2008 16:09

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

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

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