This post demonstrates how to send an email from CRM 2011 using C# code.

There are 4 steps in achieving this:

(a)    Create the ‘From:’ activity party for the email

(b)    Create the ‘To:’ activity party for the email

(c)    Create an e-mail message

(d)    Create the request to send email

 

//Namespaces need to include

using Microsoft.Xrm.Sdk;

using Microsoft.Xrm.Sdk.Query;

using Microsoft.Xrm.Sdk.Discovery;

using Microsoft.Xrm.Sdk.Messages;

using Microsoft.Xrm.Sdk.Client;

using Microsoft.Crm.Sdk.Messages;

 

//(a) Create the ‘From:’ activity party for the email

ActivityParty fromParty = new ActivityParty

{

PartyId = new EntityReference(SystemUser.EntityLogicalName, _userId)

};

 

//(b) Create the ‘To:’ activity party for the email

ActivityParty toParty = new ActivityParty

{

PartyId = new EntityReference(Contact.EntityLogicalName, _contactId)

};

 

//(c) Create an e-mail message

Email email = new Email

{

To = new ActivityParty[] { toParty },

From = new ActivityParty[] { fromParty },

Subject = “e-mail”,

Description = “SendEmail Message.”,

DirectionCode = true

};

 

//(d) Create the request to send email

SendEmailRequest sendEmailreq = new SendEmailRequest

{

EmailId = _emailId,

TrackingToken = “”,

IssueSend = true

};

 

SendEmailResponse sendEmailresp = (SendEmailResponse)_serviceProxy.Execute(sendEmailreq);

 

//#########################################################################################

Top_bottom banner

//Here is the Complete Code

using (OrganizationServiceProxy _serviceProxy = new OrganizationServiceProxy(serverConfig.OrganizationUri,

serverConfig.HomeRealmUri,

serverConfig.Credentials,

serverConfig.DeviceCredentials))

{

_serviceProxy.ServiceConfiguration.CurrentServiceEndpoint.Behaviors.Add(new ProxyTypesBehavior());

 

Guid _contactId = new Guid(“<Contact Record ID>”);

 

WhoAmIRequest systemUserRequest = new WhoAmIRequest();

WhoAmIResponse systemUserResponse = (WhoAmIResponse)_serviceProxy.Execute(systemUserRequest);

Guid _userId = systemUserResponse.UserId;

 

// Create the ‘From:’ activity party for the email

ActivityParty fromParty = new ActivityParty

{

PartyId = new EntityReference(SystemUser.EntityLogicalName, _userId)

};

 

// Create the ‘To:’ activity party for the email

ActivityParty toParty = new ActivityParty

{

PartyId = new EntityReference(Contact.EntityLogicalName, _contactId)

};

 

// Create an e-mail message.

Email email = new Email

{

To = new ActivityParty[] { toParty },

From = new ActivityParty[] { fromParty },

Subject = “e-mail”,

Description = “SendEmail Message.”,

DirectionCode = true

};

Guid _emailId = _serviceProxy.Create(email);

 

// Use the SendEmail message to send an e-mail message.

SendEmailRequest sendEmailreq = new SendEmailRequest

{

EmailId = _emailId,

TrackingToken = “”,

IssueSend = true

};

 

SendEmailResponse sendEmailresp = (SendEmailResponse)_serviceProxy.Execute(sendEmailreq);

}

Please share |Like in Facebook if you feel like this page is useful.

Top_bottom banner

We’re a group of digital transformation enablers who have a deep appreciation and understanding of how business can be transformed digitally thus to help companies to increase their revenue using Microsoft tools like Office 365, Microsoft 365, Power Platform, Dynamics 365 and Azure. To know more about our services and products, please write to us at info@dynatecon.com

1 comment

  1. MailMessage mail = new MailMessage();

    string to = txtMailTo.Text;
    string from = txtMailFrom.Text;
    string subject = txtMailSub.Text;
    string body = txtMailBody.Text;

    MailMessage message = new MailMessage(from, to, subject, body);
    message.IsBodyHtml = true;

    SmtpClient client = new SmtpClient(Host, Port);
    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    client.Send(message);

    a good reference with example : http://cybarlab.blogspot.com/2013/03/send-e-mail-using-c-sharp.html

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s