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