2015-11-25 95 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 
     } 
    } 
相關問題