|
|
#1 |
|
Участник
|
Добрый день.
В CRM 4 возникла необходимость отправлять уведомление на электронный ящик, который хранится в виде строки в текстовом поле. Подскажите, возможно реализовать такой функционал, не создавая сущности, для которых разрешена отправка электронной почты? То есть, явно в коде указать - отправить почту на example@example.com. Рассматриваются любые способы отправки сообщения из БП, из кода, из custom workflow. Спасибо за советы и ответы. |
|
|
|
|
#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). | |
|
|
#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); |
|
|
| Теги |
|
|
|