如何在SharePoint托管应用程序中发送电子邮件?

时间:2013-02-01 09:01:42

标签: sharepoint client-side sharepoint-2013

我正在使用SharePoint托管应用,并尝试发送带有客户端代码的电子邮件。我是否必须使用工作流程或事件接收器来执行此操作?似乎无法找到任何相关信息。

有什么想法吗?

3 个答案:

答案 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