I want to send emails using the SharePoint 2013 Client Object Model SendEmail-Method, but I always get an "A recipient must be specified." error. I tried it with different email addresses and several SharePoint servers, but the error occurred in all cases.
Example source (C#):
string webUrl = "http://sharepoint.example.com/";
EmailProperties properties = new EmailProperties();
properties.To = new string[] { "email@example.com" };
properties.Subject = "Test subject";
properties.Body = "Test body";
ClientContext context = new ClientContext(webUrl);
Utility.SendEmail(context, properties);
context.ExecuteQuery(); // ServerException thrown here
context.Dispose();
Error message:
A recipient must be specified.
Error type:
System.InvalidOperationException
Server stack trace:
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at Microsoft.SharePoint.Utilities.SPUtility.SendEmail_Client(EmailProperties properties)
at Microsoft.SharePoint.ServerStub.Utilities.SPUtilityServerStub.InvokeStaticMethod(String methodName, XmlNodeList xmlargs, ProxyContext proxyContext, Boolean& isVoid)
at Microsoft.SharePoint.Client.ServerStub.InvokeStaticMethodWithMonitoredScope(String methodName, XmlNodeList args, ProxyContext proxyContext, Boolean& isVoid)
at Microsoft.SharePoint.Client.ClientMethodsProcessor.InvokeStaticMethod(String typeId, String methodName, XmlNodeList xmlargs, Boolean& isVoid)
at Microsoft.SharePoint.Client.ClientMethodsProcessor.ProcessStaticMethod(XmlElement xe)
at Microsoft.SharePoint.Client.ClientMethodsProcessor.ProcessOne(XmlElement xe)
at Microsoft.SharePoint.Client.ClientMethodsProcessor.ProcessStatements(XmlNode xe)
at Microsoft.SharePoint.Client.ClientMethodsProcessor.Process()
What's wrong here?