lotusscript开发者论坛

lotusscript开发者论坛

在 Lotus Notes 中设置邮件定时发送的方法及代理功能介绍

 
孙 茂伟, 测试工程师, IBM
孙茂伟在北京科技大学获得工学学士、工学硕士学位,现于 IBM CDL ECM FileNet EForms TEAM 从事自动化测试相关工作。

 

简介: 本文将向广大 Lotus Notes 用户详细介绍定时发信功能的设置方式,使大家对 Lotus Notes 的代理功能有所了解,然后进一步为用户介绍代理功能的使用方式、调试方法、安全性的特性,使用户对此功能有一个比较全面的了解。

<!--

-->

发布日期: 2010 年 7 月 27 日
级别: 初级
访问情况 1120 次浏览
建议: 0 (添加评论)

1 star2 stars3 stars4 stars5 stars 平均分 (共 7 个评分 )

引言

在 Lotus Notes 中并没有直接提供定时发信这样的功能,但是在许多公司日常工作中,这项功能却会常常被用到。那么,Lotus Notes 中该如何满足定时发信这种需求呢?其实,Lotus Notes 提供了一种更为灵活的解决方式,这种方式不仅仅能够解决定时发信的问题,而且对于很多其它更为复杂的问题都能够提供很好的解决方案,这就是我们要介绍——代理功能。

代理是在一个或多个数据库中执行特定任务的独立程序。其使用灵活、功能强大。我们首先以设置 Notes 定时发信功能为例来简要介绍一下代理功能。


用代理设置定时发信

仅以 Lotus Notes8.5 中设置定时自动发信功能为例,设置方法如下:

  1. 在 Notes 收件箱界面,点击创建 > 代理,进入代理设置界面。
  2. 代理设置界面主要分为左右两个部分,左侧主要是记录所设置的代理用到的资源、结构等,设置不同类型的代理,其左侧视图也不尽相同;右侧视图用于代理功能的实现,操作对象的设置、操作的定义、代理运行的代码都在这里设置,界面如图 1 所示。

    图 1. 代理创建界面
    图 1. 代理创建界面

  3. 下面我们来设置代理的属性,在右侧视图单击鼠标右键,选择代理属性,出现代理属性对话框,如图 2 所示。若不出现则重复一次此操作即可。在名称栏输入代理名称,比如 “EmailSender”,选中私有选项,在此选项中,共享选项指此代理由一个用户创建且其它用户可以运行,私有代理则是指只能由代理的创建人运行的代理。对于运行时间选项,我们选择“按日程安排”。定义定时发信的时间,在这里我们选择每天一次,点击“日程安排”,出现代理日程安排对话框。选择定时发信的时间(即开始运行刺代理的日期选项中对应的时间),如:10:00。勾选限制代理运行日期中的三个选项,设置运行代理的开始日期为今天,停止运行代理的日期为明天,单击确定按钮。将代理属性选项卡中的目标选项选为“所有创建及修改过的文档”。点击代理属性窗口右上角的“X”,关掉代理属性窗口。代理属性设置完毕。

    图 2. 代理属性界面
    图 2. 代理属性界面

  4. 接下来我们可以看到在右侧视图的左上角有个下拉框,如图 3 所示。下拉框里面的选项是 Notes 中代理实现的五种方式,有:公式、简单操作、LotusScript、导入的 Java 和 Java。在这个例子中,我们选择简单操作来实现定时发信功能。这时我们可以看到左侧视图在代理的树形结构下有文档选择和操作两个子节点。

    图 3. 代理实现方式选择方法
    图 3. 代理实现方式选择方法

  5. 下面我们来为定时发信设置发送内容和发送操作。我们在收件箱视图中 Folders 目录下建立一个文件夹,叫 EmailTest,这个文件夹用于存储我们想要定时发送的邮件。

    然后,我们回到代理设置界面,点击文档选择节点,如图 4 所示。这时在右侧视图的左下角我们可以看到“添加条件”按钮,单击此按钮,出现添加条件对话框。这时在条件下来列表中我们选择“在文件夹”,然后在文件夹和视图列表中找到我们刚刚创建的文件夹 EmailTest,点击添加按钮,完成添加文档的操作。



    图 4. 选择文档
    图 4. 选择文档

    选择完要发送的文档,我们在代理设置的左侧视图中单击操作,这时右侧视图左下角的位置出现添加操作按钮,如图 5 所示。我们单击此按钮,此时出现添加操作对话框。在操作下来列表中,我们选择发送邮件消息,然后对话框如图所示,我们填写好收件人和邮件主题,勾选“在消息中包含指向文档的链接”和“在消息中包含文档的拷贝”两项,单击添加按钮,完成添加操作的过程。



    图 5. 定义操作
    图 5. 定义操作

  6. 此时我们回到代理创建视图,所有基本设置已经完成,我们按下键盘上“ESC”键,出现对话框,问我们是否保存修改,点击“是”,保存代理。

    这时定时发信功能已经设置完毕,接下来测试一下。我们创建一封邮件,保存到 EmailTest 文件夹。然后单击查看 > 代理,进入代理列表,如图 6 所示,找到我们刚刚创建好的代理“EmailSender”,右键单击“运行”,我们看到代理日志显示运行成功,单击“完成”。我们再到收件人信箱,确认对方确实已经收到邮件。这说明我们的设置已经成功了。



    图 6. 查看并测试代理
    图 6. 查看并测试代理


代理功能介绍

通过上面的例子,大家对定时发信功能的设置方式和代理的使用方法都有了简单的了解。在设置过程中大家也能够看到,大多数步骤都会有很多可供选择的选项,那么下面我们就几个比较主要的功能选项向大家更为全面的介绍一下代理这个功能。

1.代理运行选项:可以设置代理如何运行,主要有手动运行、基于数据库活动运行(如图 7 所示)和定时运行三种方式。

手动运行包括从 < 操作 > 菜单中选择执行、从代理列表中选择执行;基于数据库活动运行包括在邮件到达之前运行、邮件到达后运行、创建或修改文档后执行、当文档被粘贴时执行;定时执行可以设置为日程按配种每天多于一次执行,按小时执行、按日执行、按周执行、按月执行或者不定时执行,如图 8 所示。


图 7. 手动或给予数据库活动运行方式
图 7. 手动或给予数据库活动运行方式

图 8. 定时运行方式
图 8. 定时运行方式

在设置定时执行来执行代理时,可以选择以下选项来确定代理运行的位置:“运行于”列表中的本地、“运行于”列表中的指定服务器和“运行于”列表中的任何服务器。其中本地指仅在工作站运行,选择此选项时 Notes 在代理运行时通常不检查安全性限制。当代理运行于多个服务器上并且正在更改被复制数据库中的文档时,代理可能会引起复制冲突。这时就可以使用“运行于”列表中的指定服务器选项来为代理指定运行的服务器,从而避免这个冲突。

注:在使用定时代理时,我们可以通过指定代理运行的服务器然后设置数据库复制定时安排来防止复制冲突对代理的定时运行产生影响。

2.代理的调试方式,主要分为四种:

对于不使用其它代理并且只使用简单操作或者公式来定义的代理,我们可以使用“测试”菜单项进行调试;对于使用 LotusScript 来定义的代理,我们可以使用 LotusScript 调试器来进行调试;对于 Java 程序,我们可以使用 Java 编译工具;对于比较复杂的代理,应创建数据库的测试拷贝来进行调试。

使用“测试”菜单项的方法:在代理查看界面,右键单击要调试的代理并选择“操作 > 代理”选项。通过读取并检查代理日志来查找错误。在代理日志中主要包含了要处理多少文档、如果运行代理将执行哪些操作等内容。

LotusScript 调试器的操作方法:选择“工具 > 调试 LotusScript”,运行代理,显示 LotusScript 调试器界面,并通过单步执行来调试所要测试的代理。

使用 Java 编译工具的方法:在代理创建界面,当我们选择用 Java 的方式来实现代理功能时,在界面右下角会出现编译按钮,我们可以选择单独编译单个 Java 文件或者全部编译,如图 9 所示。


图 9. Java 编译方法
图 9. Java 编译方法

创建测试数据库的调试方法:选择“文件 > 数据库 > 新建拷贝”来新建数据库的测试拷贝和文档拷贝。然后创建测试文档。这时若所测试的代理不包含对发送文档进行的操作,则所有代理的测试拷贝都可以放在本地。如若不然,则测试数据库必须在服务器上且通讯录中必须存在“函件收集数据库”文档。创建完测试拷贝后,我们可以创建测试文档。这时若所测代理需处理发送文档,那么我们可以向测试数据空发送几个文档;若其处理粘贴文档,则我们可以想测试数据库中粘贴几个文档。然后,运行代理并用其他与代理实现方式所对应的调试工具寻找错误。当测试通过后,将代理拷贝到正常使用的数据库中。对于一个步骤较多或者任务复杂的代理,我们可以将其分割为几个小任务并为每个任务单独创建代理。这样在测试的时候我们可以对每个代理分别测试并做修改,最后将所有通过调试能够正常运行的代理合并成为一个代理再次进行测试,从而降低测试的复杂度,也使得代理的实现更加容易。

3.代理的安全性设置,这项设置并不是在 Notes 客户端可以设定的,但是代理设计人员对这项内容的需要有一定的了解。这项内容主要包括两个方面:一是哪些人可以创建代理,二是哪些人可以运行代理。

用户使用存储于本地工作站上的 Notes 数据库中的代理不受任何限制。这里讨论的是那些创建并运行于服务器上的 Notes 数据库中的代理。用户想要创建这样的个人代理,需要有“读者”或者更改存取级别并同时启用“创建个人代理”功能;如果用户希望使用简单操作和公式创建共享代理,那么他需要被授予“设计者”或者更高存取级别;对于希望使用 LotusScript 或者 Java 代理创建共享代理的用户,其需要有“设计者”或者更改级别存取级别的同时,还要启用“创建 LotusScript/Java 代理”功能。

那么哪些人可以运行已经创建好的代理呢?

对于个人代理而言,可以再通讯录中的“服务器”文档中单击“安全性”标签,在代理限制区段有“允许运行个人代理”选项,空白表示可以访问服务器的每个用户都可以运行个人代理,若勾选此选项,我们可以在这里指定可以运行个人代理的用户的用户名。

对于共享代理来说,通过指定用户存取级别来设置用户可以运行的共享代理级别。具有“读者”或更高存取级别的用户可以运行共享代理,不在存取控制列表或者只有“存放者”存取级别的用户是不能运行共享代理的。

对于 LotusScript/Java 代理,可以通过设置“运行受限制的 LotusScript/Java 代理”和“运行无限制的 LotusScript/Java 代理”两个选项来进行控制。授予用户“运行无限制的 LotusScript/Java 代理”的权限,会对安全性具有潜在的危害,所以应保证尽可能少的用户享有此项权限。


总结

通过上面的介绍相信大家对代理有了更加全面的认识。通用户可以通过简单操作、公式、LotusScript 或 Java 程序等方式来设计代理使得 Notes 中的代理可以实现强大的复杂多样的功能;通过对代理运行方式的设置可以使 Notes 中的代理运行起来非常的灵活,这就满足了很多高级用户日常的那些复杂多变的需求。这也成为了 Nots 系统的特色功能之一。


参考资料

学习

获得产品和技术

讨论

关于作者

孙茂伟在北京科技大学获得工学学士、工学硕士学位,现于 IBM CDL ECM FileNet EForms TEAM 从事自动化测试相关工作。

阅读更多
个人分类: domino domino管理
想对作者说点什么? 我来说一句

notes定时邮件

2010年09月09日 232KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭