我正在使用SharePoint托管应用,并尝试发送带有客户端代码的电子邮件。我是否必须使用工作流程或事件接收器来执行此操作?似乎无法找到任何相关信息。
有什么想法吗?
答案 0 :(得分:2)
您可以将Visual Studio中的工作流添加到项目中。将电子邮件从工具箱拖放到工作流程中,设置参数,然后您的工作流程现已配置为发送电子邮件。
从客户端,您需要包含sp.workflowservices.js
。然后,您需要做的就是检索工作流实例并启动它。
答案 1 :(得分:2)
您可以使用此类功能从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.");
}
});
}
答案 2 :(得分:1)
您无法在客户端发送实际的电子邮件,但您可以形成电子邮件并将其发送到将发送电子邮件的ASP.Net页面。
有关示例,请参阅How to send an email from JavaScript。