Для SharePoint Online логин пользователя и userEmail должны быть одинаковыми и будут:
username@tenantname.onmicrosoft.com
Для SharePoint On-Premise _spPageContextInfo предоставляет только свойство userId для электронной почты и имени пользователя:
<script src="//code.jquery.com/jquery-3.1.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
var userid = _spPageContextInfo.userId;
function GetCurrentUser() {
var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/getuserbyid(" + userid + ")";
var requestHeaders = { "accept" : "application/json;odata=verbose" };
$.ajax({
url : requestUri,
contentType : "application/json;odata=verbose",
headers : requestHeaders,
success : onSuccess,
error : onError
});
}
function onSuccess(data, request){
console.log(data.d);
var loginName = data.d.LoginName;
var email=data.d.Email;
alert(loginName);
alert(email);
}
function onError(error) {
alert(error);
}
GetCurrentUser();
});
</script>
Убедитесь, что рабочий адрес электронной почты в текущем профиле пользователя не пуст.