2015-11-25 57 views
3

并提前感谢您的答案。SharePoint 2013发送电子邮件从联系我们表格通过REST/JS

我想通过联系我们发送电子邮件表格。它似乎工作,但我没有收到任何电子邮件。我对REST没有任何经验,并希望有人确定他们是否能够发现任何问题。

这是在SharePoint 2013企业发布网站上。

我为了隐私目的更改了一些变量和ID。

HTML是在自定义页面布局中,并且在jQuery之后,JS在同一页面布局中被成功调用。

JS:

$.noConflict(); 
jQuery(document).ready(function($) { 
    // Code that uses jQuery's $ can follow here. 
    function submitForm() { 
     var toAddress = "[email protected]"; 
     var fromAddress ="[email protected]"; 
     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> 

回答

1

你的代码有一个错误:

我改变To: toAddressTo: { 'results': [toAddress] }

现在,每件事情都很好,我也收到了电子邮件。

var data = { 
     properties: { 
      __metadata: { 'type': 'SP.Utilities.EmailProperties' }, 
      From: fromAddress, 
      To: { 'results': [toAddress] } , 
      Body: emBody, 
      Subject: emSubject 
     } 
    } 
相关问题