Можно так:
Код:
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);