SharePoint 2013通过REST/JS从“联系我们”表单发送电子邮件
SharePoint 2013 Send Email from Contact Us Form via REST/JS
并提前感谢您的回答。
我正在尝试从"联系我们"表单发送电子邮件。它似乎有效,但我没有收到任何电子邮件。我对REST没有任何经验,希望有人能发现任何问题。
这是在SharePoint 2013企业发布网站上。
出于隐私目的,我更改了一些变量和ID。
HTML在自定义页面布局中,JS在jQuery之后在同一页面布局中被成功调用。
JS:
$.noConflict();
jQuery( document ).ready(function( $ ) {
// Code that uses jQuery's $ can follow here.
function submitForm() {
var toAddress = "email@domain.com";
var fromAddress ="email@domain.com";
var emSubject = "Public Contact Us Form Entry";
var lblName = "Name: ";
var valName = document.getElementById('form-name').value;
var lblEmail = "Email: ";
var valEmail = document.getElementById('form-email').value;
var lblMessage = "Message: ";
var valMessage = document.getElementById('form-message').value;
var emBody = lblName.concat(valName,lblEmail,valEmail,lblMessage,valMessage);
var data = {
properties: {
__metadata: { 'type': 'SP.Utilities.EmailProperties' },
From: fromAddress,
To: toAddress,
Body: emBody,
Subject: emSubject
}
}
var urlTemplate = _spPageContextInfo.webAbsoluteUrl + "/_api/SP.Utilities.Utility.SendEmail";
$.ajax({
contentType: 'application/json',
url: urlTemplate,
type: "POST",
data: JSON.stringify(data),
headers: {
"Accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
},
success: function (data) {
alert('User(s) notified')
},
error: function (err) {
alert("Unable to send email -- " + JSON.stringify(err));
}
});
}
});
HTML:
<div class="label">Name</div>
<input name="Name" type="text" id="form-name" size="40">
<div class="label">Email</div>
<input name="E-mail" type="text" id="form-email" size="40">
<div class="label">Message</div>
<textarea name="Message" cols="55" rows="5" id="form-message"></textarea>
<div class="form-button">
<button onclick='submitForm()'>Submit</button>
</div>
您的代码有一个错误:
我将To: toAddress
更改为To: { 'results': [toAddress] }
。
现在一切都很顺利,我也收到了电子邮件。
var data = {
properties: {
__metadata: { 'type': 'SP.Utilities.EmailProperties' },
From: fromAddress,
To: { 'results': [toAddress] } ,
Body: emBody,
Subject: emSubject
}
}
相关文章:
- 在Highcharts中,我们可以通过任何方式在渲染图表之前获得plotWidth和plotHeight
- 为什么不'我们在javascript中使用函数参数的数据类型
- 我们如何使用css或JavaScript在i/j上更改句点(点)的颜色
- 我们如何在不更改url的情况下使用锚点点击从一个页面重定向到另一个页面
- 我们怎样才能将内含子J用于一组特定的元素
- 我们如何在互联网断开连接或用户关闭选项卡/浏览器时调用注销servlet
- 我们可以使用任意的编程语言来动态化HTML页面吗
- 为什么我们在ES2015中需要一个新的for循环结构,而我们已经有了for、forEach
- asp.net MVC,重定向到视图,视图打开新窗口到外部url,它'It’’’’我们被当成一种风景
- 我们如何在dailymotion播放器的新测试版中播放youtube视频
- 我们可以用参数对象集合而不是原始数据来调用JavaScript collection.reduce()方法吗
- 我们可以为Cesium中使用CZML绘制的多边形设置outlineWidth属性吗
- 使用AngularJs,尝试通过Google App Engine上的PHP使用HTML联系我们表单发送电子邮件
- PHP表单适用于索引,但不适用于联系我们页面
- 是否可以设置一个功能“;联系我们”;页面使用HTML/CSS
- 温泉UI:联系我们 表格提交
- JavaScript 不适用于联系我们表格
- SharePoint 2013通过REST/JS从“联系我们”表单发送电子邮件
- HTML联系我们表单
- 如何使“联系我们”部分在静态网站中工作,例如使用JavaScript和HTML发送电子邮件