Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Send Email using SharePoint Rest API
var Email= function(){
// Email Either email groupname or email address
var from = 'abc.yahoo.com',
to = 'abc.yahoo.com',
cc = 'abc.yahoo.com',
subject='My Email Subject';
this.options = this.options || {};
this.options['fromEmail'] = this.options['fromEmail'] || {};
this.options['toEmail'] = this.options['toEmail'] || {};
this.options['ccEmail'] = this.options['ccEmail'] || {};
this.options['subject'] = this.options['subject'] || {};
this.options['fromEmail'] = from;
this.options['toEmail'] = to;
this.options['ccEmail'] = cc;
this.options['subject'] = subject;
}
function sendEmail(emailObj,body) {
var that =emailObj;
//Get the relative url of the site
var ServiceUrl = ((_spPageContextInfo.webServerRelativeUrl==='/')?'/':_spPageContextInfo.webServerRelativeUrl);
var siteurl = ServiceUrl;
var urlTemplate = siteurl + "/_api/SP.Utilities.Utility.SendEmail";
$.ajax({
contentType: 'application/json',
url: urlTemplate,
type: "POST",
data: JSON.stringify({
'properties': {
'__metadata': {
'type': 'SP.Utilities.EmailProperties'
},
'From': that.options.fromEmail,
'To': {
'results': [that.options.toEmail]
},
'CC': {
'results': [that.options.ccEmail]
},
'Body': body,
'Subject': that.options.subject
}
}),
headers: {
"Accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose",
"X-RequestDigest": jQuery("#__REQUESTDIGEST").val()
},
success: function (data) {
},
error: function (err) {
// alert('Error in sending Email: ' + JSON.stringify(err));
alert('Error in sending Email', 1);
}
});
}
var sendEmailObj = new Email();
var emailbody = 'hi this is email body';
sendEmail(sendEmailObj,emailbody);
@BasantPandey

This comment has been minimized.

Copy link
Owner Author

@BasantPandey BasantPandey commented Jul 24, 2016

Update Code with new fixes.

@ahsanranjha

This comment has been minimized.

Copy link

@ahsanranjha ahsanranjha commented Nov 28, 2017

are you sure this is working solution with external emails other the own domain?

"{"readyState":4,"responseText":"{"error":{"code":"-2130242040, Microsoft.SharePoint.SPException","message":{"lang":"en-US","value":"The e-mail message cannot be sent. Make sure the e-mail has a valid recipient."}}}","responseJSON":{"error":{"code":"-2130242040, Microsoft.SharePoint.SPException","message":{"lang":"en-US","value":"The e-mail message cannot be sent. Make sure the e-mail has a valid recipient."}}},"status":400,"statusText":"error"}"

@guirkgumbo

This comment has been minimized.

Copy link

@guirkgumbo guirkgumbo commented Nov 21, 2018

SharePoint API doesn't allow posts to external emails. Must be an email of a SharePoint user email. This is as much as I know.

@kchaitanyav

This comment has been minimized.

Copy link

@kchaitanyav kchaitanyav commented Jun 27, 2021

Can we add multiple email address dynamically for CC?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment