发送SharePoint 2013列表中的总项目的电子邮件

时间:2016-03-19 09:08:38

标签: list sharepoint sharepoint-2013 sharepoint-workflow

如何在SP2013中创建自动电子邮件,以提供SP2013列表中的项目总数?

3 个答案:

答案 0 :(得分:0)

您可以通过服务器(或任何其他服务器,如果您使用客户端OM)使用任务计划程序(在特定时间间隔)触发发送电子邮件。其他选项是使用事件接收器:在itemadded事件中,计算总项目并通过c#发送电子邮件。 你的问题很短,所以增加一些细节,你会更容易给你一个完整的答案

答案 1 :(得分:0)

不确定是否可以使用工作流程,因为我认为无法检查列表中的项目总数。在项目添加时触发工作流程,并且您只能拥有当前项目的属性。 除非您使用新创建的列表并使用itemID。这将始终使用总项目数增加ID,但每当您删除项目时,您的计数都是错误的,所以不要使用它。

我会创建一个处理列表的onitemadded事件的服务器场解决方案。然后,您可以轻松地从事件接收器附带的SPItemEventProperties中获取列表对象。 然后做这样的事情(对不起,我暂时没有我的开发环境):

SPQuery query = SPQuery.CreateAllItemsQuery();
List mylist = properties.List;

SPListItemCollection items = mylist.getItems(query);

int totalCount = items.Count;

if(totalCount < 16){
//SEND EMAIL LOGIC
}

只能通过C#发送电子邮件。

加分:如果要重复使用此逻辑,您始终可以为SharePoint工作流创建自定义操作/条件。

答案 2 :(得分:0)

酷代码,但有一个简单,更完整的开箱即用方式来实现这一目标。

获取总项目:

在列表A中创建名为ListA_ID的单行文本字段。创建一个订单项并将此字段设置为您选择的值。

向ListB添加一个名为ListA_ID_lookup的查阅列(在此列表中创建的所有项目都需要设置为在列表A中创建的相同值)。

在ListA中创建一个名为“列表B中的值总数”的新查找列

设置查找以从以下位置获取信息:列表B. 在此列中:ListA_ID_lookup(相关计数)

列表A上的计数相关字段将报告与查找列匹配的项目总数。

然后,您可以以某种方式创建循环工作流,以您选择的间隔发送更新电子邮件。当更新B中的列表项时,我将创建一个工作流来更新列表A中的字段,这将启动从列表A发送电子邮件的工作流。如果“列表B中的值总数”小于20,电子邮件操作等等等。

有几种方法可以执行此电子邮件部分。