Share via


CRMEmailTemplate.Send Method

The Send method sends a bulk mail e-mail message that was created from a template.

Syntax

[Visual Basic .NET]
Public Sub Send(
  ByVal Caller As CUserAuth,
  ByVal TemplateId As String,
  ByVal Sender As CObjectName,
  ByVal RecipientType As ObjectType,
  ByVal RecipientIds As String()
)
[C#]
public void Send(
  CUserAuth  Caller,
  string  TemplateId,
  CObjectName  Sender,
  ObjectType  RecipientType,
  string[]  RecipientIds
);
[C++]
public: void Send(
  CUserAuth*  Caller,
  String*  TemplateId,
  CObjectName*  Sender,
  ObjectType  RecipientType,
  String*  RecipientIds __gc[]
);

Parameters

Caller

Specifies the identity of the caller. To perform this action, the caller must have the prvReadEmailTemplate, prvReadActivity, and prvWriteActivity privileges as well as access rights on the object to be sent. See CUserAuth.

TemplateId

Specifies the ID of the template to be sent.

Sender

Specifies the sender of the e-mail message. See CObjectName.

RecipientType

Specifies the object type of the recipient. See ObjectType.

RecipientIds

Specifies an array of recipient IDs.

Return Value

No return value.

Remarks

If there is an error, SOAP throws an exception and the error message is reported in System.Web.Services.Protocols.SoapException.Detail.OuterXml.

All IDs passed to the platform are GUIDs wrapped in braces. For example: {6522D89A-A752-4455-A2B0-51494C6957C3}

Example

[C#]
// strServer should be set with the name of the platform Web server
string strServer = "myservername";

// virtualDirectory should be set with the name of the Microsoft CRM
// virtual directory on the platform Web server
string virtualDirectory = "mscrmservices";
string strDir = "https://" + strServer + "/" + virtualDirectory + "/";

// BizUser proxy object
Microsoft.Crm.Platform.Proxy.BizUser bizUser = new Microsoft.Crm.Platform.Proxy.BizUser ();
bizUser.Credentials = System.Net.CredentialCache.DefaultCredentials;
bizUser.Url = strDir + "BizUser.srf";

// CRMEmailTemplate proxy object
Microsoft.Crm.Platform.Proxy.CRMEmailTemplate  emailtemplate = new Microsoft.Crm.Platform.Proxy.CRMEmailTemplate();
emailtemplate.Credentials = System.Net.CredentialCache.DefaultCredentials;
emailtemplate.Url = strDir + "CRMEmailTemplate.srf";

string strErrorMsg;
string strEmailTemplateId = "{586D80AA-3E9B-4936-ABCA-2C4EB37FBE82}";

try
{

   Microsoft.Crm.Platform.Proxy.CUserAuth userAuth = bizUser.WhoAmI();

   string [] acctIds = new string[1];
   Microsoft.Crm.Platform.Proxy.CObjectName obj = new Microsoft.Crm.Platform.Proxy.CObjectName();
   obj.Id = userAuth.UserId;
   obj.Type = Microsoft.Crm.Platform.Proxy.ObjectType.otSystemUser;

   acctIds[0] = "{A2666B0-6978-4E07-8LA4-5695D30D2EBE}"; //Should be a valied account id

   // Now send the e-mail template
   emailtemplate.Send(userAuth, strEmailTemplateId, obj, Microsoft.Crm.Platform.Proxy.ObjectType.otAccount, acctIds);

   }
catch (System.Web.Services.Protocols.SoapException err)
{
   // Process the platform error here
   strErrorMsg = ("ErrorMessage: " + err.Message + " " + err.Detail.OuterXml + " Source: " + err.Source );
}
catch (Exception err)
{
   // Process other errors here
   strErrorMsg = ("ErrorMessage: " + err.Message );
}

Requirements

Namespace: Microsoft.Crm.Platform.Proxy

Assembly: Microsoft.Crm.Platform.Proxy.dll

See Also

© 2005 Microsoft Corporation. All rights reserved.