forum.bitel.ru http://forum.bitel.ru/ |
|
EMail уведомление по изменению в процессе http://forum.bitel.ru/viewtopic.php?f=51&t=9543 |
Страница 1 из 1 |
Автор: | Dog [ 06 авг 2014, 17:05 ] |
Заголовок сообщения: | EMail уведомление по изменению в процессе |
сделал в типе процесса такую настройку: Код: # onProcessEvent.1.events= onProcessEvent.1.commands=emailNotifyExecutors:1:Изменения в заявке добавил себя в исполнители, добавил себе параметр email:1. делаю изменения в заявке: оставляю сообщение, правлю описание, изменяю статус, добавляю исполнителей. и ничего на почту не приходит. ошибок в логах не вижу, хотя задача шедулера запускается. попутный вопрос, как выглядит тело сообщения? какую информацию оно содержит? ссылка на процесс там есть? измененные объекты там есть? |
Автор: | Администратор [ 11 авг 2014, 18:00 ] |
Заголовок сообщения: | Re: EMail уведомление по изменению в процессе |
Можно скрин с параметрами пользователей? Попробуйте строку Код: onProcessEvent.1.events= не указывать.
|
Автор: | Dog [ 12 авг 2014, 00:51 ] |
Заголовок сообщения: | Re: EMail уведомление по изменению в процессе |
попробовал без параметра - не помогло. Вложение: 2e.png [ 5.57 КБ | Просмотров: 7674 ] ради интереса сделал параметр текстового формата, и добавли туда свою почту. в итоге после изменения процесса ЦРМ выдала предупреждение что 40 параметр не является почтовым. и собственно нашел в логах вот такое, когда параметр все таки типа email.: Код: 08-11/22:37:33 DEBUG [http-bio-9088-exec-48] DefaultProcessChangeListener - Process commands: [emailNotifyExecutors:1:Изменения в заявке]
java.lang.NullPointerException at ru.bgcrm.util.MailMsg.sendMessage(MailMsg.java:143) at ru.bgcrm.util.MailMsg.sendMessage(MailMsg.java:125) at ru.bgcrm.struts.action.ProcessAction.processDoCommands(ProcessAction.java:1037) at ru.bgcrm.event.listener.DefaultProcessChangeListener$ConfigRule.processEvent(DefaultProcessChangeListener.java:382) at ru.bgcrm.event.listener.DefaultProcessChangeListener.processEvent(DefaultProcessChangeListener.java:188) at ru.bgcrm.event.listener.DefaultProcessChangeListener.access$1(DefaultProcessChangeListener.java:173) at ru.bgcrm.event.listener.DefaultProcessChangeListener$2.notify(DefaultProcessChangeListener.java:68) at ru.bgcrm.event.listener.DefaultProcessChangeListener$2.notify(DefaultProcessChangeListener.java:1) at ru.bgcrm.event.EventProcessor.processEvent(EventProcessor.java:105) at ru.bgcrm.struts.action.ProcessAction.processDoEvent(ProcessAction.java:1621) at ru.bgcrm.struts.action.ProcessAction.processPriorityUpdate(ProcessAction.java:1253) at ru.bgcrm.struts.action.ProcessAction.processPriorityUpdate(ProcessAction.java:1239) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at ru.bgcrm.struts.action.BaseAction$InvokerCon.invoke(BaseAction.java:147) at ru.bgcrm.struts.action.BaseAction.dispatchMethod(BaseAction.java:289) at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170) at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58) at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67) at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at ru.bgcrm.servlet.filter.SetRequestParamsFilter.doFilter(SetRequestParamsFilter.java:42) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at ru.bgcrm.servlet.filter.AuthFilter.doFilter(AuthFilter.java:139) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at ru.bgcrm.servlet.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:38) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) |
Автор: | Администратор [ 12 авг 2014, 11:29 ] |
Заголовок сообщения: | Re: EMail уведомление по изменению в процессе |
Вероятнее всего в конфигурации не указан параметр mail.from.email. Добавлен вывод сообщения об этом в логе. |
Автор: | Dog [ 12 авг 2014, 12:29 ] |
Заголовок сообщения: | Re: EMail уведомление по изменению в процессе |
тоже думал, что чего то не хватает: Код: mail.transport.protocol=smtps mail.smtp.port=465 mail.smtp.user=crm@mydomen.ru mail.smtp.from=support@mydomen.ru mail.smtp.host=smtp.gmail.com mail.smtp.pswd=123456789 mail.debug=1 Код: Добавлен вывод сообщения об этом в логе. обновился, и что то ошибка не изменилась. |
Автор: | Администратор [ 12 авг 2014, 15:04 ] |
Заголовок сообщения: | Re: EMail уведомление по изменению в процессе |
Цитата: обновился, и что то ошибка не изменилась. Так обновление пока не выложено. Вы поставьте параметр в конфиг и должно работать всё. А вывод в лог на будущее добавлен. |
Автор: | Dog [ 12 авг 2014, 15:29 ] |
Заголовок сообщения: | Re: EMail уведомление по изменению в процессе |
Так я вроде показал текущий свой конфиг, там есть параметр from. Или имеется ввиду какой то другой конфиг? |
Автор: | Администратор [ 12 авг 2014, 16:24 ] |
Заголовок сообщения: | Re: EMail уведомление по изменению в процессе |
http://www.bgcrm.ru/doc/3.0/doc/ch01s03s01.html Код: # параметры EMail mail.from.email=bgcrm@xxxxxxx mail.from.name=BGCRM Это у вас для каждого типа сообщения свой адрес "От" стоит. А ещё есть общий From, когда отправка письма не связана с обработкой сообщения конкретного типа. Уведомления и т.п. |
Автор: | Dog [ 12 авг 2014, 17:20 ] |
Заголовок сообщения: | Re: EMail уведомление по изменению в процессе |
ага. теперь все приходит. спасибо. |
Автор: | Dog [ 12 авг 2014, 18:31 ] |
Заголовок сообщения: | Re: EMail уведомление по изменению в процессе |
по поводу кастомизации письма? можно как то добавить туда информацию, которая была изменена? ссылку на сам процесс? т.е. мелкие косметические вещи. сейчас я так понимаю, что добавляются в письмо только сообщения. |
Автор: | Администратор [ 14 авг 2014, 22:42 ] |
Заголовок сообщения: | Re: EMail уведомление по изменению в процессе |
Цитата: по поводу кастомизации письма? можно как то добавить туда информацию, которая была изменена? ссылку на сам процесс? т.е. мелкие косметические вещи. сейчас я так понимаю, что добавляются в письмо только сообщения. Сделано, пример настройки: Код: msgTempl="Изменился процесс, в котором вы числитесь исполнителем.".concat( NEW_LINE2 ) msgTempl+=.concat( "Описание:" ).concat( NEW_LINE ).concat( process.getDescription() ) msgTempl+=.concat( message == null ? "" : NEW_LINE2.concat( "Сообщение:" ).concat( NEW_LINE ).concat( message.getText() ) ) msgTempl+=.concat( NEW_LINE2 ).concat( "Открыть процесс: http://127.0.0.1:9089/user/process#" ).concat( process.getId().toString() ) onProcessEvent.1.events=messageAdded onProcessEvent.1.commands=setStatus:10 onProcessEvent.1.commands=emailNotifyExecutors:79:Изменения в заявке:msgTempl Если не хватает каких-то JEXL переменных - пишите. Пока передаётся только process и message, если событие было новое сообщение. Обрабатывать следует не все события, наверное. Как минимум либо ed либо ing, а то по каждому изменению будут два письма. Информация, которая была изменена - устроит из лога изменений процесса? |
Автор: | Dog [ 17 авг 2014, 18:06 ] |
Заголовок сообщения: | Re: EMail уведомление по изменению в процессе |
все работает. переменных я думаю хватит. добавить бы это в документацию, а то разобраться в шаблоне можно, но как то сложно. единственное замечание, сейчас приходит письмо с темой: Создан процесс #process.getId() [process.getDescription()] может быть убрать описание процесса из кадратных скобок? просто оно как бы может быть бесконечно большим. и его информативность в теме письма как то сомнительна? его можно кастомизировать? или как то заменить на другую полезную информацию (Статус, Тип процесса, если это сообщение, то Автора сообщения). Цитата: Информация, которая была изменена - устроит из лога изменений процесса? устроит |
Автор: | Администратор [ 10 сен 2014, 15:58 ] |
Заголовок сообщения: | Re: EMail уведомление по изменению в процессе |
Сделано всё, что просили. В документации описано: http://www.bgcrm.ru/doc/3.0/doc/ch01s06s05.html |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |