SharePoint Online之通过JSOM发送邮件
我们在SharePoint 开发过程中,经常会用到发邮件的功能,例如向Manager提醒有需要待办任务等等场景。
一般我们会采用Workflow或者Power Automate。今天我们不介绍这两种方式,我会在后边的文章中进行介绍。
今天我给大家介绍的方式是使用采用Client Model中的JSOM来实现邮件的发送。即“SP.Utilities.Utility.SendEmail” 的方式。
主要的代码如下:
var sendEmail=()=>{
const emailProps= {
To: [],//发送的电子邮件地址数组
CC:[],//抄送的电子邮件地址数组
Subject: "<Email Subject>",//邮件的Subject
Body: "<Email Body>"//邮件的正文,支持HML
};
var siteUrl = "Your SharePoint Site Url"; //SharePoint 网站的Url
var urlTemplate = siteUrl + "/_api/SP.Utilities.Utility.SendEmail";
getFormDigest(siteUrl).then((data)=> {
$.ajax({
contentType: 'application/json',
url: urlTemplate,
type: "POST",
data: JSON.stringify({
'properties': {
'__metadata': {
'type': 'SP.Utilities.EmailProperties'
},
'To': {
'results': emailProps.To
},
'Body': emailProps.Body,
'Subject': emailProps.Subject,
'CC': {
'results': emailProps.CC
},
}
}),
headers: {
"Accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose",
"X-RequestDigest": data.d.GetContextWebInformation.FormDigestValue
},
success: function(data) {
console.log("Email Sent");
},
error: function(err) {
console.log("Got Error");
}
});
});
}
var getFormDigest=(webUrl)=>{
return $.ajax({
url: webUrl + "/_api/contextinfo",
method: "POST",
headers: { "Accept": "application/json; odata=verbose" }
});
}
注意:
- 此代码必须在SharePoint Online的环境中运行。
- 电子邮件的收件人必须是曾经访问过此网站的用户。
因此,在结束本文之前,请注意,如果您得到一个403的错误,大多数情况下可能是由以下两种情况引起的:
- 你没有得到上下文,因为你应该检查你得到的RequestDigest
- 将Jquery的版本更新到最新
欢迎大家沟通交流,共同探讨SharePoint Online的使用。
SharePoint Online之通过JSOM发送邮件的更多相关文章
- 如何在SharePoint 当中使用纯JSOM上传任意二进制文件(小于2MB)
在微软的官方网站上有关于如何在SharePoint当中使用JS创建一个简单的文本文件的例子,经过我的思考我觉得结合Html5特性的浏览器,是完全可以通过JS来读取到文件的内容的(这一部分的内容请大家自 ...
- Sharepoint 2013 创建TimeJob 自动发送邮件
创建Time Job 继承继承SPJobDefinition 并且实现里边的 Execute方法 部署 可以手动部署,把程序集放到GAC,手动激活feature 如果部署的时候说feature已经存在 ...
- SharePoint Framework 向web部件中添加外部库
博客地址:http://blog.csdn.net/FoxDave 在进行开发的时候,你很可能会想要引用一些公开的JavaScript库到你的项目中,本文将会介绍如何打包和共享这些库. 打包脚本 默认 ...
- SharePoint SPUtility.SendEmail 发送邮件设置级别
前言 熟悉sharepoint开发的都知道,sharepoint默认有个发送邮件的方法,不过,最近有个需求,用户希望发送邮件的时候,带上邮件的级别. 经过研究,发现有下面的办法,可以添加邮件的发送级别 ...
- 基于Windows Azure 搭建基于SharePoint 2010 Intranet、Extranet、Internet (4): 配置传出邮件服务: 使用 outlook.com 发送邮件通知
前几篇文章,已经安装了SharePoint 2010,今天将演示如何配置传出邮件.由于某些原因,企业可能没有安装自己邮件服务器,此时我们可以使用公共的邮箱服务来发送邮件通知,比如outlook.com ...
- sharepoint 中waiting screen dialog的使用方法(JSOM)
sharepoint中有一个种wait screen的弹出框,其实就是一直转圈,告诉你等待一会儿时间.用法如下: 弹出: var watiDialog = SP.UI.ModalDialog.show ...
- SharePoint使用jsom查询当前用户信息
前置环境:sharepoint 'use strict'; var context = SP.ClientContext.get_current(); var user = context.get_w ...
- 如何修改sharepoint中alert发送邮件模板
In my post last week I talked about customizing alert notifications and alert templates. Sometimes y ...
- [SharePoint 2013] Set value for people editor with JSOM
function PeoplePicker() { this.context = null; this.web = null; this.currentUser = null; this.parent ...
随机推荐
- tp5 日志的用途以及简单使用
相信大家对日志这个词都很熟悉,那么日志通常是用来做什么的呢? 找错误和监控 正常来说,日志对维运的帮助是最大的,特别是服务器或者是程序出现错误的时候. 那么现在我们就来看看,tp框架的日志是怎么设置的 ...
- .net core quartz job作业调度管理组件
定时作业对于多数系统来说,都会用到,定时作业的实现方式可以有多种方式,简单的方式用Timer就可以实现,但是达不到通用的效果,本文采用Quartz基础组件来搭建一套企业通用的作业调度管理服务,希望对于 ...
- ABBYY FineReader 15快速转换文档详解
作为一款专业的"PDF编辑器",用户可通过使用ABBYY FineReader 15的"快速转换"功能,将各种格式的一个或多个文件合并PDF文档.Micros ...
- ABBYY FineReader如何将图片转换为Excel
ABBYY FineReader的OCR文字识别功能很强大,不但可以将文件转换为文本文档或Word文档,也可以识别PDF文件或者图片上的表格,并且转换为Excel文件.下面我就为大家演示一下怎么用AB ...
- 永别了,Dota2!
永别了,Dota2 .输了游戏,我还有人生! 游戏中,总有那些喷子,自己玩的不好,经常说人家! 和大便打架,即使赢了,身上也非常臭! 所以对于这种人,敬而远之即可!不吵不闹,默默把锅扛起!赢了,就好说 ...
- python的pip安装超时问题解决
使用pip install 安装python第三方库时出现了如下错误:pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionP ...
- wraps装饰器的使用
functools模块中的wraps装饰器 说明 使用functools模块提供的wraps装饰器可以避免被装饰的函数的特殊属性被更改,如函数名称__name__被更改.如果不使用该装饰器,则会导致函 ...
- 【jvm】MinorGC和FullGC
新生代GC(Minor GC)指发生在新生代的垃圾收集动作,因为java对象大多都具备朝生夕灭的特性,所以Minor GC非常频繁,一般回收速度也比较快. 老年代GC(MajorGC/Full GC) ...
- 交换机三种端口模式Access、Hybrid和Trunk
以太网端口有 3种链路类型:access.trunk.hybird 什么是链路类型? vlan的链路类型可以分为接入链路和干道链路. 1.接入链路(access link)指的交换机到用户设备的链路, ...
- 《MySQL慢查询优化》之SQL语句及索引优化
1.慢查询优化方式 服务器硬件升级优化 Mysql服务器软件优化 数据库表结构优化 SQL语句及索引优化 本文重点关注于SQL语句及索引优化,关于其他优化方式以及索引原理等,请关注本人<MySQ ...