我想在用户将项目添加到我的列表时向管理员发送电子邮件。我已经更改了列表的NewForm,并执行添加项目:
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', retrieveListItems);
现在,在我的SharePoint中,公司已禁用列表上的电子邮件通知。所以我想要一些代码在用户添加项目后自动发送电子邮件。 我已经拥有添加该项目的人的用户名。
var loginName = "";
var userid = _spPageContextInfo.userId;
GetCurrentUser();
function GetCurrentUser() {
var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/getuserbyid(" + userid + ")";
必须将电子邮件发送到公司Outlook服务器的地址。可以使用SMTP。
马
答案 0 :(得分:0)
这是一个使用javascript发送电子邮件的小代码段。
function getUserEmail(){
$.ajax({
url:spPageContextInfo.webAbsoluteUrl + "/_api/web/getuserbyid("+_spPageContextInfo.userId+")?$select=Email",
headers:{"Accept": "application/json;odata=verbose","content-type": "application/json;odata=verbose"},
success:function(result){
var email = result.d.Email;
sendEmail("xxxx@email.com", email, "body", "subject");
}
});
}
function sendEmail(from, to, body, subject) {
var siteurl = _spPageContextInfo.webServerRelativeUrl;
var urlTemplate = siteurl + "/_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]
},
'Body': body,
'Subject': subject
}
}),
headers: {
"Accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose",
"X-RequestDigest": jQuery("#__REQUESTDIGEST").val()
},
success: function (data) {
console.log(data);
},
error: function (err) {
console.error(err);
}
});
}
但这也取决于你的情况。您能否提供更多有关以下内容的详细信息:
我已经为列表更改了NewForm并使用以下命令执行添加项:
你是怎么进行的? 您是在处理内部部署还是在线实例?
答案 1 :(得分:0)
似乎在添加项目时仍可以在列表上设置警报。所以这解决了我的问题。