|  01.10.2007, 13:10 | #1 | 
| Участник | Как послать сообщение пользователю... 
			
			Добрый день. Как послать сообщение (на OUTLOOK) пользователю из пользовательского кода (из Callout например) Спасибо. | 
|  | 
|  01.10.2007, 15:27 | #2 | 
| Участник | 
			
			Можно так: Код: public string SendEmail(string subj, string text, activityparty mailTo, activityparty mailFrom, Guid regardingid, string regardingType, string regardingName,CalloutUserContext userContext)
  {   
 try
   {
    CrmService service = setService(userContext);
    email Email = new email();
    Email.subject = subj;
    Email.description = text;
    Email.from = new activityparty[] {mailFrom};
    Email.to = new activityparty[] {mailTo};
    Email.regardingobjectid = new Lookup();
    Email.regardingobjectid.Value = regardingid;
    Email.regardingobjectid.type = regardingType;
    Email.regardingobjectid.name = regardingName;
    Guid emailId = service.Create(Email);
    // Get a TrackingToken
    GetTrackingTokenEmailRequest getTrackingToken = new 
     GetTrackingTokenEmailRequest();
    getTrackingToken.Subject = Email.subject;
    GetTrackingTokenEmailResponse getTrackingTokenResponse = (GetTrackingTokenEmailResponse)service.Execute(getTrackingToken);
    // Send the email
    SendEmailRequest request = new SendEmailRequest();
    request.EmailId = emailId;
    request.IssueSend = true;
    request.TrackingToken = getTrackingTokenResponse.TrackingToken;
    SendEmailResponse res = (SendEmailResponse)service.Execute(request);
   }
   catch (Exception ex)
   {
    return ex.Message;
   }
   return "";
  }
 
Вызывающая процедура (пример)
string sub = "subject";    
// To
    activityparty mailTo = new activityparty();
    mailTo.partyid = new Lookup();
    mailTo.partyid.type = EntityName.systemuser.ToString();
    mailTo.partyid.Value = SomeUserIdTo;
 //From
    activityparty mailFrom = new activityparty();
    mailFrom.partyid = new Lookup();
    mailFrom.partyid.type = EntityName.systemuser.ToString();
    mailFrom.partyid.Value = SomeUserIdFrom;
    string res = SendEmail(sub,description,mailTo,mailFrom, inc.incidentid.Value,EntityName.incident.ToString(),inc.title,userContext); | 
|  | 
|  02.10.2007, 13:28 | #3 | 
| Участник | 
			
			Лида спасибо, вроде разобрался но слово setService моя среда разработки не понимает. CrmService service = setService(userContext); Не подскажете еще какую ссылку надо добавить? Спасибо. | 
|  | 
|  02.10.2007, 17:42 | #4 | 
| Участник | 
			
			Прошу прощения, невнимательно скопировала код.  setService - это моя функция, где объявляется crm сервис. Код: public CrmService setService(CalloutUserContext userContext)
  {
   RegistryKey regCrm = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\MSCRM");
   string crmServerUrl = (string)regCrm.GetValue("ServerUrl");
   string crmWebServiceUrl = crmServerUrl + (crmServerUrl.EndsWith("/") ? "": "/")+ "2006/crmservice.asmx";
 
   CrmService serv = new CrmService();
   serv.Credentials = System.Net.CredentialCache.DefaultCredentials;
   serv.Url = crmWebServiceUrl;
   serv.CallerIdValue = new CallerId();
   serv.CallerIdValue.CallerGuid = userContext.UserId;
   return serv;
  } | 
|  | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| Сообщение от другого пользователя | 38 | |||
| Как ускорить время отправки письма пользователю? | 6 | |||
| Как послать из CRM напоминалку в OUTLOOK | 7 | |||
| Почему не создается сообщение? | 0 | |||
| 
 |