项目需要,研究了一下WSS的Alert定制。

定制有两种方法:
(方法1)修改模板文件
默认模板是12\TEMPLATE\XML\alerttemplates.xml,将这个模板复制一份修改,然后用stsadm命令添加模板:
STSADM -o updatealerttemplates -url <http://urlname> -filename <your working copy filename>.

(方法2)写一个类,实现IAlertNotifyHandler接口,然后将这个类的实现配置到自定义的Alert模板中.同样需要用stsadm添加模板.

第一种方法好处是不需要处理具体的发邮件逻辑,但是,因为模板的声明是采用类似CAML的语法,修改起来很是麻烦,并且不能做一些复制的逻辑判断.
第二中方法需要代码来处理发邮件逻辑,控制灵活,但是可能会失去一些系统模板的功能(如项目修改事件通知可以显示出那些字符修改了,那些字符是新添加的).

具体请参考这两篇文章:
http://support.microsoft.com/kb/948321
这篇是wss sdk团队的人写的:
http://blogs.msdn.com/sharepointdeveloperdocs/archive/2007/12/07/customizing-alert-notifications-and-alert-templates-in-windows-sharepoint-services-3-0.aspx

以上两篇文章都采用stsadm添加Alert template,其实,用代码也是可以的:

string templateName="customTemplate1";
//取到服务器的模板即可
SPAlertTemplateCollection ats = new SPAlertTemplateCollection((SPWebService)( base.GetCurrentSPSite().WebApplication.Parent)); 
            
//添加或修改模板
            SPAlertTemplate t = ats[templateName];

            if( t == null )
                t = ats.Add();

            t.Name = templateName;
            t.Xml = xmlDoc.InnerXml;

            t.Update();

//可以单独设置列表的模板:
SPList list = someList ;
list.AlertTemplate = ats[templateName];
//列表试用的模板必须存在与服务器的模板集合中,直接呢为一个模板对象是不可以的.
list.ParentWeb.AllowUnsafeUpdates = true;
list.Update();

转载于:https://www.cnblogs.com/jianyi0115/archive/2008/04/09/1145751.html

WSS Alert(邮件提醒) 定制相关推荐

  1. linux 设置邮件提醒,linux 定时邮件提醒

    简单实现对Linux服务器的定时监控,可以通过定时执行任务和邮件收发来实现. 定时执行任务:crontab crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程.crond ...

  2. Community Server2.0专注细节一 邮件提醒按钮实现(上) [转]

    作者: 彭斌 ,广州.NET俱乐部 2006-3-9 在去年的CS1.x专题中,我用了大部分的时间去讨论CS底层的结构与运行机制.在接下来的CS2.0系列文章中我将专著细节.来分析CS2.0的一些部件 ...

  3. 自制CSDN博客评论邮件提醒

    CSDN 本身是有评论邮件提醒服务的.我知道,但是........... 你们自己看吧.... 干啥啊?邮件轰炸机嘛?? 拉黑,拉黑 !!! 自己搞一个了. 上代码: # -*- coding:utf ...

  4. php订单系统 帝国cms,帝国CMS商城系统在线支付后,订单邮件提醒

    帝国CMS是个强大的内容办理系统.其商城的功能也很强大 当用户下单.支付后我们如何知道有用户下单了呢?因为我们不克不及不时刻刻都在网站后台.不竭的刷新页面去看有无订单.最常用的做法是用邮件提醒我们.有 ...

  5. java 拉取收件箱邮件源码_邮件提醒系统:新邮件识别

    最近在做邮件提醒抄送企业微信消息系统,就目前而言,无论是pop3还是imap都没有一个好的方法只接收新邮件,基本只能依靠收件箱列表message自行判断,下面给出几种思路并作对比. //收件箱 fol ...

  6. 域帐号密码快过期邮件提醒

    社会的快速发展,企业的规模也随之变大,这样企业的人数自然也增多,由于人数的众多,为了便于管理所以用起了域环境,但是根据某些企业的性质,部分员工也可能不登陆域帐号,以至密码过期,这样,时间一长,域帐号的 ...

  7. python QQ空间新说说邮件提醒功能实现

    先看一下qq邮件是怎么发送的!! 我们先做一个qq邮件发送的插件 #coding:utf-8 #导入所需要的工具包 import smtplib import time from email.mime ...

  8. 力扣每日一题每天自动邮件提醒

    A.需求来源与分析 需求来源于生活,对于只是偶尔有兴趣做做题的我,力扣的每日一题对我一直有以下的不便: 太简单不想做,需要花太多时间的不想做,每天打开力扣其实只是想看一下是什么题,有意思才做. 看题需 ...

  9. 基于UDP心跳监测及邮件提醒功能的看门狗实现

    1. 背景 在服务器应用程序中,为了能够及时检测到服务器程序崩溃,并重新启动服务器程序,所以,我们需要实现一个监测程序,持续检测服务器程序的运行状态. 2. 思路 在服务器程序中,建立一个基于UDP的 ...

最新文章

  1. 【错误记录】Flutter / Android 报错 ( AAPT: error: attribute android:requestLegacyExternalStorage not found )
  2. [创业经验] 白手起家的艺术
  3. 获取下月第一天_获取当前月 下月 下下月 的第一天和最一天
  4. AssetBundle系列——共享资源打包/依赖资源打包
  5. 08-Windows Server 2012 R2 会话远程桌面-标准部署-使用PowerShell进行部署2-1
  6. menuconfig和Kconfig、.config的关系
  7. springboot+前端实现文件(图片)上传到指定目录
  8. 常用chrome插件常用FireFox插件
  9. SSH中各个框架的作用以及Spring AOP,IOC,DI详解
  10. gliffy-confluence-plugin-9.1.2安装
  11. USBKEY全解析---概要介绍
  12. mysql dual表用法_mysql dual表的用途及案例
  13. word:分节符-分页符
  14. xctf攻防世界web新手练习区--write up
  15. Python学习(六)Python自带IDLE使用方法
  16. 餐饮门店每日业务情况数据分析仪表盘(外卖平台)
  17. Docker-compose容器编排
  18. KOL营销→品牌IP,小红书品牌升级方法论
  19. racket android,RacketGhost | F-Droid - Free and Open Source Android App Repository
  20. 使用QuickTime Player将iPhone屏幕投至MacBook

热门文章

  1. 64位Ubuntu kylin 16.04 安装laptop mode解决关闭盖子无法唤醒,并解决安装此模式后鼠标间歇断电
  2. mysql 8.0数据备份恢复_MySQL 8.0 增强逻辑备份恢复工具介绍-爱可生
  3. alibab仓库 idea_01.微服务架构编码、构建
  4. robot ride edit 页面不显示_【框架】robot-framework预研
  5. tp3.2 不能提交到action方法_什么是死锁,如何避免死锁(4种方法)
  6. vbs打开软件光标停在第一个输入框_三维设计软件,3DMAX最全快捷键大全,赶快收藏哦...
  7. 十分钟计算机说课稿,足球十分钟说课稿范文(精选3篇)
  8. win10兼容模式怎么设置_win10护眼模式关不掉怎么办
  9. UFLDL教程: Exercise: Sparse Autoencoder
  10. QT+VS中使用qDebbug()打印调试信息无法显示