Script / App.js
-----------------
<script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/4.0/1/MicrosoftAjax.js"></script>
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
//SUBJECT OF THE EMAIL
//var subject = "SUBJECT OF THE MAIL";
//CONTENT OF THE MAIL - CAN BE HTML OR PLAIN TEXT.
// var mailContent = "<h3>Some Heading for the mail</h3><p>Content</p><div>Content</div>";
//AN ARRAY HAVING THE RECIPIENT DETAILS.
//THE USERNAME/EMAIL-ID SHOULD BE OF A VALID SHAREPOINT USER.
//EXTERNAL USERS OR EXTERNAL EMAIL IDS ARE NOT SUPPORTED
// var toList = ["DOMAIN\\USERNAME", "USER1-EMAIL-ID@DOMAIN.COM"]
var userid = _spPageContextInfo.userId;
var currentuseremail;
var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/getuserbyid(" + userid + ")";
var requestHeaders = { "accept" : "application/json;odata=verbose" };
$.ajax({
url : requestUri,
contentType : "application/json;odata=verbose",
headers : requestHeaders,
success : onSuccess,
error : onError
});
function onSuccess(data, request){
var loginName = data.d.Title;
currentuseremail = data.d.Email;
}
function onError(error) {
alert("error");
}
function processSendEmails() {
var toList = [$("#txtRecipients").val()]
var Emailcc = [currentuseremail]
var body = $("#txtBody").val();
var subject = $("#txtSubject").val();
var mailContent = "<h3>Mail Heading </h3><p>" + body + "</p>";
// Call sendEmail function
sendMail(toList,Emailcc, subject, mailContent).done(function (response) {
alert("Mail Sent.");
}).fail(function () {
alert("Error while sending mail.");
});
}
//Send-Email
function sendMail(toList,Emailcc, subject, mailContent) {
var restUrl = _spPageContextInfo.webAbsoluteUrl + "/_api/SP.Utilities.Utility.SendEmail",
restHeaders = {
"Accept": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"Content-Type": "application/json;odata=verbose"
},
mailObject = {
'properties': {
'__metadata': {
'type': 'SP.Utilities.EmailProperties'
},
'To': {
'results': toList
},
'CC': {
'results': Emailcc
},
'Subject': subject,
'Body': mailContent,
"AdditionalHeaders":
{
"__metadata":
{ "type": "Collection(SP.KeyValue)" },
"results":
[
{
"__metadata": {
"type": 'SP.KeyValue'
},
"Key": "content-type",
"Value": 'text/html',
"ValueType": "Edm.String"
}
]
}
}
};
return $.ajax({
contentType: "application/json",
url: restUrl,
type: "POST",
data: JSON.stringify(mailObject),
headers: restHeaders
});
}
</script>
Default.aspx
------------------
<table>
<tr>
<td>User Name</td>
<td>
<input type="text" name="txtUserName" id="txtUserName" value="" /></td>
</tr>
<tr>
<td>Email Id</td>
<td>
<input type="text" name="txtRecipients" id="txtRecipients" value="" />
</td>
</tr>
<tr>
<td>Subject :
</td>
<td>
<input type="text" name="txtSubject" id="txtSubject" value="" />
</td>
</tr>
<tr>
<td>Body :
</td>
<td>
<input type="text" name="txtBody" id="txtBody" value="" />
</td>
</tr>
<tr>
<td> </td>
<td>
<input id="Button1" onclick="processSendEmails()" type="button" value="SendMail" />
</td>
</tr>
</table>
-----------------
<script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/4.0/1/MicrosoftAjax.js"></script>
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
//SUBJECT OF THE EMAIL
//var subject = "SUBJECT OF THE MAIL";
//CONTENT OF THE MAIL - CAN BE HTML OR PLAIN TEXT.
// var mailContent = "<h3>Some Heading for the mail</h3><p>Content</p><div>Content</div>";
//AN ARRAY HAVING THE RECIPIENT DETAILS.
//THE USERNAME/EMAIL-ID SHOULD BE OF A VALID SHAREPOINT USER.
//EXTERNAL USERS OR EXTERNAL EMAIL IDS ARE NOT SUPPORTED
// var toList = ["DOMAIN\\USERNAME", "USER1-EMAIL-ID@DOMAIN.COM"]
var userid = _spPageContextInfo.userId;
var currentuseremail;
var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/getuserbyid(" + userid + ")";
var requestHeaders = { "accept" : "application/json;odata=verbose" };
$.ajax({
url : requestUri,
contentType : "application/json;odata=verbose",
headers : requestHeaders,
success : onSuccess,
error : onError
});
function onSuccess(data, request){
var loginName = data.d.Title;
currentuseremail = data.d.Email;
}
function onError(error) {
alert("error");
}
function processSendEmails() {
var toList = [$("#txtRecipients").val()]
var Emailcc = [currentuseremail]
var body = $("#txtBody").val();
var subject = $("#txtSubject").val();
var mailContent = "<h3>Mail Heading </h3><p>" + body + "</p>";
// Call sendEmail function
sendMail(toList,Emailcc, subject, mailContent).done(function (response) {
alert("Mail Sent.");
}).fail(function () {
alert("Error while sending mail.");
});
}
//Send-Email
function sendMail(toList,Emailcc, subject, mailContent) {
var restUrl = _spPageContextInfo.webAbsoluteUrl + "/_api/SP.Utilities.Utility.SendEmail",
restHeaders = {
"Accept": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"Content-Type": "application/json;odata=verbose"
},
mailObject = {
'properties': {
'__metadata': {
'type': 'SP.Utilities.EmailProperties'
},
'To': {
'results': toList
},
'CC': {
'results': Emailcc
},
'Subject': subject,
'Body': mailContent,
"AdditionalHeaders":
{
"__metadata":
{ "type": "Collection(SP.KeyValue)" },
"results":
[
{
"__metadata": {
"type": 'SP.KeyValue'
},
"Key": "content-type",
"Value": 'text/html',
"ValueType": "Edm.String"
}
]
}
}
};
return $.ajax({
contentType: "application/json",
url: restUrl,
type: "POST",
data: JSON.stringify(mailObject),
headers: restHeaders
});
}
</script>
Default.aspx
------------------
<table>
<tr>
<td>User Name</td>
<td>
<input type="text" name="txtUserName" id="txtUserName" value="" /></td>
</tr>
<tr>
<td>Email Id</td>
<td>
<input type="text" name="txtRecipients" id="txtRecipients" value="" />
</td>
</tr>
<tr>
<td>Subject :
</td>
<td>
<input type="text" name="txtSubject" id="txtSubject" value="" />
</td>
</tr>
<tr>
<td>Body :
</td>
<td>
<input type="text" name="txtBody" id="txtBody" value="" />
</td>
</tr>
<tr>
<td> </td>
<td>
<input id="Button1" onclick="processSendEmails()" type="button" value="SendMail" />
</td>
</tr>
</table>
No comments:
Post a Comment