I am trying to get CRM to send an email melodramatically from a .Net C# app. I think I am close, but I keep getting an error:
0x80040203 Cannot create activity party: either partyid or addressused field should be present Platform
Here is my code:
private static void sendCrmEmail()
{
try
{
//Set up the service
CrmService crmservice = GetCrmService(OrganisationName, ServerAddress);
Guid emailID = new Guid();
// Create a FROM activity party for the email
activityparty fromParty = new activityparty();
fromParty.partyid = new Lookup();
fromParty.partyid.type = EntityName.systemuser.ToString();
fromParty.partyid.Value = new Guid("275462F3-1E73-DF11-828B-0050568F1812");
//Create a TO activity party for email
activityparty toParty = new activityparty();
fromParty.partyid = new Lookup();
fromParty.partyid.type = EntityName.contact.ToString();
fromParty.partyid.Value = new Guid("81AEDF3D-E040-E011-9DA2-000C29E4BD21");
// Create an email message.
email email = new email();
// Set email properties
email.to = new activityparty[] { fromParty };
email.from = new activityparty[] { toParty };
email.subject = "subject";
email.description = "body";
CrmBoolean direction = new CrmBoolean();
direction.Value = true;
email.directioncode = direction;
TargetCreateEmail targetCreate = new TargetCreateEmail();
targetCreate.Email = email;
CreateRequest request = new CreateRequest();
request.Target = targetCreate;
CreateResponse response = (CreateResponse)crmservice.Execute(request);
emailID = response.id;
}
catch (System.Web.Services.Protocols.SoapException ex)
{
Console.WriteLine(ex.Detail.InnerText);
}
}
Your toParty
block is just resetting the fromParty
. It should look like this:
//Create a TO activity party for email
activityparty toParty = new activityparty();
toParty.partyid = new Lookup();
toParty.partyid.type = EntityName.contact.ToString();
toParty.partyid.Value = new Guid("81AEDF3D-E040-E011-9DA2-000C29E4BD21");
User contributions licensed under CC BY-SA 3.0