12.07.2011, 17:51 | #1 |
MCP
|
Отправка почты из DAX
Всем привет!
Просмотрел темы форума, которые затрагивают отправку почты средствами DAX. Например, в этой ветке, обсуждалась отправка с помощью класса sysMailer. Возможно я некорректно поставлю вопрос, но очень хочу разобраться: 1. Что лучше/правильнее использовать: sysMailer или SysEMailBatch? Способы отправки письма данными классами достаточно подробно обсуждались тут. Но есть такое отличие: если заглянуть в метод SysEMailBatch.run() - можно заметить, что используется таблица SysOutgoingEmailTable, в которой сохраняется история. Мне почему-то показалось что "по-хорошему" нужно использовать SysEMailBatch, который внутри себя вызывает sysMailer и сохраняет историю отправленной почты. 2. Есть ли какая-то другая (не почтовой рассылки по спискам из модуля CRM), стандартная функциональность логирования отправкы почты? Версия Ax 4.0 |
|
12.07.2011, 18:09 | #2 |
Модератор
|
- отправка через SysEmailBatch может делаться асинхронно (т.е. клиент не "залипает" во время отправки)
- поддерживается повторная отправка (т.е. если у нас разноска чего-то чего-то рассылает а канал упал, разноске это не мешает) - логи
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: kornix (2). |
13.07.2011, 14:30 | #3 |
MCP
|
Цитата:
Из минусов использования асинхронной отправки, как я понимаю, можно назвать необходимость использования пакетника? Может есть еще какие-нибудь нюансы? Кто-нибудь в курсе? Кто-нибудь использует стандартное логирование (Администрирование / Периодические операции / Обработка сообщений эл. почты / Состояние отправки сообщения электронной почты)? |
|
13.07.2011, 14:43 | #4 |
Участник
|
"Стандартное логирование" используется в стандартных оповещениях на почту. Поэтому, имхо, мало проектов где можно будет без этого обойтись. Посему, не вижу смысла не использовать стандартный механизм рассылки почты
__________________
Ivanhoe as is.. |
|
|
За это сообщение автора поблагодарили: kornix (1). |
14.07.2011, 14:15 | #5 |
MCP
|
Итак, резюме такое:
1. Для отправки почты "просто так" в режиме он-лайн, когда корреспонденция не несет какой-то важной информации (например сообщение администратору или сотруднику), можно использовать класс sysMailer. Пример использования класса можно посмотреть тут: Отправка почты 2. Для отправки почты, связанной с исходящей корреспонденцией, когда письмо отправляется клиенту или поставщику, лучше использовать SysEMailBatch. Внутри метода run() он вызывает sysMailer, а также записывает историю в таблицу SysOutgoingEmailTable и SysOutgoingEmailData (не придется делать подобное самому). Плюс, то что написал Vadik: - отправка через SysEmailBatch может делаться асинхронно (т.е. клиент не "залипает" во время отправки) - поддерживается повторная отправка (т.е. если у нас разноска чего-то чего-то рассылает а канал упал, разноске это не мешает) Всем спасибо за участие! Тема закрыта. |
|
18.02.2016, 11:31 | #6 |
Участник
|
Хочется вернуться всё-таки к этой теме. Не могу понять почему стандартный функционал как-то плохо относится к таблице SysOutgoingEmailData. Особенно меня удивило что и в Ax2012 R3 так ничего не изменилось.
Поле EmailDataType так и остаётся обязательным для заполнения, хотя это baseenum, у которого один из элементов имеет значение 0. Это наверное чтобы ни у кого не возникло желание руками вставить вложение в письмо. Нет форм, в которых можно было бы просмотреть содержимое этой таблицы. Вобщем, обошли должным вниманием функционал использования вложений в исходящей почте.
__________________
Дмитрий |
|
19.02.2016, 04:23 | #7 |
Участник
|
Вранье и провокация. SysOutgoingEmailMessage как раз этим и занимается
Ну за-то есть куча партнерских решений, иногда даже кажется больше чем надо. |
|
19.02.2016, 07:44 | #8 |
Участник
|
Видимо речь идёт о доработанной форме. Стандартная форма ничего не показывает из таблицы SysOutgoingEmailData.
Про партнёрские решения я не говорю, оно итак понятно что в них есть много всего нужного и ненужного.
__________________
Дмитрий |
|
19.02.2016, 10:19 | #9 |
Участник
|
Цитата:
Идем на форму SysOutgoingEmailMessage открываем init() видим там X++: [html, data] = SysEmailDistributor::substituteImageURLs(outgoingEmail.EmailItemId,outgoingEmail.Message); X++: ... outgoingEmailData = SysOutgoingEmailData::find(_itemId,SysEmailDataType::Embedded,emailDataId); ... Последний раз редактировалось skuull; 19.02.2016 в 10:21. |
|
19.02.2016, 11:45 | #10 |
Участник
|
И полностью игнорирует записи с EmailDataType == SysEmailDataType::Attachment вот это я не могу понять. Записи с типом Embedded мне не интересны.
__________________
Дмитрий |
|
19.02.2016, 12:19 | #11 |
Участник
|
|
|
19.02.2016, 12:29 | #12 |
Участник
|
Ну конечно, самый лучший вариант - это сделать вид что вообще ничего не приаттачено. Зачем перегружать пользователя информацией. Я бы тогда на месте разработчиков и встроенные в html картинки тоже не показывал, чё париться-то.
__________________
Дмитрий |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Печать в PDF и отправка по почте…DAX 4 | 2 | |||
Чтение почты из MS Dax 2009 | 19 | |||
Отправка почты через Outlook... | 9 | |||
Отправка почты | 10 | |||
CRM:отправка почты на Outlook | 2 |
|