15.01.2013, 19:48 | #1 |
Участник
|
Возможна ли отправка email на любой адрес из CRM 4
Добрый день.
В CRM 4 возникла необходимость отправлять уведомление на электронный ящик, который хранится в виде строки в текстовом поле. Подскажите, возможно реализовать такой функционал, не создавая сущности, для которых разрешена отправка электронной почты? То есть, явно в коде указать - отправить почту на example@example.com. Рассматриваются любые способы отправки сообщения из БП, из кода, из custom workflow. Спасибо за советы и ответы. |
|
16.01.2013, 09:58 | #2 |
Чайный пьяница
|
Добрый день,
Нашёл код для 2011 - http://worldofdynamics.blogspot.ru/2...r-sending.html Думаю, что его можно поправить, чтобы он заработал для 4.0. Также посмотрите эту ссылку - http://www.avtex.com/blogs/crm-blog/...nts-in-CRM-4-0
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit Последний раз редактировалось a33ik; 16.01.2013 в 11:26. |
|
|
За это сообщение автора поблагодарили: Буденый (1). |
17.01.2013, 12:11 | #3 |
Участник
|
Всем спасибо, может кому пригодится
a33ik и slivka_83, Ребят, большое Вам спасибо за Ваш труд и помощь.
Ответ на поставленный вопрос, можно ли отправлять уведомления на любой e-mail из CRM 4 - отправлять можно, но не все так просто. Для чего это нужно было мне: Обращения клиентов в компанию, попадают в CRM в виде обращений и вопросов c сайта компании. E-mail сохраняется в текстовом поле обращения. Затем обращение обрабатывается и необходимо было отправить ответ на указанный пользователем email. Как реализовал: После закрытия обращения, БП отправляет клиенту ответ технического специалиста. По шагам: 1. В БП по закрытию обращения создается e-mail и заполняется по шаблону, в качестве адресата используется контакт без адресов эл. почты, если не указать адресата, будет ошибка. 2. Создал кастомный шаг БП, в который передаю созданное эл. сообщение и электронный ящик клиента(можно добавить ещё и передачу пользователя от которого осуществлять отправку). 3. В кастомном шаге БП происходит обновление адресата и отправителя. В компании несколько технических специалистов, поэтому нужно чтобы ответ отправлялся от адресата noreply@company.com (другого пользователя). Отправка от имени другого пользователя возможна только при наличии прав на отправку почты от имени другого пользователя(Выбранная роль->Вкладка "Управление бизнесом" -> "Отправить электронную почту от имени другого пользователя"). Код: IContextService contextService = (IContextService)executionContext.GetService(typeof(IContextService)); IWorkflowContext workflowContext = contextService.Context; ICrmService crmservice = workflowContext.CreateCrmService(); email mail = new email(); //для обновления выбираем созданное сообщение на предыдущем шаге БП, который передали в этот шаг mail.activityid = new Key(MailEntity.Value); //Устанавливаем в качестве адресата, пользователя от имени которого будет производится отправка сообщения activityparty fromparty = new activityparty(); fromparty.partyid = new Lookup(); fromparty.partyid.type = EntityName.systemuser.ToString(); fromparty.partyid.Value = new Guid("17DAC2B1-F35E-E211-AEA9-00155D010B02"); mail.from = new activityparty[] { fromparty }; //Устанавливаем контакт заглушку без адресов эл. почты activityparty toparty = new activityparty(); toparty.partyid = new Lookup(); toparty.partyid.type = EntityName.contact.ToString(); toparty.partyid.Value = new Guid("A432DC4F-E8AB-DC11-94ED-000423AF733E"); //указываем адрес клиента, который передали в кастомный шаг БП toparty.addressused = emailField; mail.to = new activityparty[] { toparty }; crmservice.Update(mail); //Отправка уведомления от имени другого пользователя и на указанный адрес эл. почты SendEmailRequest sendrequest = new SendEmailRequest(); sendrequest.EmailId = mail.activityid.Value; sendrequest.TrackingToken = ""; sendrequest.IssueSend = true; crmservice.Execute(sendrequest); |
|
Теги |
|
|