我正在开发 SharePoint 托管应用程序,并尝试使用客户端代码发送电子邮件。我是否必须使用工作流或事件接收器来执行此操作?似乎找不到任何关于此的信息。
有任何想法吗?
我正在开发 SharePoint 托管应用程序,并尝试使用客户端代码发送电子邮件。我是否必须使用工作流或事件接收器来执行此操作?似乎找不到任何关于此的信息。
有任何想法吗?
您可以将 Visual Studio 中的工作流添加到您的项目中。将电子邮件从工具箱拖放到您的工作流程中,设置参数,您的工作流程现在已配置为发送电子邮件。
从客户端,您需要包含sp.workflowservices.js
. 然后您需要做的就是检索工作流实例并启动它。
您可以使用这样的函数从 SharePoint 托管的应用程序中使用 JavaScript 发送电子邮件。
function sendEmail(from, to, body, subject) {
var appweburl = decodeURIComponent(getQueryStringParameter('SPAppWebUrl'));
var urlTemplate = appweburl + "/_api/SP.Utilities.Utility.SendEmail";
$.ajax({
contentType: 'application/json',
url: urlTemplate,
type: "POST",
data: JSON.stringify({
'properties': {
'__metadata': { 'type': 'SP.Utilities.EmailProperties' },
'From': from,
'To': { 'results': [to] },
//'CC': { 'results': [cc]}, //Maybe you want to include a CC address?
'Body': body,
'Subject': subject
}
}
),
headers: {
"Accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
},
success: function (data) {
alert("An email was sent.");
},
error: function (args) {
alert("We had a problem and an email was not sent.");
}
});
}
您将无法在客户端发送实际的电子邮件,但您可以形成电子邮件并将其发送到将发送电子邮件的 ASP.Net 页面。
有关示例,请参阅如何从 JavaScript 发送电子邮件。