您要打印的文件是:Domino SMTP 关于中文的设置 打印本文
Domino SMTP 关于中文的设置
来自: http://edu.cn700.com
1,Domino SMTP 邮件出现中文乱码的情况
Domino SMTP 在系统设置正确的情况下,邮件仍然有可能出现乱码。主要原因如下:
a)MIME 邮件信息标识的字符集与实际使用的字符集不符 (例如邮件信息标识是"ISO-8859-1" ,而实际使用的是韩文 "EUC-KR")
b)MIME 邮件信息没有使用字符集标识
c)邮件文件传递的是非 MIME 信息
2,R4 与 R5 对中文邮件的支持
R4 与 R5 都支持中文邮件的输入与显示。相对而言,R5 对中文邮件的支持更好。
R4 中系统对中文的设置很简单,同时对于 internet 邮件的接收,存在着 Notes 格式与 MIME 格式的转换,因此出现乱码时,可使
用的解决问题手段更少一些。
R5 的系统中增加了对于中文字符集的设置,而且该产品还支持 Unicode 显示,特别是 R5 的邮件路由任务可以直接接收与发送 MIME
格式的邮件而不用做专门的转换,大大提高了信息的保真度,减少了乱码的产生。
3,R4.6X 中关于中文邮件的设置:
(
打开服务器文档---->Internet 消息传输代理:如下图) 在“使用字符集检测”域中选择“是”。
在“语言参数”域中输入“CN”,
4,R5 中关于中文邮件的设置:
1),打开 SMTP 服务器的配置文档--->MIME---->基本,在“主要字符集群组”域中选择“简体中文”。
2),打开 SMTP 服务器的配置文档--->MIME---->转换选项---->返回,在“如果消息没有字符集信息,则使用字符集自动检测”
域中选择“是”。
,
3) 打开 SMTP 服务器的配置文档--->MIME---->按字符集群组的设置,在“按字符集群组的 MIME 设置”域中,选择“简体中文”。
4),打开 SMTP 服务器的配置文档--->MIME---->高级---->高级返回消息选项,在“对于带有未知字符集的非 MIME 消息或 MIME
消息,8 位字符集应该是”域中选择“GB2312”。在“字符集名称别名”域中输入“ISO-8859-1”,在“映射为”域中选择
“GB2312”。
源码中国技术中心 http://edu.cn700.com
Domino R6 新特性:设置服务器邮件规则
说明:
可以为服务器创建内容过滤规则,用于定义对特定邮件应采取的操作。如果在
MAIL.BOX 中存在满足特定条件的新邮件,Domino 会自动执行指定的操作。规则
条件基于邮件头中的内容。 可能采取的操作包括记录邮件、将邮件移动到基地或
隔离数据库、拒绝接受或邮递邮件、更改邮件的路由状态。只能为每个规则指定
一个操作。规则条件基于邮件头或邮件正文中的内容。
邮件规则自动处理各种情况下的邮件。通过配置一组条件和操作,可以定制规则
以阻止垃圾邮件或拦截包含可疑内容的邮件。例如,可以创建规则,以拒绝带有
类似“快速致富”等一类主题的邮件或来自已知的垃圾邮件发件人的邮件。 与此
类似,还可以限制用户接收非业务目的的邮件附件,方法是设置一个规则,以便
截取包含特定文件类型(EXE、VBS、VBE、SCR 等等)附件的邮件,并将这些邮
件重定向到隔离数据库。在该数据库中,这些邮件可由管理员查看并有选择地发
送给指定的收件人。
如果规则禁止邮件到达目标,那么,除非规则操作明确指明,否则 Domino 不会
通知发件人或收件人。例如, 则
如果邮件依据规则被传送到基地数据库, Domino
不会生成邮递失败报告,也不会向收件人说明邮递给该收件人的邮件已被截取。
相反,如果邮件触发了带有指定的两部分操作(“不邮递邮件/发送 NDR”)的
规则,则发件人会接收到说明邮件由于策略原因而被拒绝的邮递失败报告。
注意:当规则条件触发了“不接受邮件”操作时,虽然 Domino 不会向发件人发
出通知,但由于邮件处于 MAIL.BOX 中时会执行规则,因此发件人仍会接收到说
明邮件被拒绝的通知。例如,当 Domino SMTP 侦听程序由于邮件规则而拒绝了
邮件时,发件 SMTP 服务器会接收到错误,该错误说明事务由于策略原因而被拒
绝。通常,接收到此类错误的服务器会为发件人生成邮递失败报告。与此类似,
当邮件规则禁止服务器接受邮件时,试图将邮件放入 MAIL.BOX 中的 Notes 客
户机会显示一个说明该邮件无法发送的错误。
邮件规则并不是为了充当防病毒解决方案,因此不应该用它来替代防病毒软件。
虽然可以配置规则来隔离带有已知病毒附件的邮件, 但可用的规则操作不包括常
用的防病毒功能,如检测到病毒时发出警报,或自动对文件杀毒。
Domino 会将您创建的规则存储在“配置设置”文档中。每台服务器启动时会从
相应的“配置设置”文档中检索邮件规则, 并在每个正在使用的 MAIL.BOX 数据
库上将这些规则注册为监视器。
每当 MAIL.BOX 接收到新邮件(来自 SMTP 进程、其他服务器上的路由器、存放
邮件的客户机)时,服务器会根据注册的邮件规则对各种邮件域进行评估。每个
邮件仅被评估一次。 邮件添加到 MAIL.BOX 中之后又发生的更新(如反映已处理
的收件人数的更新)不会引发对规则的重新评估。
设定邮件规则的优先级
如果启用了多个邮件规则,可以通过在列表中上下移动这些规则来设置其相对优
先级。
使新规则生效只有在保存了“配置设置”文档后,该文档才会显示新邮件规则。
请先保存并关闭新的“配置设置”文档,然后再将规则添加到该文档中。重新打
开文档后可以开始添加规则。
添加新规则时,该规则只有在服务器重新加载邮件规则后才会生效。如果服务器
任务在执行对“配置设置”文档的例行检查时检测到规则发生了更改, 则会自动
触发重新加载。这种检查大约每五分钟进行一次。可以使用控制台命令强制服务
器重新加载规则。在服务器控制台中输入以下命令:set rules。
新建邮件规则
1. 确保已具有用于服务器(将在该服务器上应用规则)的“配置设置”文档。
如果正在创建新的“配置设置”文档,请填写“基本”附签上的“群组或服务器名称”域,
然后单击“保存并关闭”。随后重新打开该文档开始添加规则。
如果在保存新文档前试图添加新规则,系统会提示您在继续下一步操作前先保存配
置。
2. 从 Domino Administrator 中,单击“配置”附签并展开“消息处理”区段。
3. 单击“配置”。
4. 选择要管理的邮件服务器的“配置设置”文档,然后单击“编辑配置”。
5. 单击“路由器/SMTP”“限制和控制”“规则”附签。
6. 单击“新建规则”。
7. 在“新建规则”对话框的“指定条件”部分,设置服务器用来确定是否将规则应用于给
定邮件的条件。
8. 单击“添加”。“规则”附签会显示新规则。
9. (可选)可通过以下操作修改条件:
添加更多条件,方法是选择“条件”,再选择“与”或“或”,然后对每个新条件重复步
骤 7 和 8。 添加例外,方法是选择“例外”,然后对每个例外重复步骤 7 到 9。只
能为每个条件语句添加一个例外。
10. 在“指定操作”区段中,指定当匹配条件语句的邮件到达时应执行的操作,然后单击
“添加操作”。可以为每条规则指定一个操作。
可指定下列操作:
11. 要保存规则并使其立即生效,请单击“确定”。
要保存规则并使其暂不生效,请单击对话框顶部的“关闭”按钮,然后单击“确定”。
12. (可选)在创建了若干条规则后,可以将其重新排队以表示其相对优先级。服务器
首先执行列表中的第一条规则,然后依次执行每条规则。要更改某条规则的位置,
请选定该条规则,然后单击“上移”或“下移”。将具有安全含义的规则放置在列表中
较靠上的位置可以确保服务器先于其他规则对其进行处理。
13. 单击“保存并关闭”。
14. 更改将在路由器配置下一次更新后生效。要使新设置立即生效,请重新加载路由配
置。
邮件规则如何处理加密邮件
如果 MAIL.BOX 接收到加密邮件(加密的 Notes、S/MIME、PGP 等等),服务器
邮件规则会处理任何基于邮件信封中未加密信息(如发件人、重要性、收件人)
的规则条件, 但不会处理基于邮件正文加密部分的规则条件。大多数规则条件是
基于邮件信封中的信息建立的。服务器不会记录那些规则无法处理邮件的实例。
在条件中指定邮件表单
通过在规则条件中指定邮件表单,可以指定规则所作用的邮件类型。在评估表单
类型时,服务器会检查使用的 Notes 邮件表单(表单项显示于文档属性中);
服务器不使用在邮件 MIME 项目中定义的表单信息。MAIL.BOX 中存放的所有邮
件都显示为 Notes 文档,包括使用固有 MIME 格式的外来 Internet 邮件。缺
省情况下,除 SMTP 未邮递报告(Domino 使用 NonDelivery Report 表单显示
该报告)外,通过 SMTP 接收的邮件均使用 Memo 表单。
Lotus Notes 的最终用户最需知道的十件事
一、 首次设置 Notes
当首次设置 Notes 时,用户使用 Notes "客户机配置"向导来设置所有连接。用
户会被询问是否:
连接到 Domino 服务器
连接远程网络服务器
使用电话线或局域网连接
使用 Notes 来接收另一 Intenrnet 邮件帐号,如,AOL 或另一 Intenrnet 服务提供
商的电子邮件消息
如果需要此连接或服务 需要了解
通过局域网连接到 Domino 服务
宿主(邮件)服务器名称、Notes 标识符和口令
器
通过电话线连接到 Domino 服务 服务器电话号码、Notes 标识符、口令和可能的中继服
器 务器或搜寻群组服务器名称
Internet 邮件帐号 ISP 登录名称、口令、POP 及 SMTP 地址或 IMAP 地址
Usenet 新 闻 组 的 新 闻 服 务 器
ISP 新闻 (NNTP) 服务器地址
(NNTP)
目录服务器 (LDAP) 目录服务器地址
注释 : "客户机配置"向导在初次安装 Notes 时运行。要添加 Internet 帐号,
或为 Notes 配置服务器的附加连接时,则需要运行连接配置向导。
二、如何打开数据库
使用数据库之前必须打开数据库。无论数据库是存储在本地还是存储在 Domino
服务器中,都可在 Notes 中将其打开。
使用文件名打开数据库
1. 选择"文件""数据库""打开"。
2. 在"文件名"框中输入路径和文件名。
提示: 要打开不是存储在 \Notes\Data 目录中的数据库,可在 \Notes\Data 目
录中创建一个文本文件。命名文件,并加入扩展名 .DIR。然后如上所述打开数
据库。文件应该显示?quot;打开数据库"对话框中。
注释: 可以输入存储在本地的 Notes 数据库 (c:\notes\data\mydata.nsf) 或
者存储在远程服务器上的 Notes 数据库 (e:\users\anna\mywork.nsf)。
从已知的 Domino 服务器打开数据库
1. 选择"文件""数据库""打开"。
2. 在"服务器"框中输入服务器的名称。如果不知道服务器的名称,可选择"其他"并从
可用服务器列表中选择一个服务器。
3. 从服务器上的可用数据库列表中选择数据库,然后单击"打开"。
注意
服务器名称通常按照层次格式写出。例如:Granite/East/Acme。
服务器上可能还有包含更多数据库的其它文件夹。?quot;数据库"窗口中,双击任何
文件夹检查其内容以查看更多的数据库。
从服务器列表打开数据库
1. 选择"文件""数据库""打开"。
2. 在"服务器"框中选择"其他",然后从可用的服务器列表中选择一个服务器。
3. 双击一个服务器并浏览该服务器上的数据库。
注 意
在服务器列表中选择"其他"之后,Notes 会显示局域网中的服务器列表供您选择。
如果希望查找列表中没有的数据库,请选择服务器上的另外一个目录,如果需要,
则浏览该目录查找所需数据库。
可以选择一个服务器数据库目录(它本身也是一个数据库)并浏览此服务器上的数
据库标题。
"打开数据库"对话框仅显示以前添加到 Notes 中的服务器。
提 示
要将数据库添加到 Notes 中但不打开数据库,请单击"书签"。
如果知道正确的路径和文件名,就可以直接在"打开数据库"对话框底部的"文件名"
框中输入路径和文件名, 而不必浏览服务器列表。例如: sales!!myfolder\mywork.nsf
打开已添加到书签栏中的数据库
1. 在书签栏中选择文件夹(位于 Notes 窗口的左边缘)。
2. 选择文件夹后,书签页将滑动展开。单击页中的书签,或选择页上的文件夹以查看
更多书签。
提示
可以在 Windows 桌面上创建 Notes 数据库的快捷方式。然后,双击快捷方式时,
Notes 将打开该数据库的缺省视图。
三、用户惯用选项
可以定制 Notes,使它按希望的方式运行和显示。可以通过选择"文件""惯用选
项""用户惯用选项"访问大多数 Notes 惯用选项。Notes 还包含一个名为 Notes
Minder 的小应用程序,它能在有新邮件的时候通知您(即使此时 Notes 并没有
运行)。也可以设置 Notes 使用"便捷图标"。
单击以下主题 查看如何执行
基本设置 ·更改图标和书签的颜色及大小 ·启动时检查预约
·查找未读文档 ·打开预定代理
·选择场所 ·更改缺省字体
·更改本地数据库文件夹 ·暂停不用时锁定用户标识符
·更改清空废纸篓的方法 ·向词典中添加单词
·标记文档为已读 ·使 Internet URL 成为可单击的热
·双击鼠标右键关闭窗口 点
·从 JavaScript 启用 Java 进行存取 ·启用 Java 小程序和 JavaScript
·启用 Notes 浏览器中的 ActiveX ·启用 Notes 中的插件
·接受 Cookie ·保留视图列排序
·对 Notes 启用 MS Office 97 SendTo ·使 Notes 作为缺省的 Web 浏览
·显示扩展快速键 器
·设置时区和夏时制 ·使用 Web 调色板
·启用 Unicode 显示
邮 件 和 新 闻 设 ·使用其它编辑器程序 ·使用其它的个人通讯录
置 · 指 定 怎 样 格 式 化 多 语 言 Internet ·指定怎样格式化 Internet 邮件消
邮件 息
·指定怎样格式化 Internet 新闻消 ·更改 Notes 检查新邮件的频率
息 ·使用数字签名和加密确保安全性
·更改怎样保存已发送的邮件
·指定收到邮件时如何通知
端口设置 ·配置端口 ·删除端口
·记录端口 ·跟踪端口连接
·启用或禁用端口 ·通过端口加密数据
安全性设置 ·用户标识符 ·口令
·更改用户名称 ·访问服务器的验证字
·公用、私有和加密密钥 ·创建、邮寄或拷贝重新验证的公用
·加密文档域 密钥
·限制执行存取 ·限制对文档和本地数据库的访问
国际设置 ·更改区域设置 ·添加等价名称
·更改目录语言 ·更改 Notes 转换字符的方法
·选择排序语言 ·选择另一种语言的拼写词典
·更改每星期的第一天 ·更改日历视图的第一天
·更改小日历视图的第一天 ·更改度量单位(英制或公制)
四、创建新的数据库
Notes 允许您使用模板(即包含表单和视图而不包含文档的文件)方便地创建数
据库。
注释
必须已安装 Domino Designer 以更改创建的数据库的设计。
1. 选择"文件""数据库""新建"。
2. 在"服务器"域中选择"本地"以将数据库存储在硬盘中。要允许多人参与数据库设计
或者读写新数据库,请输入存储新数据库的服务器名。
3. 在"标题"域中输入新数据库的标题。标题显示在书签栏上和书签页中。至多可以使
用 32 个字符。
4. 要更改缺省文件名,可在"文件名"域中指定一个唯一的、描述性的且小于 32 个字
符的文件名,后面加上扩展名 .NSF。如果正将数据库拷贝到硬盘中,作为文件名的
一部分,还需指定驱动器和目录以将新数据库存储在指定目录中。否则,数据库将
被存储在 Data 目录中。
5. 如果已将新数据库存储在硬盘上,可单击"加密"为它设置安全性。选择"在本地对此
数据库加密:",并选择一种加密类型,然后单击"确定"。详细信息,请参阅限制存
取本地数据库。
6. (可选)要指定新数据库可在磁盘上占用的最大大小,可单击"大小限制",选择大
小(至多 4G)并单击"确定"。缺省数据库大小为 1 G。它只适用于使用 .NS4 文件
扩展名的数据库,或适用于 Domino 服务器中驻留的仍未升级到 R5 的数据库。
7. 从列表中选择模板,或单击"显示高级模板"复选框以查看当前所选服务器中的所有
可用模板。也可以单击"模板服务器"以使用其他服务器上的模板。单击"关于"按钮
来阅读使用所选模板创建的数据库的概要描述。
注释: 如果不希望使用模板,可从列表中选择"空白"。
8. (建议)选择"为搜索操作创建全文索引"以加快新数据库中的搜索速度。
关于继承设计更改
随 Notes 附带的许多模板都是"主"模板。这意味着对主模板的更改将传递给由
此模板创建的数据库, 除非您指定了其它方式。如果计划定制数据库并希望避免
覆盖设计更改, 可以在选择模板后取消选择"继承未来的设计变化"选项,或取消
选择数据库的"数据库属性"框的"设计"附签中的"继承模板的设计"。
五、打开你个人的通讯录
Notes 在通讯录查找发送邮件时所需的信息。例如:给某用户发送邮件填写邮件
地址时,Notes 将在通讯录中查找此用户的邮件地址。如果 Notes 不在通讯录
中查找这类信息, 则检查邮件服务器上的 Domino 目录。也可以将关于联系和邮
寄列表的信息保存在通讯录中,这样填写邮件地址时将更方便。
另外,Notes 还在通讯录中保存以下信息:使用 Notes 的场所、使用 Notes 时
连接到的服务器和 Internet 帐户。
打开通讯录
在书签栏单击通讯录按钮:
注释: 只有工作台上存在通讯录图标时这种操作才能执行。如果没有,请选择"
文件""数据库""打开",将图标添加到工作台上。
使用不同的通讯录
缺省时,Notes 使用的通讯录名称为 NAMES.NSF。
1. 选择"文件""惯用选项""用户惯用选项"。
2. 单击"邮件和新闻"。
3. 在"本地数据库"域中键入要使用的通讯录的名称。如果通讯录不在 Notes 的数据目
录下,请键入此通讯录的路径。要使用多个通讯录,请用逗号将各个通讯录分开。
注释:启动时,Notes 在列出的第一个通讯录中查找场所信息。
4. 单击"确定"。
向通讯录中添加联系人
可以将关于个人的消息保存在通讯录的"联系人"视图中。如果保存了个人邮件地
址,则创建邮件时,可以通过键入个人姓名来填写邮件地址,而不用输入完整的
邮件地址。
Notes 将关于个人的信息保存在通讯录的"联系人"文档中。可以给通讯录中的个
人发送邮件和会议邀请。如果保存了个人的 Web 页面,则还可以从通讯录访问
个人页面。
六、 在旅途中使用 Notes
当旅行时,如果记住一些技巧,则可以很容易地使用 Notes。
在离开前
确保已知道要呼叫的服务器的名称和电话号码。
确定已经有了电话连线、特殊的电池和电源适配器,以及 Domino 管理员的电话号
码。许多国家有不同的电话插孔,所以如果要在不同的国家使用便携机,在某个国
家可能需要特定的连接器。
若本地没有"帮助"数据库,请在本地安装"帮助集萃"数据库,以便在旅行时可获得
有关在其他场所使用 Notes 和其他 Notes 主题的帮助信息。有关此数据库安装和
根据磁盘空间定制该数据库的信息,请询问 Domino 管理员。
若要用到本地复本,请在离开办公室时创建复本,因为这比在旅途中通过调制解调
器创建复本省时间。
当到达目的地时
为了将计算机与电话线路连接,将电话连线的一端接入计算机调制解调器端口,而
将另一端接入墙上的电话插孔或电话的后部。
在呼叫服务器前要切换到远程场所(例如"家庭"或"旅行") 。要切换场所,请在右下
角的状态条上单击当前场所,然后在显示的列表中选择一个新场所。 (选择"文件""
惯用选项""场所惯用选项"并选取"提示选择场所",可使 Notes 在每次打开时提示场
所信息。)
当返回时
当返回办公室时要切换回网络场所(例如"办公室")。要切换场所,请在右下角的状
态条上单击当前场所,然后在显示的列表中选择一个新场所。
定时删除日志文件以节约硬盘空间,特别是选择了"记录调制解调器 I/O"或"记录
Script I/O"选项时更应如此。
七、 创建本地复本
注意:允许在后台创建本地复本,因此可以在 Notes 复制时进行其他工
作。可以创建完整复本、部分复本或复本"存根"。
o 。
完整复本包含数据库的所有文档和设计特性(例如:表单和代理)
o 部分复本只包含选定的文档、简要的文档和/或选定的数据库特性。如果只
需要数据库的某部分,并希望节省硬盘空间(用于存放复本的空间)或减少
远程复制的费用和时间,这种部分复本是很有用的。
o 复本存根包含数据库的设计特性但不包含文档。当需要将复本装到磁盘上再
拷贝到远程工作站上时,复本存根是很有用的;以后可以将文档复制给它。
o 为节省硬盘空间,只对那些未与网络相连时需要使用的数据库建立本地复
本。
为节省时间,应在办公室与网络相连接时创建本地复本。(也可以通过调
制解调器在笔记本电脑或远程工作站上创建复本,但这要花费较长的时
间。)如果使用一台笔记本电脑,请把它带到办公室并直接在它上面创建
本地复本。如果使用一台远程客户机,那么请在办公室的另一台计算机上
创建本地复本,并将每个复本拷贝到磁盘上,然后再将复本拷贝到远程客
户机上。如果一个完整复本太大而无法装到磁盘上,则仍可通过创建部分
复本或复本存根以拷贝到磁盘上来节省时间。
在创建本地复本之前
请在创建本地复本前评阅下列信息。
文件名
指定复本的文件名时,请:
o 确认输入的文件名在创建复本的工作站上是唯一的。
o 如果希望在子目录中创建复本,在文件名前键入反斜杠和子目录。例如:要
在 SALES 子目录中创建名为 LEADS 的复本,可以键入 \SALES\LEADS。
如果指定的目录不存在,Notes 将创建此目录。
o 复本的文件名和标题对复制没有影响。如果两数据库的文件名和/或标题不
同,只要这两个数据库的复制标识符相同,仍可对其进行复制。
标题
创建复本时,Notes 将原数据库的标题指定为复本的标题。创建复本后,
可使?quot;文件""数据库""属性"更改复本的标题。
存取级别
创建本地复本时,Notes 指定对复本的存取级别为"管理者"存取级别。但
是,如果对服务器上的原数据库没有适当的存取级别(例如:只有"读者"
存取级别),那么就无法将对复本所做的更改复制回服务器。
注释 如果数据库的管理者强制在复本中使用数据库的存取控制表
(ACL),您创建复本后,Notes 将为您指定对复本的存取级别与对原数据
库的存取级别相同。 例如:如果对数据库具有"作者"的存取级别, Notes 将
指定对复本的存取级别为"作者"。关于数据库存取控制列表的详细信息,
请咨询数据库管理者。
清除时间间隔
从数据库删除文档时,Notes 保持删除记录以标识该文档。 通过这种方法,
即使已经从原数据库中删除了该文档, Notes 仍可以将其复制到其他复本
中。缺省的清除时间间隔是 30 天。如果要确保能接收已从数据库中删除
的文档,那么在每个清除时间间隔内至少要执行一次复制 每
(例如: 30 天
复制一次)。
如果删除记录的存在时间长于数据库的清除时间间隔,则 Notes 将此删
除记录从数据库中删除。 数据库的清除时间间隔是在"删除最近 x 天内未
修改过的文档"框(位于"设置复制选项"对话框的"节省空间"面板上)中
指定的天数的三分之一。例如:如果此框中指定的日期为 60 天,则清除
时间间隔为 20 天。清除删除记录将释放已删除的文档所占用的磁盘空
间。
Notes 从复本中删除比清除时间间隔更陈旧的文档时,不为这些文档创建
删除记录。
创建完整复本
可以为数据库创建本地复本,包含数据库的所有文档和设计。
8. 打开数据库。
9. 选择"文件""复制""新建复本"。
10. 在"新建复本"对话框填充下列域:
在"服务器"域中,选择"本地"。
输入复本文件名。
在"创建时间"中单击"立即创建"。
11. (可选)执行下列操作:
如果希望加密复本, 以便只能使用您的用户标识符打开它,可单?quot;
加密",选择"在本地对此数据库加密"并单击"确定"。
如果希望创建索引以便能对复本执行全文搜索,请选择"为搜索操作
创建全文索引"。
12. 单击"确定"。
注释 对于所创建的每个本地复本,Notes 都向复制器添加书签条目和数据
库条目。可以使用复制器页面更新复本。
创建部分复本
可以创建数据库的本地复本,此复本只包含选定的文档、简要的文档和/
或选定的数据库设计部分。也可以为本地复本指定最大尺寸。
13. 打开数据库。
14. 选择"文件""复制""新建复本"。
15. 在"新建复本"对话框中填充下列域:
在"服务器"域中选择"本地"。
输入复本的文件名。
在"创建时间"中单击"立即创建"。
16. (可选)如果希望限制复本的尺寸,执行下列操作中的一项或全部操作:
如果希望为复本指定最大值,单击"大小限制",选择 GB 数并单击"
确定"。
如果希望指定可选复制设置,单击"复制设置",指定所需的设置,
单击"确定"。
17. (可选)执行下列操作中的一项或全部操作:
如果希望加密复本,以便只能使用您的用户标识符打开它,可单击"
加密",选择"在本地对此数据库加密"并单击"确定"。
如果希望创建索引以便对复本执行全文搜索,选择"为搜索操作创建
全文索引"。
18. 单击"确定"。
提示 Notes 将在复制器工作台页面上为所创建的每个本地复本添加条目。
可以使用"复制器"页面更新复本。
仅复制数据库设计
可以创建复本存根:即仅包含数据库设计的本地复本。(以后可以将部分
或全部数据库文档复制到复本存根中。)
19. 打开数据库。
20. 选择"文件""复制""新建复本"。
21. 在"新建复本"对话框中填充下列域:
在"服务器"域中选择"本地"。
输入复本的文件名。
在"创建"中单击"下次定时复制时创建"。
22. (可选)如果希望加密复本,只能使用您的用户标识符打开它,可单击"加
密",选择"在本地对此数据库加?quot;并单击"确定"。
23. 单击"确定"。
注释 如果正在创建邮件数据库的本地复本,请确保给予复本的文件名与服
务器上的邮件数据库的文件名相同(包括任何子目录名) 。否则,当在网络
和远程使用之间切换时,Notes 可能无法找到邮件数据库。
提示 Notes 将在复制器工作台页面上为所创建的每个本地复本添加条目。
可以使用"复制器"页面更新复本。
八、切换用户标识符
用户标识符是识别用户的文件。它由 Domino 管理员创建,通过软
盘或在安装 Notes 时从服务器提取该文件,可以给用户提供此文
件。所有的用户标识符都包含以下内容:
标识符所有者的姓名。
Notes 许可证的编号和标识符类型(如果仅有北美用户访问您的数
据库/文档,则为"北美";如果世界范围内的用户都访问您的数据库/
文档,则为"国际") 。
用于校验身份的验证字。
用于加密或解密数据的密钥。
使用用户标识符是访问 Domino 服务器、签名邮件消息或解密文档
的唯一方法。一旦拥有用户标识符,就可以访问组织中的 Domino
服务器。用户标识符在 Domino 管理员指定的日期将过期。关于用
户标识符过期的详细信息,请与 Domino 管理员联系。
注释 如果无法访问 Domino 服务器,请与 Domino 管理员联系。
可能是管理员限制访问某些 Domino 服务器。
切换用户标识符
如果与别的用户共享一台工作站,可能需要切换到自己的用户标识
符文件,才能访问自己的邮件服务器和指定的 Domino 服务器。在
切换之前必须将自己的标识符装入工作站的硬盘, 或者插入保存有
标识符的软盘。
与几个用户共享计算机时,要切换用户标识符,请选择"文件""工
具""切换标识符"`并选择用户标识符的文件名。
九、 Notes Minder
Notes Minder 是一个功能部件,使用它不必启动 Notes 就可以检
查邮件、 当
监视"日历"闹铃。 Notes Minder 激活时,它在 Windows
95/NT 的系统托盘中显示为一个图标。图标会随着邮件数据库的当
前状态而变化, 例如:通知您有未读邮件或提醒已经设置闹铃的日
历项目。
要启动 Notes Minder,请选择"开始",进入"Lotus 应用程序"文
件夹,然后选择 Notes Minder(Notes Minder 要求输入 Notes 口
令)。
Notes Minder 检查上次启动 Notes 的用户的邮件和日程安排。您
如果与别人共享计算机,则请使用自己的用户标识符启动 Notes,
然后启动 Notes Minder,这样 Notes Minder 就可以检查您的邮件
数据库。
如何使用 Notes Minder?
当 Notes Minder 图标显示在 Windows 托盘时,根据 Notes
Minder 的报告而显示不同的图标。如果把鼠标放在 Notes Minder
图标上, 文本框将显示用户的当前邮件状态,或通知您上次检查邮
件的时间。
双击任何 Notes Minder 图标来启动 Notes 并打开邮件数据库。
图 标 图标的含义
Notes Minder 处于激活状态;收件箱中没有
未读消息。
收件箱中有未读消息
。
(红色闪烁的信封)
Notes Minder 不能连接到宿主服务器。
Notes Minder 仍在运行,但处于暂停状态。
十、Notes 的工作台和书签
在 Notes R5 中,书签取代了原来在工作台页面上的数据库图标。
然而书签的作用比数据库图标的作用要大得多。 创建书签的方法与
在浏览器中的方法一样,只是这里的书签既可以指向 Notes 元素,
也可以指向 Internet 元素,其中包括数据库、视图、文档、Web
页面和新闻组。创建书签只需将文档链接或任务按钮拖放到"书签
栏"中即可。
书签栏
书签栏负责组织书签。 书签栏上的每个图标(纵向排列在 Notes 窗
口的左边) 将打开书签或书签的一个页面,其中包括个人最喜欢的
Web 浏览器书签。
书签文件夹
书签文件夹包括书签或多个文件夹。 下列书签文件夹显示的是最初
打开 Notes 时的书签栏缺省情况:
书签页面
书签页面包含书签及书签文件夹的列表。要打开页面,请单击其中
一个书签文件夹图标。要使页面总处于打开状态,请单击右上角的
图钉。要关闭页面,请单击 Notes 主窗口中的任意点或单击右上
角的 X 关闭图标。
提示 使用键盘定位书签。对于被图钉钉住的书签页,选择一书签
文件夹并键入要搜索的书签的前一两个字母。Notes 会自动地选择
以这些字母开头的第一个书签。选定后,按 ENTER 键即可打开此
书签。
Notes 工作台
Notes 工作台是 Notes 旧的用户界面,它用来代表包含数据库的
文件夹。工作台仍然可用,并且可以通过书签条中的文件夹访问
将工作台设置为主页
单击书签条上的数据库文件夹,然后选择工作台
右键单击,菜单中选择"将书签设置为主页"。
Domino/UNIX 服务器死机及挂起的数据收集步骤
数据收集前的准备工作:如果近期有频繁出现服务器死机或者服务挂起现象,建议首先做下面三
步准备工作.
1. 修改 Notes.ini 文件。建议在 Domino 服务器的 notes.ini 文件中增加以下参数:
DEBUG_CAPTURE_TIMEOUT=1
DEBUG_SHOW_TIMEOUT=1
DEBUG_THREADID=1
DEBUG_OUTFILE=debug.txt
注: 建议在问题解决后,删除前三个参数.
2. 添加一个新的 New Server Statistic Collection 的记录来记录服务器的统计信息。
A. 在 Domino Administrator 中,点 配置 ---> Statistics & Events ---> Server Statistic
Collection, 点 New Server Statistic Collection,如下图所示:
B. 参照下图做相应设置:
C. 保存退出。
D. 在服务器停止运行状态下,修改 notes.ini 文件中,查找名为 ServerTasks 的行,并在行最
后加入 ",collect"
点击查看大图
E. 重启 Domino 服务器
3. 安装 memcheck (此工具在 Domino 5.0.8 以前的版本需要单独安装,5.0.9 版本之后,服务器
安装后就已经自动包含,所以可以忽略此步骤)
A. 首先从 Lotus 技术支持人员处,获得特定平台上的特定版本使用的 Memcheck。
B. 必须把获得的 memcheck 文件(文件名有可能是 memcheck508 等)重命名为 memcheck,不带有
任何平台及版本信息,例如
> mv memcheck5.07 memcheck
C. 拷贝此文件到 Domino 的程序目录下,例如对于 Domino/Solaris, 程序目录是
/opt/lotus/notes/latest/sunspa
D. 改变文件的 Ownership,例如:> chown root:bin memcheck
E. 修改文件的权限,例如: > chmod 755 memcheck
F. 切换至操作系统的 notes 用户,在 Domino 数据目录下运行命令:> nsd ,如果出现下面类似
信息,则说明 memcheck 安装已经成功。如果没有成功,请根据出错信息,检查相应设置。
Debugger Version: Standard
MEMCHECK Version: MEMCHECK Version (X.X) for Lotus Notes Release 5.0.2b ()
当出现服务器挂起(hang)问题时,收集下面数据:
1.以”notes”用户在 DOMINO 数据目录下运行”nsd”,产生 log 文件。文件格式类似于:
nsd_all_AIX_lotus_11_01@20_43.log
2.从 Notes 客户端访问服务器,记录错误信息。
3.在客户端运行“NPING”工具访问 Domino 服务器,记录响应时间,收集数据。
注 : nping 的应用程序需要另行安装, 请访问下面的网址:
http://www-1.ibm.com/support/docview.wss?rs=203&q=NotesConnect&uid
=swg24004434&loc=en_US&cs=utf-8&lang=en
4.在客户端“PING”服务器地址,记录响应时间,收集数据。
5.在控制台运行”sh task debug”,”sh user debug”,”sh port tcpip”,”sh stat ”等
命令查看服务器运行状态,收集相关数据。
6.在服务器上运行”netstat -a”,“vmstat 2”30 秒后结束,“iostat 2”30 秒后结束,收
集所有三条命令产生的数据。
7.在距第一次收集 nsd 文件 5-10 分钟后,以”notes”用户在 DOMINO 数据目录下再次运行 nsd
命令,产生 log 文件。
8. 在 Domino 数据目录下查找是否有名为“core.xxxxx.xxx_xxxx_xx_xx@xx_xx.Z”格式的文
件,如果有,将其收集起来。
9. 在 Domino 数据目录或者程序目录下搜索,是否有名为 SEMDEBUG.TXT 的文件,如果有将其收
集起来,并将原文件删除。
10. 重启服务器.
11. 在以上步骤完成后,将上面九步收集的所有数据,外加 debug.txt;statrep.nsf;log.nsf;
一起发送给 Lotus 技术支持人员。
当出现服务器死机(crash)问题时,收集以下数据:
1. 以”notes”用户在 DOMINO 数据目录下运行”nsd”,产生 log 文件.文件格式类似于:
nsd_all_AIX_lotus_11_01@20_43.log
2. 在客户端“PING”服务器地址,记录响应时间,收集数据。
以”notes”用户在 DOMINO 数据目录下再次运行 nsd
3. 在距第一次收集 nsd 文件 5-10 分钟后,
命令,产生 log 文件。
4. 在 Domino 数据目录下查找是否有名为“core.xxxxx.xxx_xxxx_xx_xx@xx_xx.Z”格式的文
件,如果有,将其收集起来。
5. 在 Domino 数据目录或者程序目录下搜索,是否有名为 SEMDEBUG.TXT 的文件,如果有将其收
集起来,并将原文件删除。
6. 重启服务器.
7. 在以上步骤完成后,将上面六步收集的所有数据,外加 debug.txt;statrep.nsf;log.nsf;
一起发送给 Lotus 技术支持人员。
电子邮件原理
第一章 电子邮件的工作原理
1. 互联网 TCP/IP 的基本结构
2. SMTP 的基本结构
2.1 SMTP 的模型
2.2 SMTP 的基本命令
3. 电子邮件的工作原理
4. 电子邮件的信头结构及分析
4.1 邮件的结构
4.2 邮件的信头
第二章 OPEN RELAY 的原理及测试
1. OPEN RELAY 的原理
2. 如何确认邮件服务器是否 RELAY
第三章 垃圾邮件的文化与历史
1. 什么是垃圾邮件
2. 垃圾邮件的起源与历史
3. 垃圾邮件的分类
4. 我们为什么要反对垃圾邮件
5. 世界垃圾邮件状况
6. 世界著名的反垃圾邮件组织
7. 垃圾邮件支持者
第一章 电子邮件的工作原理
1.互联网 TCP/IP 的基本结构
今天的互联网(Internet)的原形是 1969 年建立的 APARNET。在互联网发展史上具有决定意义
的一件事是在 1983 年 1 月 1 日,APARNET 正式转换成 TCP/IP 协议的网络。正是 TCP/IP 的出
现,才使得互联网得以在全世界的范围内迅速发展并具有今天的规模。
根据 TCP/IP 协议,互联网分为 4 层,加上最底层的硬件层一共是 5 层:
物理层:
对应于网络的基本硬件,这也是 Internet 物理构成,即我们可以看得见的硬件设备,如 PC 机、
互连网服务器、网络设备等,必须对这些硬件设备的电气特性作一个规范,使这些设备都能够互
相连接并兼容使用。网络接口层:它定义了将数据组成正确帧的规程和在网络中传输帧的规程,
帧是指一串数据,它是数据在网络中传输的单位。
互联网层:
本层定义了互联网中传输的“信息包”格式,以及从一个用户通过一个或多个路由器到最终目
标?quot;信息包"转发机制。
传输层:
为两个用户进程之间建立、管理和拆除可靠而又有效的端到端连接。
应用层:
它定义了应用程序使用互联网的规程。电子邮件的 SMTP 协议就建立在这一层。Internet 的核
心层是网络层和传输层, IP
相应的核心协议是 IP 协议和 TCP 协议。 协议的主要功能包括无连结
数据报传送﹑数据报寻径以及差错处理三部分。IP 协议的特点是点到点的,IP 对等实体间的通
信不经过中间机器,对等实体所在的机器位于同一物理网络,对等机器之间有直接的物理连接。
IP 层的主要功能是屏蔽下面物理层的差别,向上一层提供一致的数据格式。所有要传输的数据,
被按照一定的格式分组封装层 IP 数据报,数据报单元通过寻径等机制进行传输,在接收方数据
报进行重组,得到最初要传送的数据。由于 IP 协议是不可靠的数据传输协议,由于网络的拥塞
而发生的数据丢失等情况是不可避免的,因此 Internet 还必须有一定的控制重传机制,这就是
差错与控制报文协议(ICMP)。尽管计算机通过安装 IP 软件,从而保证了计算机之间可以发送和
接收数据,但 IP 协议还不能解决数据分组在传输过程中可能出现的问题。因此,若要解决可能
出现的问题,还需要 TCP 协议来提供可靠的并且无差错的通信服务。TCP 协议被称作一种端对端
协议。这是因为它为两台计算机之间的连接起了重要作用:当一台计算机需要与另一台远程计算
机连接时,TCP 协议会让它们建立一个连接、发送和接收数据以及终止连接。传输控制协议 TCP
协议利用重发技术和拥塞控制机制,向应用程序提供可靠的通信连接,使它能够自动适应网上的
各种变化。即使在 Internet 暂时出现堵塞的情况下,TCP 也能够保证通信的可靠.Internet 是
一个庞大的国际性网络,网路上的拥挤和空闲时间总是交替不定的,加上传送的距离也远近不同,
所以传输数据所用时间也会变化不定。TCP 协议具有自动调整"超时值"的功能,能很好地适应
Internet 上各种各样的变化,确保传输数值的正确。
IP 协议只保证计算机能发送和接收分组数据,而 TCP 协议则可提供一个可靠的、可流控的、
全双工的信息流传输服务。虽然 IP 和 TCP 这两个协议的功能不尽相同,也可以分开单独使用,
但它们是在同一时期作为一个协议来设计的,并且在功能上也是互补的。只有两者的结合,才能
保证 Internet 在复杂的环境下正常运行。凡是要连接到 Internet 的计算机,都必须同时安装
和使用这两个协议,因此在实际中常把这两个协议统称作 TCP/IP 协议。 TCP/IP 协议除了 TCP
协议和 IP 协议,还包含物理接口和 IP 层之间的 ARP/RARP 协议,应用层的 FTP 协议﹑SMTP 协议
和 BOOTP 协议等,所用的这些协议构成 Intenet 的 TCP/IP 协议族。
2.SMTP 的基本结构
SMTP (Simple Mail Transfer Protocol)协议是为了保证电子邮件的可靠和高效传送。TCP/IP
协议的应用层中包含有 SMTP 协议,但事实上它与传输系统和机制无关,仅要求一个可靠的数据
流通道。它可以工作在 TCP 上,也可以工作在 NCP, NITS 等协议上。在 TCP 上,它使用端口 25
进行传输。SMTP 的一个重要特点是可以在可交互的通信系统中转发邮件。
2.1 SMTP 的模型
SMTP 提供了一种邮件传输的机制,当收件方和发件方都在一个网络上时,可以把邮件直传给对
方;当双方不在同一个网络上时,需要通过一个或几个中间服务器转发。SMTP 首先由发件方提
出申请,要求与接收方 SMTP 建立双向的通信渠道,收件方可以是最终收件人也可以是中间转发
的服务器。收件方服务器确认可以建立连接后,双发就可以开始通信。下面是 SMTP 的模型示意
图。
发件方 SMTP 向收件方发处 MAIL 命令,告知发件方的身份;如果收件方接受,就会回答 OK。发
件方再发出 RCPT 命令,告知收件人的身份,收件方 SMTP 确认是否接收或转发,如果同意就回答
OK;接下来就可以进行数据传输了。通信过程中,发件方 SMTP 与收件方 SMTP 采用对话式的交
互方式,发件方提出要求,收件方进行确认,确认后才进行下一步的动作。整个过程由发件方控
制,有时需要确认几回才可以。
为了保证回复命令的有效,SMTP 要求发件方必须提供接收方的服务器及邮箱。邮件的命令和答
复有严格的语法定义,并且回复具有相应的数字代码。所有的命令由 ASCII 码组成。命令代码是
大小写无关的,如 MAIL 和 mail ﹑mAIL 是等效的。
2.2 SMTP 的基本命令
SMTP 定义了 14 个命令,它们是:
HELO
MAIL FROM:
RCPT TO:
DATA
RSET
SEND FROM:
SOML FROM:
SAML FROM:
VRFY
EXPN
HELP [ ]
NOOP
QUIT
TURN
其中使得 SMTP 工作的基本的命令有 7 个,分别为:HELO﹑MAIL﹑RCPT﹑DATA﹑REST﹑NOOP 和
QUIT.下面分别介绍如下。
HELO--发件方问候收件方,后面是发件人的服务器地址或标识。收件方回答 OK 时标识自己的身
份。问候和确认过程表明两台机器可以进行通信,同时状态参量被复位,缓冲区被清空。
MAIL--这个命令用来开始传送邮件,它的后面跟随发件方邮件地址(返回邮件地址)。它也用来
当邮件无法送达时,发送失败通知。为保证邮件的成功发送,发件方的地址应是被对方或中间转
发方同意接受的。这个命令会清空有关的缓冲区,为新的邮件做准备。
RCPT --这个命令告诉收件方收件人的邮箱。当有多个收件人时,需要多次使用该命令,每次只
能指明一个人。如果接收方服务器不同意转发这个地址的邮件,它必须报 550 错误代码通知发件
方。如果服务器同意转发,它要更改邮件发送路径,把最开始的目的地(该服务器)换成下一个
服务器。
DATA--收件方把该命令之后的数据作为发送的数据。数据被加入数据缓冲区中,以单独一行是
"."的行结束数据。结束行对于接收方同时意味立即开始缓冲区内的数据传送,传
送结束后清空缓冲区。如果传送接受,接收方回复 OK。
REST--这个命令用来通知收件方复位,所有已存入缓冲区的收件人数据,发件人数据和待传送的
数据都必须清除,接收放必须回答 OK.
NOOP--这个命令不影响任何参数,只是要求接收放回答 OK, 不会影响缓冲区的数据。
QUIT--SMTP 要求接收放必须回答 OK,然后中断传输;在收到这个命令并回答 OK 前,收件方不得
中断连接,即使传输出现错误。发件方在发出这个命令并收到 OK 答复前,也不得中断连接。
下面是 SMTP 答复中用到的代码和含义:
500 Syntax error, command unrecognized
[This may include errors such as command line too long]
501 Syntax error in parameters or arguments
502 Command not implemented
503 Bad sequence of commands
504 Command parameter not implemented
211 System status, or system help reply
214 Help message
[Information on how to use the receiver or the meaning of a
particular non-standard command; this reply is useful only to the human user]
220 Service ready
221 Service closing transmission channel
421 Service not available, closing transmission channel
[This may be a reply to any command if the service knows it must shut down]
250 Requested mail action okay, completed
251 User not local; will forward to
450 Requested mail action not taken: mailbox unavailable
[E.g., mailbox busy]
550 Requested action not taken: mailbox unavailable
[E.g., mailbox not found, no access]
451 Requested action aborted: error in processing
551 User not local; please try
452 Requested action not taken: insufficient system storage
552 Requested mail action aborted: exceeded storage allocation
553 Requested action not taken: mailbox name not allowed
[E.g., mailbox syntax incorrect]
354 Start mail input; end with .
554 Transaction failed
最后,让我们看一个 RFC821 中给出的例子。这封信是 Smith 在主机 Alpha.ARPA 发给主机
Beta.ARPA 上的
Jones,Green 和 Brown.并且假定两台主机在同一个网络上。
S: MAIL FROM:
R: 250 OK
S: RCPT TO:
R: 250 OK
S: RCPT TO:
R: 550 No such user here
S: RCPT TO:
R: 250 OK
S: DATA
R: 354 Start mail input; end with .
S: Blah blah blah...
S: ...etc. etc. etc.
S: .
R: 250 OK
邮件最后被对方接受。
3.电子邮件的工作原理
电子邮件与普通邮件有类似的地方,发信者注明收件人的姓名与地址(即邮件地址),发送方服
务器把邮件传到收件方服务器,收件方服务器再把邮件发到收件人的邮箱中。如下图所示:
更进一步的解释涉及到以下几个概念:
MUA -- Mail User Agent, 邮件用户代理,帮助用户读写邮件;
MTA -- Mail Transport Agent, 邮件传输代理,负责把邮件由一个服务器传到另一个服务
器或邮件投递代理;
MDA -- Mail Delivery Agent, 邮件投递代理,把邮件放到用户的邮箱里。
整个邮件传输过程如下:
目前使用的 SMTP 协议是存储转发协议,意味着它允许邮件通过一系列的服务器发送到最终目的
地。服务器在一个队列中存储到达的邮件,等待发送到下一个目的地。下一个目的地可以是本地
用户,或者是另一个邮件服务器,如下图所示。
如果下游的服务器暂时不可用,MTA 就暂时在队列中保存信件,并在以后尝试发送。
4. 电子邮件的信头结构及分析
4.1 邮件的结构
在最高层,邮件的结构是非常简单的,用户从终端机上看到的邮件格式一般为:
1. From: user1@domain1.com
2. To: user2@domain2.com
3. Subject: Explaination of mail format
4. Date: Thu, 1 Apr 1999. 10:00:00 GMT
5. Hi, Jack
7. This mail is to explain you the mail format
8. - - - -
9. Thanks
10. Bob
其中, 1~~4 行称作信件信头(message header) 6~~10 行描述信件要表达的内容,称为信体
(message body)。第 5 行是空行,根据 RFC822 的要求,信头和信体之间必须加入一空行。[i]
信头通常包含字段 From, To, Subject 和 Date,有的邮件还包含 cc,bcc 等字段。
4.2 邮件的信头
事实上,邮件在传输过程中,服务器要把它打包成一个数据对象,包括上面的信件和一个信封。
邮件的投递是依靠信封上的地址或信封信头(envelop address 或 envelop header),而不是
上面讲的信件上的地址。
从表面上看,一封邮件是从发件人的机器直接传送到收件人的机器,但通常这并不正确,一封邮
件发送和接受过程至少要经过四台计算机。参考下图所示。用户通常在自己的电脑前编写阅读邮
件,我们把它叫做客户端 (client 1~~4 )。大部分组织里,都是用一台专门的机器处理邮件,
称作邮件服务器 (SMTP1, SMTP2). 如果用户是从家里拨号上网,那末邮件服务器是 ISP 提供的。
当某个用户在自己的电脑 Client1 前编写完一个邮件,然后把它发送到他的 ISP 的邮件服务器
SMTP1。此时她的机器已经完成了所有的工作,但邮件服务器 SMTP1 还必须想法把邮件发送到目
的地。SMTP1 通过阅读信头或信封上的地址,找到收件认得邮件服务器 SMTP2, 然后与该服务器
建立连接,把邮件发到收件人的服务器上,等待收件人来取阅。
下面我们将通过一个例子说明整个邮件传送过程及邮件的信头变化。假设发件人的名字叫
Sender, email 地址是 sender@domain1.com 使用的电脑名字叫 client1, IP 地址是
[111.11.1.1] (假设的地址)。 收件人的名字叫 receipt, email 地址是 receipt@domain2.com,
使用的电脑的名字叫 client2,IP 地址是 [222.22.2.2] (假设的地址)。当邮件编辑完传送给
其邮件服务器 mail.domain1.com 时,邮件的信头格式为:
From: sender@domain1.com
To: receipt@domain2.com
Date: Tue, Mar 18 1998 15:36:24 GMT
X-mailer:Sendmail 8.9.0
Subject: Greetings
当邮件服务器 mail.domain1.com 把邮件传到接收方的服务器 mail.domain2.com 时,接受方服
务器会在信头上记录下有关的计算机信息,邮件的信头变成:
Received: from client1.domain1.com (client1.domain1.com [111.11.1.1]) by
mail.domain1.com (8.8.5) id 004A21; Tue, Mar 18 1998 15:3 7:24 GMT
From: sender@domain1.com
To: receipt@domain2.com
Date: Tue, Mar 18 1998 15:36:24 GMT
Message-Id:
X-mailer:Sendmail 8.9.0
Subject: Greetings
当收件人服务器 mail.domain2.com 把邮件接收并存初下来,等待收件人来阅读时,邮件的信头
将会再加入一条记录:
Received: from mail.domain1.com (mail.domain1.com [111.11.1.0] ) by mail.domain2.com
(8.8.5/8.7.2) with ESMTP id LAA20869; Tue, Mar 18 1998 15:39:44 GMT
Received: from client1.domain1.com (client1.domain1.com [111.11.1.1]) by
mail.domain1.com (8.8.5) id 004A21; Tue, Mar 18 1998 15:37:24 GMT
From: sender@domain1.com
To: receipt@domain2.com
Date: Tue, Mar 18 1998 15:36:24 GMT
Message-Id:
X-mailer:Sendmail 8.9.0
Subject: Greetings
上面整个记录就将是收件人看到的完整的邮件信头。让我们逐行看一下信头中各行的含义:
Received: from mail.domain1.com (mail.domain1.com [111.11.1.0] ) by mail.domain2.com
(8.8.5/8.7.2) with ESMTP id LAA20869; Tue, Mar 18 1998 15:39:44 GMT
这封信是从一台自称为 mail.domain1.com 的机器上接收的;这台机器的 IP 地址是
[111.11.1.0],真实名字就是标称名字 mail.domain1.com; 接收方的机器名称是
mail.domain2.com, 运行的邮件服务器是 Sendmail, 版本(8.8.5/8.7.2) 。接收方机器给邮件
的编号是 ESMTP id LAA20869, 接收到的时间是 Tue, Mar 18 1998 15:39:44 GMT。
Received: from client1.domain1.com (client1.domain1.com [111.11.1.1]) by
mail.domain1.com (8.8.5) id 004A21; Tue, Mar 18 1998 15:37:24 GMT
这条记录表明信件是由机器 client1.domain1.com ( IP 地址是 [111.11.1.1]) 在 Tue, Mar 18
1998 15:37:24 GMT 交给 mail.domain1.com,并赋给编号 id 004A21。
From,TO ,Date 和 Subject 都易于理解,分别指明发件人,收件人,信件编辑日期及信件主题。
Message-Id:
这是由发件方邮件服务器赋给这封邮件的编号。与其它编号不同,这个编号自始至终跟随邮件。
第二章 OPEN RELAY 的原理及测试
1.OPEN RELAY 的原理
由于技术的原因,在 80 年代前,网络还不是很健全,机器之间很少能直接对话发送邮件,人们
必须得找出一条有效的连接通路来,然后信件沿着通路一步一步传送到目的地。SMTP 协议中就
明确指出当邮件在不同的网络间传送时,需要借助中间服务器的 RELAY。
邮件在收件方和发件方之间会经过毫不相干的第三方服务器,这就是邮件转发 (RELAY)。 如下
图所示:
图中的 MAIL SERVER 是可以对要求转发的邮件进行限制的,如只转发来自某个域的邮件或来自
于某些 IP 得邮件。如果转发没有任何限制,就被称为 OPEN RELAY 或 THIRD PARTY RELAY。
从历史上看,relay 曾经发挥过重要作用。而且当时这些工作主要靠手工来做,就像我们今天通
过邮局发一封信一样。假如我想从沈阳发一封信件到深圳,我再信封上写好收信地址深圳,邮局
就需要找到定义的运送路线: 沈阳,北京,郑州,长沙,广州,深圳。甚至还要长一些。其中
很重要一点是每一个中继站都能很好的理解这封信将被送到哪里,下一个接收站是谁。在电子邮
件里,这就相当于每个中继服务器清楚下一个服务起是谁,这就是邮件的转发。
目前,正常邮件转发已经不再必要,相反,无限制转发常常被发送垃圾邮件的人利用,隐藏真实
的邮件来源,让别人以为是从另外的 ISP 发出的信件;同时,也把大量的处理工作转移到别人
机器上。
由于前面提到的历史的原因,最初的绝大多数邮件服务器都允许 OPEN RELAY 的。今天,大部分
邮件服务器升级版本已经在缺省设置中关闭了 OPEN RELAY, 如 Sendmail 从 8.9.3 版本开始,
Exchange Server 从 5.5 版本开始关闭了 open relay。有的服务器虽然没有相应的升级版本,也
都提供了关闭 open relay 的方法,如在 NOTES SERVER 的配置文件 notes.ini 中加入一行:
SMTPMTA_REJECT_RELAYS=1。但由于很多服务器管理员的疏忽而没能及时的修补这些安全漏洞,
被利用来转发垃圾邮件。
2 如何确认邮件服务器是否 RELAY
假设要测试的 IP 是 202.112.0.0. 可以使用下列命令进行测试,文中的绿色斜题字为测试邮件
服务器的反馈信息:
#telnet 202.112.0.0 25
Trying 202.112.0.0...
Connected to 202.112.0.0.
Escape character is '^]'.
220 dns.ccert.edu.cn ESMTP Sendmail 8.11.1/8.11.1; Sat, 30 Jun 2001 21:07:10 +0800
helo mydomain
250 dns.ccert.edu.cn Hello point.ccert.edu.cn [202.112.50.3], pleased to meet you
mail from:nobody@yahoo.com
250 2.1.0 nobody@#yahoo.com... Sender ok
rcpt to:nobody@hotmail.com
550 5.7.1 nobody@hotmail.com... Relaying denied
最后的 Relaying denied 表明该服务器已经安全设置,不会再 relay 无关邮件了。如果显示的
结果是下面的样子,这表明服务器可以转发任何人的邮件。
rcpt to:nobody@hotmail.com
250 nobody@hotmail.com... Recipient ok
data
354 Enter mail, end with "." on a line by itself
this is a test of the relay
.
250 VAA00289 Message accepted for delivery
除了用上面的命令行的方法测试外,下面的链接提供了一个测试工具,只需输入 IP 即可。
http://www.abuse.net/relay.html
第三章 垃圾邮件的文化与历史
1. 什么是垃圾邮件
经常上网的人和经常使用电子邮件的人可能会收到一些莫名其妙的电子邮件,内容大都是一些产
品介绍,发财之道等。开始你可能并不在意,删掉了之;但你可能会发现你还会不断收到类似的
邮件,常常令你烦恼不已。这就是我们这里要研究的垃圾邮件。垃圾邮件就是那些你并不希望收
到,并且你也没有订阅过,但却被人利用电子邮件的特点强行塞入你的邮箱的商业广告,产品介
绍,发财之道等内容的电子邮件。 在
垃圾邮件一次发给很多人, Internet 上同时传送很多副本。
垃圾邮件和那些强行塞入你家门缝或信箱中的传单又有本质的区别。这些传单的印刷和分发的成
本由生产该产品的厂家来承担。而这些电子垃圾邮件的成本却是由你来支付的。这些垃圾邮件通
常是盗用别人的服务器(也可能是你的服务器),使用别人的带宽来传送的。这也就是为是什么
垃圾邮件遭到了如此强烈的谴责,而那些散发传单的人却没有。
2.垃圾邮件的起源与历史
垃圾邮件是 Internet 技术发展的产物。。与其它先进技术一样,在为人类服务的同时,不可避
免的被另外一些人用作相反目的。
首次关于垃圾邮件的记录是 1985 年 8 月一封通过电子邮件发送的链锁信,一直持续到 1993 年。
1993 年 6 月份,在 Internet 上出现了"发财之道(Make Money Fast)"的电子邮件。历史上比
较著名的事件是 1994 年 4 月份,Canter 和 Siegel 的法律事务所把一封信发到 6000 多个新闻
组,宣传获得美国国内绿卡的法律支持。这是第一次使用 Spam (垃圾邮件)一词,用来描述新闻
或电子邮件的主动性发布。同时,垃圾邮件也开始引起了人们的注意和反感。一些触觉敏锐的商
人立刻意识到了电子邮件带来的商机,许多人开始利用电子邮件作商业广告,95 年 5 月有人写
出了第一个专门的应用程序 Floodgate,一次可以自动把邮件发给很多人。紧接着在 8 月份,就
有人拿两百万个邮件地址出售。垃圾邮件越来越多与商业联系起来,96 年的 4 月份,人们开始
使用 UCE(Unsolicited Commercial Email) 来称呼垃圾邮件,并开始积极想办法阻止垃圾邮件
到了 96 年 3 月,
在 Internet 上泛滥。 例如使用 REMOVE.TO.REPLY
有人提出了 SpamBlock 的方法,
的工具来过滤邮件地址。随着过滤垃圾邮件技术的发展以及人们对发送垃圾邮件者的谴责,垃圾
邮件的制造者不得不采取更为隐蔽的技术,比如伪造信头中的发件人,域名,邮件地址等。然而
这些方法还是逃不出 IP 的地址的过滤。于是,垃圾邮件的制造者又开始寻找更为安全的做法,
97 年 3 月,他们开始把目光转向 OPEN RELAY。OPEN RELAY 是当时解决 Internet 路由的一种很
好的方法,当然存在以上安全漏洞。很快,大部分商业垃圾邮件就开始利用别人的服务器使用邮
件转发的办法发送。这样做的另一个原因是可以节省邮件发送者的钱,盗用别人的资源。在过去
的几年里,人们已经越来越多的意识到控制 Internet 上垃圾邮件的重要性,世界各地成立了很
多组织反对垃圾邮件,如 MAPS,ORBS, SpamCorp. Junckemail.org 等,从技术上,法律上做着努
力。
3. 垃圾邮件的分类
垃圾邮件从内容上看,主要是商业广告性质的邮件;另外,由少量政治,团体组织的宣传邮件。
从邮件的发送形式上看,有直接发送和第三方转发两种。所谓直接发送,就是邮件的发送者使用
自己的服务器,IP 地址,自己的网络资源传送这些邮件。对于接收者来说,如果长期收到这样
的邮件,可以采取过滤该 IP 地址的办法或者根据邮件内容过滤的方法;但如果只是偶尔收到,
就很难找到有效的方法了。使用这种方法,邮件发送人的真实情况很容易被查出来,因此也很少
有人使用。目前使用更多的是使用第三方服务器转发。当然大多都是未经该服务器管理员同意情
况下使用的。由于历史的原因,Internet 上有很多服务器可以转发第三方邮件。对于这种垃圾
邮件,只要关闭有关服务器的转发功能就可以了。
4.我们为什么要反对垃圾邮件
在讨论这个问题之前,让我们看一下为什么会有人采用这种方式做广告。总结一下,大致归于两
点原因:低成本和易于匿名。发送 10 万封电子邮件的成本低于 200 美圆,花 100 美圆就可以买
到 100 万个邮件地址列表。一个业余的邮件广告人只需要一台普通的电脑,一个 Internet 帐户
加上一个免费的邮件客户端软件就足够了。更为专业一点的,投资几百美圆就可以买到专门的应
用软件,每小时可以发送 25 万个邮件,并且自动伪装了邮件的信头;并且还可以不断的从 WEB 上
截获邮件地址。由于低廉的成本,即使只有很少很少的部分得到了反馈,就足以支付这些费用了,
比起昂贵的其它方式的广告自然很划算。然而,事实上成本低只是针对于那些用邮件做广告的人,
其他的成本由 ISP 和收件人承担了。
另外,从整个 Internet 的资源利用来看,目前带宽资源还比较有限。垃圾邮件里的信息几乎没
有什么价值,每次发送上万,百万,甚至上亿份,占用了大量的带宽资源,严重时甚至拥塞整个
Internet 链路,中断 Internet 的部分线路的运营。 这是 ISP 和服务器管理员所不希望看到
的。据 CAUCE 组织统计,消除垃圾邮件可为全世界小型企业和个人每年节省 940 万美圆。
其次,从个人用户来看,垃圾邮件浪费了人们的大量时间。一般人们需要至少 10 秒钟时间来判
断是否为垃圾邮件,如果每天收到几十份垃圾邮件,就得花大约十分钟的时间来处理它们,实在
是比较痛苦的事情。
垃圾邮件也威胁网络的安全,特别是那些利用别人的服务器转发邮件的情况。今年 3 月份,我们
就收到两起来自 CERNET 用户的有关事故报告。其中一个是网络管理员发现他们的服务器在以每
秒 60 封的速度转发邮件,占用了大量的系统资源,其他正常运作被迫终止。另外一起是管理员
发现出国流量突然增加,一查发现该服务器转发了 200 万封国外的来源不名的邮件,而且发现时
还在转发。
从法律的角度来看,发送垃圾邮件属于言论自由的滥用,不但得不到法律的支持,相反,很多地
方正积极之制定相关法律来禁止垃圾邮件。
5. 世界垃圾邮件状况
正如上一节讲到的,垃圾邮件并不受人们的欢迎。从垃圾邮件的产生之初,人们就开始了反垃圾
邮件的工作,并取得了一定的进展。我们不妨回顾一下过去的几年中取得的进展:
95.7 在英语中开始使用 spam 以此来表示垃圾邮件,表明垃圾邮件已成为一个正式的课题;
95.10~11,行业内开始使用专门的邮件账户 abuse@domain 来讨论垃圾邮件,并开始出现所谓的
黑名单,把一些已知的发送垃圾邮件的 IP 列入其中,人们可以用来过滤垃圾邮件;
97.5 CAUCE (Coalition Against Unsolicited Commercial E-mail) 组织成立,倡议建立法律
来同垃圾邮件做斗争;
98.4 Interner 协会 ISOC (Internet Society) 召开会议专门讨论了垃圾邮件;
99.2 发布了 RFC2502, Anti-Spam Recommendations for SMTP MTAs, 标志垃圾邮件已正式成为
Internet 的重要研究课题。
另外一种比较办法用 OPEN RELAY 服务器的数量。以美国 IMC(Internet Mail Consortium)组
织在美国的统计结果来看,OPEN RELAY 服务器数量已有 1998 年的 55% 迅速下降到 2001 年初的
6% 左右。 如下图所示 :
在其他国家和地区,状况虽然不会有这样好,但随着越来越多的人们意识到垃圾邮件的危害,随
着相关技术的不断成熟,网络安全意识的不断提高,垃圾邮件的活动空间将越来越小。
6 世界著名的反垃圾邮件组织
世界各地成立了许多组织开展反垃圾邮件的工作。目前几个著名的组织有 MAPS,ORBS, SpamCorp
等,他们从技术角度着手解决垃圾邮件,他们都各自维护了一个发送或转发垃圾邮件的数据库,
帮助用户过滤垃圾邮件。另外,CAUCE 等组织则积极推动建立相关的法律体系以彻底清除垃圾邮
件。
7 垃圾邮件支持者
目前大量发送垃圾邮件的主要是一些中小企业,以此来进行广告商业宣传。同时,也有一些大的
组织机构出于自己的商业目的而支持垃圾邮件。据 Spamhaus 统计,90% 的垃圾邮件来自于知名
的盈利机构 ,Spamhoue 收集了 100 多家主要的支持垃圾邮件的 ISP, 其中甚至包括著名的跨国
公司。 有的公司甚至把支持垃圾邮件作为自己的经营策略。还有一些公司是专门提供发送垃圾
邮件的应用程序。正因为如此,才增加了禁止垃圾由邮件的难度。目前,一些公司主要从以下几
个方面从事或支持垃圾邮件,尽管他们不一定直接发送这些邮件:
制作并销售具有特殊功能的垃圾邮件发送软件,这些软件具有"隐蔽功能",能够逃避普通的过滤
器;
制作和销售从网络上截获 email 地址的工具;
销售从网络上获取的 email 地址列表;
销售具有发送垃圾邮件特征的服务,媒体或软件;
提供发送垃圾邮件的商业服务;
为垃圾邮件的制造者提供防攻击(bulletproof)的服务;
提供到以上站点的链接或把链接转向以上站点。
目前,有 656 个上述网站被 Spamhaus 记录并仍在从事支持垃圾邮件的行为,3149 个站点被关
闭或被迫停止类似业务。
SMTP 结构及原理
◆SMTP 的基本结构
SMTP (Simple Mail Transfer Protocol)协议是为了保证电子邮件的可靠和高效传送。TCP/IP
协议的应用层中包含有 SMTP 协议,但事实上它与传输系统和机制无关,仅要求一个可靠
的数据流通道。它可以工作在 TCP 上,也可以工作在 NCP, NITS 等协议上。在 TCP 上,它
使用端口 25 进行传输。SMTP 的一个重要特点是可以在可交互的通信系统中转发邮件。
1. SMTP 的模型
SMTP 提供了一种邮件传输的机制,当收件方和发件方都在一个网络上时,可以把邮件直传
给对方;当双方不在同一个网络上时,需要通过一个或几个中间服务器转发。SMTP 首先由
发件方提出申请,要求与接收方 SMTP 建立双向的通信渠道,收件方可以是最终收件人也
可以是中间转发的服务器。收件方服务器确认可以建立连接后,双发就可以开始通信。下面
是 SMTP 的模型示意图。
发件方 SMTP 向收件方发处 MAIL 命令,告知发件方的身份;如果收件方接受,就会回答
OK。发件方再发出 RCPT 命令,告知收件人的身份,收件方 SMTP 确认是否接收或转发,
如果同意就回答 OK;接下来就可以进行数据传输了。通信过程中,发件方 SMTP 与收件方
SMTP 采用对话式的交互方式,发件方提出要求,收件方进行确认,确认后才进行下一步
的动作。整个过程由发件方控制,有时需要确认几回才可以。
为了保证回复命令的有效,SMTP 要求发件方必须提供接收方的服务器及邮箱。邮件的命令
和答复有严格的语法定义,并且回复具有相应的数字代码。所有的命令由 ASCII 码组成。
命令代码是大小写无关的,如 MAIL 和 mail ﹑mAIL 是等效的。
2. SMTP 的基本命令
SMTP 定义了 14 个命令,它们是:
HELO
MAIL FROM:
RCPT TO:
DATA
RSET
SEND FROM:
SOML FROM:
SAML FROM:
VRFY
EXPN
HELP [ ]
NOOP
QUIT
TURN
其中使得 SMTP 工作的基本的命令有 7 个,分别为:HELO﹑MAIL﹑RCPT﹑DATA﹑REST
﹑NOOP 和 QUIT.下面分别介绍如下。
HELO--发件方问候收件方,后面是发件人的服务器地址或标识。收件方回答 OK 时标识自
己的身份。问候和确认过程表明两台机器可以进行通信,同时状态参量被复位,缓冲区被清
空。
MAIL--这个命令用来开始传送邮件,它的后面跟随发件方邮件地址(返回邮件地址)。它也
用来当邮件无法送达时,发送失败通知。为保证邮件的成功发送,发件方的地址应是被对方
或中间转发方同意接受的。这个命令会清空有关的缓冲区,为新的邮件做准备。
RCPT --这个命令告诉收件方收件人的邮箱。当有多个收件人时,需要多次使用该命令,每
次只能指明一个人。 如果接收方服务器不同意转发这个地址的邮件,它必须报 550 错误代码
通知发件方。 如果服务器同意转发,它要更改邮件发送路径,把最开始的目的地(该服务器)
换成下一个服务器。
DATA--收件方把该命令之后的数据作为发送的数据。数据被加入数据缓冲区中,以单独一
行是"."的行结束数据。结束行对于接收方同时意味立即开始缓冲区内的数据传送,传送结
束后清空缓冲区。如果传送接受,接收方回复 OK。
REST--这个命令用来通知收件方复位,所有已存入缓冲区的收件人数据,发件人数据和待传
送的数据都必须清除,接收放必须回答 OK.
NOOP--这个命令不影响任何参数,只是要求接收放回答 OK, 不会影响缓冲区的数据。
QUIT--SMTP 要求接收放必须回答 OK,然后中断传输;在收到这个命令并回答 OK 前,收
件方不得中断连接,即使传输出现错误。发件方在发出这个命令并收到 OK 答复前,也不得
中断连接。
下面是 SMTP 答复中用到的代码和含义:
500 Syntax error, command unrecognized
[This may include errors such as command line too long]
501 Syntax error in parameters or arguments
502 Command not implemented
503 Bad sequence of commands
504 Command parameter not implemented
211 System status, or system help reply
214 Help message
[Information on how to use the receiver or the meaning of a
particular non-standard command; this reply is useful only to the human user]
220 Service ready
221 Service closing transmission channel
421 Service not available, closing transmission channel
[This may be a reply to any command if the service knows it must shut down]
250 Requested mail action okay, completed
251 User not local; will forward to
450 Requested mail action not taken: mailbox unavailable
[E.g., mailbox busy]
550 Requested action not taken: mailbox unavailable
[E.g., mailbox not found, no access]
451 Requested action aborted: error in processing
551 User not local; please try
452 Requested action not taken: insufficient system storage
552 Requested mail action aborted: exceeded storage allocation
553 Requested action not taken: mailbox name not allowed
[E.g., mailbox syntax incorrect]
354 Start mail input; end with .
554 Transaction failed
最后,让我们看一个 RFC821 中给出的例子。这封信是 Smith 在主机 Alpha.ARPA 发给主机
Beta.ARPA 上的
Jones,Green 和 Brown.并且假定两台主机在同一个网络上。
S: MAIL FROM:
R: 250 OK
S: RCPT TO:
R: 250 OK
S: RCPT TO:
R: 550 No such user here
S: RCPT TO:
R: 250 OK
S: DATA
R: 354 Start mail input; end with .
S: Blah blah blah...
S: ...etc. etc. etc.
S: .
R: 250 OK
邮件最后被对方接受。
◆ 电子邮件的工作原理
电子邮件与普通邮件有类似的地方,发信者注明收件人的姓名与地址(即邮件地址),发送
方服务器把邮件传到收件方服务器,收件方服务器再把邮件发到收件人的邮箱中。如下图所
示:
更进一步的解释涉及到以下几个概念:
MUA -- Mail User Agent, 邮件用户代理,帮助用户读写邮件;
MTA -- Mail Transport Agent, 邮件传输代理,负责把邮件由一个服务器传到另一个服务
器或邮件投递代理;
MDA -- Mail Delivery Agent, 邮件投递代理,把邮件放到用户的邮箱里。
整个邮件传输过程如下:
目前使用的 SMTP 协议是存储转发协议,意味着它允许邮件通过一系列的服务器发送到最
终目的地。服务器在一个队列中存储到达的邮件,等待发送到下一个目的地。下一个目的地
可以是本地用户,或者是另一个邮件服务器,如下图所示。
如果下游的服务器暂时不可用,MTA 就暂时在队列中保存信件,并在以后尝试发送。
◆ 电子邮件的信头结构及分析
1 .邮件的结构
在最高层,邮件的结构是非常简单的,用户从终端机上看到的邮件格式一般为:
1. From: user1@domain1.com
2. To: user2@domain2.com
3. Subject: Explaination of mail format
4. Date: Thu, 1 Apr 1999. 10:00:00 GMT
5. Hi, Jack
7. This mail is to explain you the mail format
8. - - - -
9. Thanks
10. Bob
其中, 1~~4 行称作信件信头(message header) 6~~10 行描述信件要表达的内容,称为信体
(message body)。第 5 行是空行,根据 RFC822 的要求,信头和信体之间必须加入一空行。[i]
信头通常包含字段 From, To, Subject 和 Date,有的邮件还包含 cc,bcc 等字段。
2. 邮件的信头
事实上,邮件在传输过程中,服务器要把它打包成一个数据对象,包括上面的信件和一个信
封。邮件的投递是依靠信封上的地址或信封信头(envelop address 或 envelop header),而不
是上面讲的信件上的地址。
从表面上看,一封邮件是从发件人的机器直接传送到收件人的机器,但通常这并不正确,一
封邮件发送和接受过程至少要经过四台计算机。 参考下图所示。 用户通常在自己的电脑前编
写阅读邮件,我们把它叫做客户端 (client 1~~4 ) 。大部分组织里,都是用一台专门的机
器处理邮件,称作邮件服务器 (SMTP1, SMTP2). 如果用户是从家里拨号上网,那末邮件服
务器是 ISP 提供的。
当某个用户在自己的电脑 Client1 前编写完一个邮件,然后把它发送到他的 ISP 的邮件服
务器 SMTP1。此时她的机器已经完成了所有的工作, 但邮件服务器 SMTP1 还必须想法把邮
件发送到目的地。 SMTP1 通过阅读信头或信封上的地址,找到收件认得邮件服务器 SMTP2,
然后与该服务器建立连接,把邮件发到收件人的服务器上,等待收件人来取阅。
下面我们将通过一个例子说明整个邮件传送过程及邮件的信头变化。假设发件人的名字叫
Sender, email 地 址 是 sender@domain1.com 使 用 的 电 脑 名 字 叫 client1 , IP 地 址 是
[111.11.1.1] (假设的地址)。收件人的名字叫 receipt, email 地址是 receipt@domain2.com, 使
用的电脑的名字叫 client2,IP 地址是 [222.22.2.2] (假设的地址)。当邮件编辑完传送给其邮
件服务器 mail.domain1.com 时,邮件的信头格式为:
From: sender@domain1.com
To: receipt@domain2.com
Date: Tue, Mar 18 1998 15:36:24 GMT
X-mailer:Sendmail 8.9.0
Subject: Greetings
当邮件服务器 mail.domain1.com 把邮件传到接收方的服务器 mail.domain2.com 时,接受方
服务器会在信头上记录下有关的计算机信息,邮件的信头变成:
Received: from client1.domain1.com (client1.domain1.com [111.11.1.1]) by mail.domain1.com
(8.8.5) id 004A21; Tue, Mar 18 1998 15:3 7:24 GMT
From: sender@domain1.com
To: receipt@domain2.com
Date: Tue, Mar 18 1998 15:36:24 GMT
Message-Id:
X-mailer:Sendmail 8.9.0
Subject: Greetings
当收件人服务器 mail.domain2.com 把邮件接收并存初下来,等待收件人来阅读时,邮件的
信头将会再加入一条记录:
Received: from mail.domain1.com (mail.domain1.com [111.11.1.0] ) by mail.domain2.com
(8.8.5/8.7.2) with ESMTP id LAA20869; Tue, Mar 18 1998 15:39:44 GMT
Received: from client1.domain1.com (client1.domain1.com [111.11.1.1]) by mail.domain1.com
(8.8.5) id 004A21; Tue, Mar 18 1998 15:37:24 GMT
From: sender@domain1.com
To: receipt@domain2.com
Date: Tue, Mar 18 1998 15:36:24 GMT
Message-Id:
X-mailer:Sendmail 8.9.0
Subject: Greetings
上面整个记录就将是收件人看到的完整的邮件信头。让我们逐行看一下信头中各行的含义:
Received: from mail.domain1.com (mail.domain1.com [111.11.1.0] ) by mail.domain2.com
(8.8.5/8.7.2) with ESMTP id LAA20869; Tue, Mar 18 1998 15:39:44 GMT
这 封 信 是 从 一 台 自 称 为 mail.domain1.com 的 机 器 上 接 收 的 ; 这 台 机 器 的 IP 地 址 是
[111.11.1.0] , 真 实 名 字 就 是 标 称 名 字 mail.domain1.com; 接 收 方 的 机 器 名 称 是
mail.domain2.com, 运行的邮件服务器是 Sendmail, 版本(8.8.5/8.7.2) 。接收方机器给邮件的
编号是 ESMTP id LAA20869, 接收到的时间是 Tue, Mar 18 1998 15:39:44 GMT。
Received: from client1.domain1.com (client1.domain1.com [111.11.1.1]) by mail.domain1.com
(8.8.5) id 004A21; Tue, Mar 18 1998 15:37:24 GMT
这条记录表明信件是由机器 client1.domain1.com ( IP 地址是 [111.11.1.1]) 在 Tue, Mar 18
1998 15:37:24 GMT 交给 mail.domain1.com,并赋给编号 id 004A21。
From,TO ,Date 和 Subject 都易于理解,分别指明发件人,收件人,信件编辑日期及信件主
题。
Message-Id:
这是由发件方邮件服务器赋给这封邮件的编号。与其它编号不同,这个编号自始至终跟随邮
件。
◆OPEN RELAY 的原理及测试
1.OPEN RELAY 的原理
由于技术的原因,在 80 年代前,网络还不是很健全,机器之间很少能直接对话发送邮件,
人们必须得找出一条有效的连接通路来,然后信件沿着通路一步一步传送到目的地。SMTP
协议中就明确指出当邮件在不同的网络间传送时,需要借助中间服务器的 RELAY。
邮件在收件方和发件方之间会经过毫不相干的第三方服务器,这就是邮件转发 (RELAY)。
如下图所示:
图中的 MAIL SERVER 是可以对要求转发的邮件进行限制的,如只转发来自某个域的邮件
或来自于某些 IP 得邮件。如果转发没有任何限制,就被称为 OPEN RELAY 或 THIRD
PARTY RELAY。
从历史上看,relay 曾经发挥过重要作用。而且当时这些工作主要靠手工来做,就像我们今
天通过邮局发一封信一样。 假如我想从沈阳发一封信件到深圳,我再信封上写好收信地址深
圳,邮局就需要找到定义的运送路线: 沈阳,北京,郑州,长沙,广州,深圳。甚至还要
长一些。 其中很重要一点是每一个中继站都能很好的理解这封信将被送到哪里, 下一个接收
站是谁。在电子邮件里,这就相当于每个中继服务器清楚下一个服务起是谁,这就是邮件的
转发。
目前,正常邮件转发已经不再必要,相反,无限制转发常常被发送垃圾邮件的人利用,隐藏
真实的邮件来源,让别人以为是从另外的 ISP 发出的信件;同时,也把大量的处理工作转
移到别人机器上。
由于前面提到的历史的原因,最初的绝大多数邮件服务器都允许 OPEN RELAY 的。今天,
大部分邮件服务器升级版本已经在缺省设置中关闭了 OPEN RELAY, 如 Sendmail 从 8.9.3
版本开始,Exchange Server 从 5.5 版本开始关闭了 open relay。有的服务器虽然没有相应的
升级版本,也都提供了关闭 open relay 的方法, 如在 NOTES SERVER 的配置文件 notes.ini 中
加入一行:SMTPMTA_REJECT_RELAYS=1。但由于很多服务器管理员的疏忽而没能及时
的修补这些安全漏洞,被利用来转发垃圾邮件。
2. 如何确认邮件服务器是否 RELAY
假设要测试的 IP 是 202.112.0.0. 可以使用下列命令进行测试,文中的绿色斜题字为测试邮
件服务器的反馈信息:
#telnet 202.112.0.0 25
Trying 202.112.0.0...
Connected to 202.112.0.0.
Escape character is '^]'.
220 dns.ccert.edu.cn ESMTP Sendmail 8.11.1/8.11.1; Sat, 30 Jun 2001 21:07:10 +0800
helo mydomain
250 dns.ccert.edu.cn Hello point.ccert.edu.cn [202.112.50.3], pleased to meet you
mail from:nobody@yahoo.com
250 2.1.0 nobody@#yahoo.com... Sender ok
rcpt to:nobody@hotmail.com
550 5.7.1 nobody@hotmail.com... Relaying denied
最后的 Relaying denied 表明该服务器已经安全设置,不会再 relay 无关邮件了。如果显示的
结果是下面的样子,这表明服务器可以转发任何人的邮件。
rcpt to:nobody@hotmail.com
250 nobody@hotmail.com... Recipient ok
data
354 Enter mail, end with "." on a line by itself
this is a test of the relay
.
250 VAA00289 Message accepted for delivery
除了用上面的命令行的方法测试外,下面的链接提供了一个测试工具,只需输入 IP 即可。
http://www.abuse.net/relay.html
什么是 LDAP?
LDAP 的英文全称是 Lightweight Directory Access Protocol,一般都简称为 LDAP。它是基于
X.500 标准的,但是简单多了并且可以根据需要定制。与 X.500 不同,LDAP 支持 TCP/IP,
这对访问 Internet 是必须的。LDAP 的核心规范在 RFC 中都有定义,所有与 LDAP 相关的
RFC 都可以在 LDAPman RFC 网页中找到。现在 LDAP 技术不仅发展得很快而且也是激动
人心的。在企业范围内实现 LDAP 可以让运行在几乎所有计算机平台上的所有的应用程序
从 LDAP 目录中获取信息。LDAP 目录中可以存储各种类型的数据:电子邮件地址、邮件路
由信息、人力资源数据、公用密匙、联系人列表,等等。通过把 LDAP 目录作为系统集成
中的一个重要环节, 可以简化员工在企业内部查询信息的步骤, 甚至连主要的数据源都可以
放在任何地方。
LDAP 目录的优势
如果需要开发一种提供公共信息查询的系统一般的设计方法可能是采用基于 WEB 的数据库
设计方式,即前端使用浏览器而后端使用 WEB 服务器加上关系数据库。后端在 Windows
的典型实现可能是 Windows NT + IIS + Acess 数据库或者是 SQL 服务器,IIS 和数据库之间
通过 ASP 技术使用 ODBC 进行连接,达到通过填写表单查询数据的功能;
后端在 Linux 系统的典型实现可能是 Linux+ Apache + postgresql, Apache 和数据库之间通过
PHP3 提供的函数进行连接。使用上述方法的缺点是后端关系数据库的引入导致系统整体的
性能降低和系统的管理比较繁琐, 因为需要不断的进行数据类型的验证和事务的完整性的确
认; 并且前端用户对数据的控制不够灵活, 用户权限的设置一般只能是设置在表一级而不是
设置在记录一级。
目录服务的推出主要是解决上述数据库中存在的问题。 目录与关系数据库相似, 是指具有描
述性的基于属性的记录集合,但它的数据类型主要是字符型,为了检索的需要添加了 BIN
(二进制数据) 、CIS(忽略大小写) 、CES(大小写敏感) 、TEL(电话型)等语法(Syntax) ,
而不是关系数据库提供的整数、浮点数、日期、货币等类型,同样也不提供象关系数据库中
普遍包含的大量的函数, 它主要面向数据的查询服务 (查询和修改操作比一般是大于 10:1) ,
不提供事务的回滚(rollback)机制,它的数据修改使用简单的锁定机制实现 All-or-Nothing,
它的目标是快速响应和大容量查询并且提供多目录服务器的信息复制功能。
现在该说说 LDAP 目录到底有些什么优势了。现在 LDAP 的流行是很多因数共同作用的结
果。可能 LDAP 最大的优势是:可以在任何计算机平台上,用很容易获得的而且数目不断
增加的 LDAP 的客户端程序访问 LDAP 目录。而且也很容易定制应用程序为它加上 LDAP
的支持。
LDAP 协议是跨平台的和标准的协议, 因此应用程序就不用为 LDAP 目录放在什么样的服务
器上操心了。实际上,LDAP 得到了业界的广泛认可,因为它是 Internet 的标准。产商都很
愿意在产品中加入对 LDAP 的支持,因为他们根本不用考虑另一端(客户端或服务端)是
怎么样的。 LDAP 服务器可以是任何一个开发源代码或商用的 LDAP 目录服务器 (或者还可
能是具有 LDAP 界面的关系型数据库) ,因为可以用同样的协议、客户端连接软件包和查询
命令与 LDAP 服务器进行交互。与 LDAP 不同的是,如果软件产商想在软件产品中集成对
DBMS 的支持,那么通常都要对每一个数据库服务器单独定制。不象很多商用的关系型数
据库,你不必为 LDAP 的每一个客户端连接或许可协议付费 大多数的 LDAP 服务器安装起
来很简单,也容易维护和优化。
LDAP 服务器可以用“推”或“拉”的方法复制部分或全部数据,例如:可以把数据“推”到远程
的办公室,以增加数据的安全性。复制技术是内置在 LDAP 服务器中的而且很容易配置。
如果要在 DBMS 中使用相同的复制功能,数据库产商就会要你支付额外的费用,而且也很
难管理。
LDAP 允许你根据需要使用 ACI(一般都称为 ACL 或者访问控制列表)控制对数据读和写
的权限。例如,设备管理员可以有权改变员工的工作地点和办公室号码,但是不允许改变记
录中其它的域。ACI 可以根据谁访问数据、访问什么数据、数据存在什么地方以及其它对数
据进行访问控制。因为这些都是由 LDAP 目录服务器完成的,所以不用担心在客户端的应
用程序上是否要进行安全检查。
LDAP(Lightweight Directory Acess Protocol)是目录服务在 TCP/IP 上的实现(RFC 1777 V2
版和 RFC 2251
V3 版)。它是对 X500 的目录协议的移植,但是简化了实现方法,所以称为轻量级的目录服
务。在 LDAP 中目录是按照树型结构组织,目录由条目(Entry)组成,条目相当于关系数
据库中表的记录;条目是具有区别名 DN(Distinguished
Name)的属性(Attribute)集合,DN 相当于关系数据库表中的关键字(Primary
Key);属性由类型(Type)和多个值(Values)组成,相当于关系数据库中的域(Field)由
域名和数据类型组成,只是为了方便检索的需要,LDAP 中的 Type 可以有多个 Value,而不
是关系数据库中为降低数据的冗余性要求实现的各个域必须是不相关的。 LDAP 中条目的组
织一般按照地理位置和组织关系进行组织,非常的直观。LDAP 把数据存放在文件中,为提
高效率可以使用基于索引的文件数据库,而不是关系数据库。LDAP 协议集还规定了 DN 的
命名方法、存取控制方法、搜索格式、复制方法、URL 格式、开发接口等
LDAP 对于这样存储这样的信息最为有用,也就是数据需要从不同的地点读取,但是不需要
经常更新。
例如,这些信息存储在 LDAP 目录中是十分有效的:
l 公司员工的电话号码簿和组织结构图
l 客户的联系信息
l 计算机管理需要的信息,包括 NIS 映射、email 假名,等等
l 软件包的配置信息
l 公用证书和安全密匙
什么时候该用 LDAP 存储数据
大多数的 LDAP 服务器都为读密集型的操作进行专门的优化。因此,当从 LDAP 服务器中
读取数据的时候会比从专门为 OLTP 优化的关系型数据库中读取数据快一个数量级。 也是因
为专门为读的性能进行优化,大多数的 LDAP 目录服务器并不适合存储需要需要经常改变
的数据。例如,用 LDAP 服务器来存储电话号码是一个很好的选择,但是它不能作为电子
商务站点的数据库服务器。
如果下面每一个问题的答案都是“是”,那么把数据存在 LDAP 中就是一个好主意。
l 需要在任何平台上都能读取数据吗?
l 每一个单独的记录项是不是每一天都只有很少的改变?
l 可以把数据存在平面数据库(flat database)而不是关系型数据库中吗?换句话来说,也就
是不管什么范式不范式的,把所有东西都存在一个记录中(差不多只要满足第一范式) 。
最后一个问题可能会唬住一些人,其实用平面数据库去存储一些关系型的数据也是很一般
的。例如,一条公司员工的记录就可以包含经理的登录名。用 LDAP 来存储这类信息是很
方便的。一个简单的判断方法:如果可以把保数据存在一张张的卡片里,就可以很容易地把
它存在 LDAP 目录里。
安全和访问控制
LDAP 提供很复杂的不同层次的访问控制或者 ACI。因这些访问可以在服务器端控制,这比
用客户端的软件保证数据的安全可安全多了。
用 LDAP 的 ACI,可以完成:
l 给予用户改变他们自己的电话号码和家庭地址的权限,但是限制他们对其它数据(如,职
务名称,经理的登录名,等等)只有“只读”权限。
l 给予“HR-admins"组中的所有人权限以改变下面这些用户的信息:经理、工作名称、员工
号、部门名称和部门号。但是对其它域没有写权限。
l 禁止任何人查询 LDAP 服务器上的用户口令,但是可以允许用户改变他或她自己的口令。
l 给予经理访问他们上级的家庭电话的只读权限,但是禁止其他人有这个权限。
l 给予“host-admins"组中的任何人创建、删除和编辑所有保存在 LDAP 服务器中的与计算机
主机有关的信息
l 通过 Web,允许“foobar-sales"组中的成员有选择地给予或禁止他们自己读取一部分客户联
系数据的读权限。这将允许他们把客户联系信息下载到本地的笔记本电脑或个人数字助理
(PDA)上。 (如果销售人员的软件都支持 LDAP,这将非常有用)
l 通过 Web,允许组的所有者删除或添加他们拥有的组的成员。例如:可以允许销售经理给
予或禁止销售人员改变 Web 页的权限。也可以允许邮件假名(mail aliase)的所有者不经过
IT 技术人员就直接从邮件假名中删除或添加用户。“公用”的邮件列表应该允许用户从邮件
假名中添加或删除自己(但是只能是自己) 。也可以对 IP 地址或主机名加以限制。例如,某
些域只允许用户 IP 地址以 192.168.200.*开头的有读的权限, 或者用户反向查找 DNS 得到的
主机名必须为*.foobar.com。
LDAP 目录树的结构
LDAP 目录以树状的层次结构来存储数据。如果你对自顶向下的 DNS 树或 UNIX 文件的目
录树比较熟悉, 也就很容易掌握 LDAP 目录树这个概念了。 就象 DNS 的主机名那样,LDAP
目录记录的标识名(Distinguished Name,简称 DN)是用来读取单个记录,以及回溯到树的
顶部。后面会做详细地介绍。
为什么要用层次结构来组织数据呢?原因是多方面的。下面是可能遇到的一些情况:
l 如果你想把所有的美国客户的联系信息都“推”到位于到西雅图办公室 (负责营销) LDAP 的
服务器上,但是你不想把公司的资产管理信息“推”到那里。
l 你可能想根据目录树的结构给予不同的员工组不同的权限。在下面的例子里,资产管理组
对“asset-mgmt"部分有完全的访问权限,但是不能访问其它地方。
l 把 LDAP 存储和复制功能结合起来,可以定制目录树的结构以降低对 WAN 带宽的要求。
位于西雅图的营销办公室需要每分钟更新的美国销售状况的信息, 但是欧洲的销售情况就只
要每小时更新一次就行了。
刨根问底:基准 DN
LDAP 目录树的最顶部就是根,也就是所谓的“基准 DN"。基准 DN 通常使用下面列出的三
种格式之一。假定我在名为 FooBar 的电子商务公司工作,这家公司在 Internet 上的名字是
foobar.com。
o="FooBar, Inc.", c=US
(以 X.500 格式表示的基准 DN)
在这个例子中,o=FooBar, Inc. 表示组织名,在这里就是公司名的同义词。c=US 表示公司
的总部在美国。以前,一般都用这种方式来表示基准 DN。但是事物总是在不断变化的,现
在所有的公司都已经(或计划)上 Internet 上。随着 Internet 的全球化,在基准 DN 中使用
国家代码很容易让人产生混淆。现在,X.500 格式发展成下面列出的两种格式。
o=foobar.com
(用公司的 Internet 地址表示的基准 DN)
这种格式很直观,用公司的域名作为基准 DN。这也是现在最常用的格式。
dc=foobar, dc=com
(用 DNS 域名的不同部分组成的基准 DN)
就象上面那一种格式,这种格式也是以 DNS 域名为基础的,但是上面那种格式不改变域名
(也就更易读) ,而这种格式把域名:foobar.com 分成两部分 dc=foobar, dc=com。在理论上,
这种格式可能会更灵活一点,但是对于最终用户来说也更难记忆一点。考虑一下 foobar.com
这个例子。当 foobar.com 和 gizmo.com 合并之后,可以简单的把“dc=com"当作基准 DN。把
新的记录放到已经存在的 dc=gizmo, dc=com 目录下,这样就简化了很多工作(当然,如果
foobar.com 和 wocket.edu 合并,这个方法就不能用了) 。如果 LDAP 服务器是新安装的,我
建议你使用这种格式。 再请注意一下,如果你打算使用活动目录 ,
(Actrive Directory)Microsoft
已经限制你必须使用这种格式。
更上一层楼:在目录树中怎么组织数据
在 UNIX 文件系统中,最顶层是根目录(root) 。在根目录的下面有很多的文件和目录。象
上面介绍的那样,LDAP 目录也是用同样的方法组织起来的。
在根目录下,要把数据从逻辑上区分开。因为历史上(X.500)的原因,大多数 LDAP 目录
用 OU 从逻辑上把数据分开来。OU 表示“Organization Unit",在 X.500 协议中是用来表示公
司内部的机构:销售部、财务部,等等。现在 LDAP 还保留 ou=这样的命名规则,但是扩展
了分类的范围,可以分类为:ou=people, ou=groups, ou=devices,等等。更低一级的 OU 有时
用来做更细的归类。例如:LDAP 目录树(不包括单独的记录)可能会是这样的:
dc=foobar, dc=com
ou=customers
ou=asia
ou=europe
ou=usa
ou=employees
ou=rooms
ou=groups
ou=assets-mgmt
ou=nisgroups
ou=recipes
单独的 LDAP 记录
DN 是 LDAP 记录项的名字
在 LDAP 目录中的所有记录项都有一个唯一的“Distinguished Name",也就是 DN。每一个
LDAP 记录项的 DN 是由两个部分组成的: 相对 DN(RDN)和记录在 LDAP 目录中的位置。
在
RDN 是 DN 中与目录树的结构无关的部分。 LDAP 目录中存储的记录项都要有一个名字,
这个名字通常存在 cn(Common Name)这个属性里。因为几乎所有的东西都有一个名字,
在 LDAP 中存储的对象都用它们的 cn 值作为 RDN 的基础。如果我把最喜欢的吃燕麦粥食
谱存为一个记录,我就会用 cn=Oatmeal Deluxe 作为记录项的 RDN。
l 我的 LDAP 目录的基准 DN 是 dc=foobar,dc=com
l 我把自己的食谱作为 LDAP 的记录项存在 ou=recipes
l 我的 LDAP 记录项的 RDN 设为 cn=Oatmeal Deluxe
上面这些构成了燕麦粥食谱的 LDAP 记录的完整 DN。 记住, 的读法和 DNS 主机名类似。
DN
下面就是完整的 DN:
cn=Oatmeal Deluxe,ou=recipes,dc=foobar,dc=com
举一个实际的例子来说明 DN
现在为公司的员工设置一个 DN。可以用基于 cn 或 uid(User ID) ,作为典型的用户帐号。
例如,FooBar 的员工 Fran Smith(登录名:fsmith)的 DN 可以为下面两种格式:
uid=fsmith,ou=employees,dc=foobar,dc=com
(基于登录名)
LDAP(以及 X.500)用 uid 表示“User ID",不要把它和 UNIX 的 uid 号混淆了。大多数公司
都会给每一个员工唯一的登录名, 因此用这个办法可以很好地保存员工的信息。 你不用担心
以后还会有一个叫 Fran Smith 的加入公司,如果 Fran 改变了她的名字(结婚?离婚?或宗
教原因?) ,也用不着改变 LDAP 记录项的 DN。
cn=Fran Smith,ou=employees,dc=foobar,dc=com
(基于姓名)
可以看到这种格式使用了 Common Name(CN) 。可以把 Common Name 当成一个人的全名。
这种格式有一个很明显的缺点就是:如果名字改变了,LDAP 的记录就要从一个 DN 转移到
另一个 DN。但是,我们应该尽可能地避免改变一个记录项的 DN。
定制目录的对象类型
你可以用 LDAP 存储各种类型的数据对象,只要这些对象可以用属性来表示,下面这些是
可以在 LDAP 中存储的一些信息:
l 员工信息:员工的姓名、登录名、口令、员工号、他的经理的登录名,邮件服务器,等等。
l 物品跟踪信息:计算机名、IP 地址、标签、型号、所在位置,等等。
l 客户联系列表:客户的公司名、主要联系人的电话、传真和电子邮件,等等。
l 会议厅信息:会议厅的名字、位置、可以坐多少人、电话号码、是否有投影机。
l 食谱信息:菜的名字、配料、烹调方法以及准备方法。
因为 LDAP 目录可以定制成存储任何文本或二进制数据, 到底存什么要由你自己决定。 LDAP
目录用对象类型(object classes)的概念来定义运行哪一类的对象使用什么属性。在几乎所
有的 LDAP 服务器中,你都要根据自己的需要扩展基本的 LDAP 目录的功能,创建新的对
象类型或者扩展现存的对象类型。
LDAP 目录以一系列“属性对”的形式来存储记录项,每一个记录项包括属性类型和属性值
(这与关系型数据库用行和列来存取数据有根本的不同) 。下面是我存在 LDAP 目录中的一
部分食谱记录:
dn: cn=Oatmeal Deluxe, ou=recipes, dc=foobar, dc=com
cn: Instant Oatmeal Deluxe
recipeCuisine: breakfast
recipeIngredient: 1 packet instant oatmeal
recipeIngredient: 1 cup water
recipeIngredient: 1 pinch salt
recipeIngredient: 1 tsp brown sugar
recipeIngredient: 1/4 apple, any type
请注意上面每一种配料都作为属性 recipeIngredient 值。 LDAP 目录被设计成象上面那样为一
个属性保存多个值的,而不是在每一个属性的后面用逗号把一系列值分开。
因为用这样的方式存储数据, 所以数据库就有很大的灵活性, 不必为加入一些新的数据就重
新创建表和索引。 更重要的是, LDAP 目录不必花费内存或硬盘空间处理“空”域, 也就是说,
实际上不使用可选择的域也不会花费你任何资源。
作为例子的一个单独的数据项
让我们看看下面这个例子。我们用 Foobar, Inc.的员工 Fran Smith 的 LDAP 记录。这个记录
项的格式是 LDIF,用来导入和导出 LDAP 目录的记录项。
dn: uid=fsmith, ou=employees, dc=foobar, dc=com
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
objectclass: foobarPerson
uid: fsmith
givenname: Fran
sn: Smith
cn: Fran Smith
cn: Frances Smith
telephonenumber: 510-555-1234
roomnumber: 122G
o: Foobar, Inc.
mailRoutingAddress: fsmith@foobar.com
mailhost: mail.foobar.com
userpassword: {crypt}3x1231v76T89N
uidnumber: 1234
gidnumber: 1200
homedirectory: /home/fsmith
loginshell: /usr/local/bin/bash
属性的值在保存的时候是保留大小写的,但是在默认情况下搜索的时候是不区分大小写的。
某些特殊的属性(例如,password)在搜索的时候需要区分大小写。
让我们一点一点地分析上面的记录项。
dn: uid=fsmith, ou=employees, dc=foobar, dc=com
这是 Fran 的 LDAP 记录项的完整 DN,包括在目录树中的完整路径。LDAP(和 X.500)使
用 uid(User ID) ,不要把它和 UNIX 的 uid 号混淆了。
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
objectclass: foobarPerson
可以为任何一个对象根据需要分配多个对象类型。person 对象类型要求 cn(common name)
和 sn (surname) 这两个域不能为空。 persion 对象类型允许有其它的可选域, 包括 givenname、
telephonenumber,等等。organizational Person 给 person 加入更多的可选域,inetOrgPerson
又加入更多的可选域(包括电子邮件信息) 。最后,foobarPerson 是为 Foobar 定制的对象类
型,加入了很多定制的属性。
uid: fsmith
givenname: Fran
sn: Smith
cn: Fran Smith
cn: Frances Smith
telephonenumber: 510-555-1234
roomnumber: 122G
o: Foobar, Inc.
以前说过了,uid 表示 User ID。当看到 uid 的时候,就在脑袋里想一想“login"。
请注意 CN 有多个值。就象上面介绍的,LDAP 允许某些属性有多个值。为什么允许有多个
值呢?假定你在用公司的 LDAP 服务器查找 Fran 的电话号码。你可能只知道她的名字叫
Fran,但是对人力资源处的人来说她的正式名字叫做 Frances。因为保存了她的两个名字,
所以用任何一个名字检索都可以找到 Fran 的电话号码、电子邮件和办公房间号,等等。
mailRoutingAddress: fsmith@foobar.com
mailhost: mail.foobar.com
就象现在大多数的公司都上网了,Foobar 用 Sendmail 发送邮件和处理外部邮件路由信息。
Foobar 把所有用户的邮件信息都存在 LDAP 中。最新版本的 Sendmail 支持这项功能。
Userpassword: {crypt}3x1231v76T89N
uidnumber: 1234
gidnumber: 1200
gecos: Frances Smith
homedirectory: /home/fsmith
loginshell: /usr/local/bin/bash
注意,Foobar 的系统管理员把所有用户的口令映射信息也都存在 LDAP 中。FoobarPerson
类型的对象具有这种能力。 再注意一下, 用户口令是用 UNIX 的口令加密格式存储的。 UNIX
的 uid 在这里为 uidnumber。提醒你一下,关于如何在 LDAP 中保存 NIS 信息,有完整的一
份 RFC。在以后的文章中我会谈一谈 NIS 的集成。
LDAP 复制
LDAP 服务器可以使用基于“推”或者“拉”的技术,用简单或基于安全证书的安全验证,复制
一部分或者所有的数据。
例如,Foobar 有一个“公用的”LDAP 服务器,地址为 ldap.foobar.com,端口为 389。Netscape
Communicator 的电子邮件查询功能、UNIX 的“ph"命令要用到这个服务器,用户也可以在任
何地方查询这个服务器上的员工和客户联系信息。公司的主 LDAP 服务器运行在相同的计
算机上,不过端口号是 1389。
你可能即不想让员工查询资产管理或食谱的信息,又不想让信息技术人员看到整个公司的
LDAP 目录。为了解决这个问题,Foobar 有选择地把子目录树从主 LDAP 服务器复制到“公
用”LDAP 服务器上,不复制需要隐藏的信息。为了保持数据始终是最新的,主目录服务器
被设置成即时“推”同步。这些种方法主要是为了方便,而不是安全,因为如果有权限的用户
想查询所有的数据,可以用另一个 LDAP 端口。
假定 Foobar 通过从奥克兰到欧洲的低带宽数据的连接用 LDAP 管理客户联系信息。可以建
立从 ldap.foobar.com:1389 到 munich-ldap.foobar.com:389 的数据复制,象下面这样:
periodic pull: ou=asia,ou=customers,o=sendmail.com
periodic pull: ou=us,ou=customers,o=sendmail.com
immediate push: ou=europe,ou=customers,o=sendmail.com
“拉”连接每 15 分钟同步一次,在上面假定的情况下足够了。“推”连接保证任何欧洲的联系
信息发生了变化就立即被“推”到 Munich。
用上面的复制模式,用户为了访问数据需要连接到哪一台服务器呢?在 Munich 的用户可以
简单地连接到本地服务器。如果他们改变了数据,本地的 LDAP 服务器就会把这些变化传
到主 LDAP 服务器。然后,主 LDAP 服务器把这些变化“推”回本地的“公用”LDAP 服务器保
持数据的同步。这对本地的用户有很大的好处,因为所有的查询(大多数是读)都在本地的
服务器上进行,速度非常快。当需要改变信息的时候,最终用户不需要重新配置客户端的软
件,因为 LDAP 目录服务器为他们完成了所有的数据交换工作。
在 ASP 中取得服务器网卡的 MAC 地址、DNS 地址等网络
信息
前言,笔者由于前段时间要做一个 MIS 系统的开发,由于该 MIS 为一个非免费软件,故在
完成该系统开发时相应的注册模块也须开发, 由于为 B/S 结构的系统,所以在注册特征码的
选择上我选择了独一无二的网卡 MAC 地址。闲话少说,下面切入正题。由于该系统属商业
软件,故以下代码中仅包含代码思路,及简单的实现代码,具体大家可根据代码自由发挥,
也可与我一起切磋。
'--------------------------提取所有网卡的信息------------------------'
'------POWERED BY YESOUL SOFT 不速白客原创,采用请保留此信息 http://www.772.cn
-----------'
Public Function GetMacInfo()
On Error Resume Next
Dim fso, FileStr, AspSleepThread, CmdStr, SysDir, wshshell, CmdRe, MacFileContentFile,
MacFileContent
Const MacFile = "TmpYesoulSoft001.LLP"
Set fso = Server.CreateObject("Scripting.FileSystemObject")
SysDir = Split(GlobalMod.GetSysDir, ",")(1)
If InStr(LCase(SysDir), "system32") = 0 Then
GetMacInfo = "本系统只能运行在 Nt、Windows 2000、Windows.Net、Windows Xp、Windows
2003 等 32 位系统下,不支持 32 位以下的系统!"
Exit Function
Else
CmdStr = SysDir + "\Cmd.exe /C " + SysDir + "\Ipconfig.exe /All > " + Server.MapPath(MacFile)
End If
CmdRe = Shell(CmdStr, vbHide)
If CmdRe 0 Then
Set MacFileContentFile = fso.OpenTextFile(Server.MapPath(MacFile), 1, False,
TristateUseDefault)
'GetMacInfo = MacFileContentFile.ReadAll()
'Response.Flush
FileStr = MacFileContentFile.ReadAll()
MacFileContentFile.Close
Set MacFileContentFile = Nothing
Set AspSleepThread = Server.CreateObject("YesoulSoft.SleepThread")
'定义线程挂起的时间,这里为毫秒
AspSleepThread.SleepTime = 500
AspSleepThread.BeginSleepThread
GetMacInfo = ExecuteOne(FileStr, "Physical Address. . . . . . . . . : (.*)")
Set AspSleepThread = Nothing
Else
GetMacInfo = "系统当前无法获取您的网络信息,请检查权限继承关系后再运行本系统!"
Exit Function
End If
DelFile MacFile
Set fso = Nothing
End Function
'--------------------------在字符串匹配一次结果------------------------'
Public Function ExecuteOne(inpStr, PatStr)
Dim oRe, oMatch, oMatches
Set oRe = New RegExp
oRe.Pattern = PatStr
inpStr = LCase(inpStr)
oRe.IgnoreCase = True
Set oMatches = oRe.Execute(inpStr)
Set oMatch = oMatches(0)
ExecuteOne = oMatch.SubMatches(0)
End Function
欢迎大家与我联系,本代码结构简单, 需要采用的请自由采用及发挥, 如果你有更好的思想,
请及时告诉我啊,QQ:115269 EMAIL:Ycsyb@ycsyb.com
代码中 GETMACINFO 函数仅仅可以获取首个网卡的 MAC 地址,至于 DNS、网关等信息
大家可以举一反三啊
Domino 管理员 29 个问题
1. Domino/data 所在盘空间不够了怎么办?
Domino Administrator-->files-->tools-->folder-->new Link
当然你可以追加硬盘新件\data ,然后将一些数据库移过去,OK!
2. 重命名用户(部门间调动)
1. 进入 Domonio Administrator,选择个人和群组。
选中要修改的个人,找到“工具--个人“,点击重命名。
2. 选“需要移动到新的验证字”,在“选择原始的验证者标识符”对话框中,选择原始验证者标
识符,输入密码,点击“确定”。
3. 在“请求移动选定的项”对话框中输入新的组织名。单击确定。
4. 将出现提示框。点确定。
5. 显示执行结果,点确定。
6.点“文件“,打开 admin4.nsf,选 Name Move Requests,选中对应文档,点击“操作“中的
Complete Move For selected entries 操作。
7. 弹出对话框时,不用填写内容,点确定。\
8. 系统会告诉你执行结果,点确定。
然后的事就是等待,系统会在一定时间内对此事进行处理。一段时间后,当有人以你要修改
的用户名登陆时,系统会询问他是否接受更改,当他接受这个更改后,重命名就成功了。
(一)重命名成功后,要打开 admin4.nsf 删除对应的一系列文档。
注意:
(二)可以加快重命名速度的方法 :在服务器窗口输入命令“tell adminp process all ”。打回
车键。
够详细吧,呵呵!
3. 这几天服务器变得行为有点不正常了,表现如下:
新建信笺后,如果没有附加附件能正常发送出去,一旦附加附件发送时就会出现“未找到被
此注释使用的对象存储或不是 NOTES 数据库:mail.box".于是我将它保存成草稿,再进行发
送就可以顺利发送出去了,我单位的所有用户基本上都遇到此情况了,不断打电话来询问。
好烦啊!
我记得我之前在服务器做过的操作是:将邮箱数从"2"更改回"1",然后退出 domino server,把
mail.box,mail1.box,mail2.box 3 个文件剪切到桌面,再启动 DOMINO,服务器重新建了一个
Mail.box.随后麻烦的问题就随着来了。
我用了好几天时间查资料还是找不到这方面的解决办法。后来我想试一下再另建共享邮箱
吧,说不定能解决。虽然无法预知后果,但也要试了,大不了重新配置服务器。另建共享邮
箱 share.nsf 后,执行 tell router use share.nsf 再执行 load object link mail\ share.nsf。虽然在该过
程中出现了日志文件满的情况导致了服务器停止工作。重启后发邮件不再出现异常,问题解
决了。
4. 如何更改用户所属的组织单元
管理员可以利用管理进程更改用户所属的组织单元.
1打开服务器上的公共通信录数据库
2选中被改名的个人文档,点击菜单"操作"--重命名选定的个人
3点击第三个按钮--"请求移动到新的验证字"
4选择该用户的原始的组织或组织单元的标识符文件,并输入其口令.
5输入新的组织或组织单元的名称,例如/ou2/org,然后点击"确定"按钮
6系统会出现一个窗口,显示处理结果,看后点击"确定"按钮.
7打开服务器上的管理请求数据库(admin4.nsf),选择视图--名称移动请求,则可以看到
该请求的文档
8选中该文档,点击菜单"操作"--"为选定的个人完成移动"
9选择新的组织或组织单元的标识符文件,并输入其口令
10(可选)修改新的验证字的过期日期,然后点击"确定"按钮
11在"重命名用户"窗口中,点击"确定"按钮.
当管理进程运行完之后,该用户的组织单元就会被改过来.
/
5. 有几个用户一直连不上 Lotus 用户
我们公司的架构是采用集中管理,所有的 1000 个用户都挂在一台 lotus 服务器上,而且有
北京,云南、湖南、甘肃、深圳的 7 家公司
都连上,从 8.21 起深圳的有三家公司在同一个网段,共用一个路由器
客户基本上是用 win2000 专业版,现在是有的用户能连上,有的用户连不上,很是头痛。 连
不上的,我加了 hosts 文件,进行个人场所文件中加了连接配置向导,并编辑场所文件将其
中的代理服务器都去掉了,而且在服务器文档将 notes 的端口只保留了 tcpip,并在客户端中
将贯用选项-->用户惯用选项--->端口-->只保留了 tcpip,
现在是可以主机和 ip,10.188.7.5,都可以正常,就是连不上 notes,报英文提示是 server no
repend(服务器没有响应,oh,my
!!
god 该如何办!!
问题解决了,是由于客户端安装了 isa 客户端的问题!去掉了 ISA 客户端以后,可以连上。
!
感谢各位的帮助!!
/
6. 个人邮件大小
在配置中,smtp/路由中,启用遵守数据库限额。
我认为使用 AdminP --->Program --->add program 然后指定每天或每周运行 Compact,对管理
者来说更方便!
7. 重新验证用户
你可以试一下在通讯录中找到需要验证的人的文档,点右键选择重新验证
注意:取消“在提交需求前编辑或检查每个项”,直接点确定,应该可以的我这里做过很多次
验证过后,在 adminp 中会出现该项任务。
另外,该用户再次进入时就不会有提示了!
/
8. 为什么注册的用户在 IE 下无法登陆,在 notes 端工作正常?
原因是我忘了将“会话验证”设为启用了。
/
9. 如何禁止 Lotus 用户,需要时再启动? 如何判断用户的 Lotus 超过 7 天没有用
可以禁用,服务器文档,安全性,禁止使用服务器,写用户名
日志,使用,按用户
/
10. 我想在服务器目录里添加一个程序,程序执行的命令是“LOAD compact mail”
各位朋友:
现在有解决办法了
程序名:compact
命令行:mail
谢谢各位大侠的支持
/
11. Client 除了 hosts 文件外,还可怎么来解析 domino 服务器?
除了 HOSTS 文档和 DNS
还有一种就是将 DOMINO 服务器的名称和服务器的主机名称起一样的名
/
12. 我将自己从管理员中删除了,有难度的挑战!
我告诉你一个简单的办法:
在开始/运行中输入:“d:/lotus/domino/nlnotes.exe”
然后输入你的服务器 id 的口令
然后打开要操作的数据库,直接修改 acl 即可!
如果可行的话,请回复!
13. 管理员对滞留在服务器邮箱(mail.box)中的邮件该怎样处理?
当 Domino 暂时无法邮递消息时(例如:暂时无法连接收件人邮件服务器),该邮件会保留
在 MAIL.BOX 中。MAIL.BOX 还包含“死信”消息,Router 无法邮递死信,也无法向发件人
传送一条表明无法邮递的失败消息,例如:当收件人地址错误键入而发件人邮件服务器又无
效时。管理员应定期查看 MAIL.BOX 中的内容,并可以对其中的邮件做以下处理:
检查无法邮递的邮件
在 Domino Administrator 中,选择“消息处理”标签。
1、在“路由邮箱”中选择要查看的 MAIL.BOX(如果服务器上启用了多个邮箱,此处会有
MAIL1.BOX,MAIL2.BOX 等)。
2、在屏幕的右侧会显示 MAIL.BOX 的内容,检查是否有“保留”消息和“死信”消息。
3、查找到无法邮递的消息(标记为“保留”和“死信”)时,可以进行以下三种操作之一:
改正此消息的收件人地址
释放此消息
删除此消息
改正收件人地址
1、双击希望改正地址的消息。
2、选择“操作”“编辑文档”。
3、在“收件人”域中改正地址。
4、保存退出此消息。
释放所有“死信”消息
1、单击“释放”按钮。
2、单击“所有死信消息”。
Router 尝试将所有“死信”消息重新发送到预期的收件人处。如果 Router 仍然无法邮递这些
消息,并且无法向发件人邮递表明无法邮递的报告,那么它会再次将这些消息标记为“死信”。
释放选定的“死信”消息
选择希望重新发送到预期收件人处的“死信”消息。
单击“释放”按钮。
单击“选定的死信消息”。
Router 尝试将选定的“死信”消息重新发送到预期的收件人处。如果 Router 仍然无法邮递这
些消息,并且无法向发件人邮递表明无法邮递的报告,那么它会再次将这些消息标记为“死
信”。
将选定“死信”消息释放到已更新的收件人
为希望重新发送的“死信”消息改正地址。
选择视图中的消息。
单击“释放”按钮。
单击“将选定的死信消息发送到收件人”。
Router 尝试将表明选定消息无法邮递的失败消息重新发送到这些消息的发件人处。如果
Router 仍然无法将这些表明无法邮递的失败消息邮递到发件人,那么它会再次将这些消息
标记为“死信”。
释放选定的“保留”消息
选择希望重新发送到预期收件人处的“保留”消息。
单击“释放”按钮。
单击“选定的保留消息”。
Router 尝试将选定的“保留”消息重新发送到预期的收件人处。如果 Router 仍然无法邮递这
些消息,那么它会再次将这些消息标记为“保留”。
释放准备进行最后尝试的选定“保留”消息
选择希望重新发送到预期收件人处的“保留”消息。
单击“释放”按钮。
单击“最后尝试选定的保留消息”。
Router 尝试将选定的“保留”消息重新发送到预期的收件人处。如果 Router 无法将消息邮递
到收件人,那么它将向发件人发送表明无法邮递的失败报告。
注意,“释放选定的保留消息”和“释放准备进行最后尝试的选定保留消息”只有对状态为“保
留”的邮件才起作用。要想使无法邮递的信息不返回邮递失败报告,而是保留在 mail.box 中,
必须在配置文档中启用“保留未邮递邮件”设置。步骤如下:
单击“路由器/SMTP”“高级”“控件”附签。
在“高级传输控件”区段中修改域“保留未邮递邮件”:
“启用”,将 Domino 无法邮递的邮件保留在 MAIL.BOX 中,而不生成表明无法邮递的报
告。
“禁用”(缺省)
,当 Domino 不能邮递消息时,生成表明无法邮递的报告。
对无法邮递的消息处理完毕之后,请关闭 MAIL.BOX 数据库。
14. 设置附件大小限制为什么不生效,请高手们给个方案...
我在服务器通讯录-配置-路由器/SMTP-限制和控件-最大消息长度 设为 5120K,可是他们的
附件还是可以几十兆地发送,不知还有其它的设置方法吗?
1 这个设置在同一个邮件服务器内无效,是限制不同服务器之间发送的
2 设置后要重起服务器
/
15. 能否将服务器 ID 文件的密码去掉,或实现启动服务器时不用输入密码
有几个步骤:
1。先把 server.id 抄到你的 workstation。
2。打开 workstation 里的 Administrator Client。
3。到“配置”的 tab。
4。选“验证”-》“标识符属性”。
5。选择已经抄到 workstation 的 server.id
6。选择“清除口令”。
(不好意思,中文不好用了一些英文)
忘了一个步骤:
最后要把 server.id 抄回服务器上,在启动服务器。
那要看你注册这个服务器时设置的密码强度,如果是 0,则可以去掉,否则没办法了;去掉
密码的方法有两种:NO:1,安装服务器时在文件--》工具--》用户标识符里面;NO:2,
在管理端--》配置--》工具--》标识符属性里面
楼上:如果你当初安装服务器时对 server.id 加了密码,那不管是怎么启动,还是要密码的。
1.重新建一个 SERVER ID,设定级别为 0,先设一个密码
2.用此 ID 覆盖原 SERVER ID,重启
3.启动 ADMINISTRATOR,EXAM SERVER ID,将 ID 密码 CLEAR
4.重要:将此 ID 的公匙贴到公用地址薄中该服务器文档的公匙位置,重启,一切 OK!
/
16. 当管理员被开除后带走所有的 ID,你该怎么办?
翻译得好累哦,希望对大家有帮助!
问:我们的 Domino 管理员刚被开除,所有的 ID 档都在他家。有什么最好的办法来防止他
由外面进入我们的 Domino 系统?目前,我们的防火墙已经把 1352 和 HTTP 关闭了,但是
为了使移动用户能够从 Internet 复制他们的邮箱,我们不能不把这些端口打开。谢谢。
答:要防止别人盗用你的用户的 ID,你要做一些更动。当然,更改一个用户会比更改你全
公司的用户来得容易。
你可以重新创建所有的 ID,然后在这些 ID 上做一些更动。比如说,加上他们的中间名来使
他们和原来的名字不同。然后,你必须把旧的名字移到一个“离职员工”的群组,并且不让这
一个群组有访问服务器的权限。
或者,创建所有的 ID,但是名字是和原来的 ID 一样的。不过,这要把服务器文档的“安全
性”里的“与保存在通讯录中的 Notes 公用密钥比较”启用。这样一来,系统会确保每一个 ID
里的公用密钥和目录里的公用密钥是一样的。
又或者,你也可以启用同样在“安全性”里的“校验 Notes 标识符口令”。不过,你也必须把
每一个人的“检查口令”启用,然后告诉或强迫每一个用户更改他们的口令。一旦完成,旧有
的 ID 里的口令就不能再用了。
1。让大家修改原来 notes 的 id 文件口令
2。再服务器文档的安全性选项中,设置不允许 notes 标识符的匿名访问
3。再服务器文档安全性选项中,启用 notes 标识符口令验证
4。大家再修改各自的个人文档中的 internet 口令
这样就可以解决问题,特别要注意的是要修改管理员的口令。这样即使他有 id 文件,但是
使用老的口令还是登录不了。
17. 如何限制 Notes 附件的大小
相信作为网管的兄弟姐妹们跟我一样,为了限制附件的大小伤透脑筋!如果在服务器的配置
文档中来设置,一是在一台服务器的内部是不生效的,二是多台服务器时,即使生效,会产生大
量的大附件邮件滞留在服务器的 mail.box 中,我想修改模板是最好的选择了:打开邮件模板,
在 共 享 操 作 的 地 方 找 到 发 送 (S), 发 送 并 归 档 (E), 在 公 式 的 前 面 加 入 :
x:=@Integer(@Sum(@Attachments > 0; @AttachmentLengths; 0)/1024);
@If(x>5120;@Do(@Prompt([OK];"提示!";"附件超过 5120K 将不能发送!附件大小共: "+
@Text(x)+ "K" ;@Return("" );"" 再修改便笺表单,选择表单属性,去掉关闭时
后面的小叉就可以了.
/
18. 没错,这个需要你的防火墙设备做一个地址转换就可以了,其实大多数单位都是这样做
的
外面的 dns 将 MX 纪录指向到你的防火墙设备,你的防火墙设备开启了将 25 端口的请求转
向到内部的一个地址上去,这样你的内部的 domino 就可以收到邮件了
/
19. 由于数据库太大或附件的太大造成错误或死机的问题
这个问题是由于索引文档的 6 MB 限制造成的,你可以通过修改 Notes.ini 文件中的
FTG_INDEX_LIMIT=X 来修改 6 MB 的限制。全文检索的限制是 6M,但在 DB 中的附件或
数据库太大,就会引起检索速度低下,使前台处于一直忙的状态,而后台就一直找关键字相
关文档。直至内存占满造成死机,不过我想在 R6 中有可能解决了此问题
/
20. 我们做为管理员应该做些什么?
此表列出了系统管理员每天、每周或每月应当完成的服务器维护任务,以确保服务器高效运
行。 任务 频率
备份服务器 每天、每周、每月
监控文件路由 每天
运行 Fixup 任务以修复所有被毁坏的数据库 * 服务器启用和需要时
监控共享邮件数据库 (MAILOBJ.NSF) 每天
监控 Administration Requests 数据库 (ADMIN4.NSF) 每周
监控需要维护的数据库 每周
监控复制 每天
监控调制解调器通讯 每天
监控内存 每月
监控磁盘空间 每天、每周、每月
监控服务器负载 每月
监控服务器性能 每月
监控 Web 服务器请求 每月
监控服务器群集 每天
* 如果数据库为 Domino R5 格式数据库并且没有使用事务记录,则可以使用 Fixup 任务修
复损坏的数据库。如果数据库为 Domino R5 格式数据库并且使用了事务记录,则无法在此
数据库上运行 Fixup 任务,这是因为 Fixup 任务干扰事务记录保持数据库跟踪。必须从备
份恢复损坏的数据库。仍可以在 Domino R4.x 和更低格式的数据库上运行 Fixup 任务。
21. 还是关于压缩的问题.谢谢
“消息邮递期间遵守数据库限额” “限制和控件” “路由器/SMTP” “配置” 在配置文档中有
设置:“消息处理”
/
22. 关于更换邮件模板的问题
数据库属性-〉设计-〉更改继承模版属性就可以完成自动刷新设计了!
load convert mail\*.* * newmail.ntf
/
23. 关于定时关闭服务器的方法,在下在众多人士的提醒下,终于找到了,共享大家
在服务器配置,-》程序,
添加程序,在
程序中输入 server 或 nserver
命令中输入-q 或 -c quit
在定时安排中,设置执行的时间就可以了。
/
24. 当您在 Domino 服务器或者 Notes 客户端的 notes.ini 文件中添加参数时,您会看到最后一
行的参数不起作用,为什么会这样呢?
任何以最后一行被添加到 notes.ini 文件中的参数,都要求有一个硬回车(键盘上的 Enter 键)紧
随其后,才会起作用.如果没有硬回车,最后一行将不能被识别.
/
25. 有一问题,在局域网内我们装了 LOTUS,有客户端和服务器端,每次开机后都要进入
开始菜单启动 lotus server,一切才会正常,客户端才有响应,这我想大家都知道的,可这样
做太麻烦,每次都要启动后进入开始菜单来启动它,我想将它怎样做就能在机子启动后不用
进入界面就能让它自动起来,怎样做呢?(不是说的将它放在启动里面,如果这样做还的进
入 WIN2000 界面呀,就是还的用用户名进入,这样太麻烦了。现在要实现的是要让 LOTUS
SERVER 随着 WIN2000 的启动也启动起来,而不是要让人用用户名用密码进去后再去启动
!)
他!!
Lotus Domino 安装完后,一般在操作系统服务中就有了,你缺省状态是手动的,你将其改
为自动就可以了
/
26. 什么叫 同一网络域(指 notes 的域还是 NT 的域)
2.什么叫 同一命名网
1.指 Notes 网络域
2.拥有同种网络协议并具有固态连接(LAN...)的 Notes 网络
/
27. 为什么我注册的用户的邮箱中,DEFAULT 都是读者的身份。怎么不是不可存取者的身
份。我该怎么调整亚,这样安全性很低。
在 mail50.NTF 中的 ACL 里有个[-default-],你改这个试试
/
28. 怎样得到服务器的日期时间?
创建服务器文档,取文档创建时间
/
29. id 被盗
domino 有个记账服务(billing),该服务可以记录所有访问这台 domino 的客户端信息,当然
包括 ip 地址。就不用再用其他的工具了。,
基于 Linux 平台的 Domino Server 安装与配置
作为 IBM 系列产品全面支持 Linux 的一部分,其麾下的 Domino
Server 从 R5.0.2 开始,也开始提供基于 Linux 的版本。本文
将以 Red Hat Linux 为例,从三个方面介绍在 Linux 平台上进行 Domino
Server 的安装与配置的整个过程。
一、 系统软硬件环境需求及准备
硬件环境需求
Linux 版的 Domino
Server 对系统硬件要求不高,不再进行详细说明,需要注意的是要保证有足够的硬盘空间
(>50
0M)
。
和尽量大一点 Swap 分区(最好达到 RAM 空间的 3 倍)
操作系统要求
Domino Server 要求 Linux Kernel2.2.5 以上版本,Red
Hat6.0 使用的就是 Kernel2.2.5,如果你的 Linux Kernel 版本
达不到这个要求,需要首先对 Linux 系统内核进行升级。
编译安装环境
Domino
Server 的编译安装过程中需要用到 libstdc++-2.9 和 glibc-2.1.1(或者其更高的版本)两个编
译模
块,它们是
Linux 开发编译环境的一部分,各种 Linux
的发行版本都会包含这两个模块。如果你在 Linux 系统安装时没有选择这两个
模块,可以在 Red
Hat6.0 安装盘/RedHat/Rpms 目录下分别找到两个模块的安装程序,然后分别使用下列命令
进行安装
>rpm - i libstdc++-2.9.0-12.i386.rpm
>rpm - i glibc-2.1.1-6.i386.rpm
运行环境
Domino
Server 的运行环境比较特殊,它需要在 Linux 的系统资源库(/lib)中包含 libjitc.so 文件,
该文?br> ?
IBM 提供的一个 java JIT BM Developer Kit for
Linux 中。由于这是 IBM 自家提供的 JIT 编译器,各种
Linux 的发行版本一般不会包含它。首先可以在 http://www.developer.ibm.com/devcon
找到 IBM 提供的 JDK(JRE、
SDK 亦可)的 RPM(.rpm)安装程序或者.tar(.tar.gz)原代码包,例如 IBMJava
-JRE-1.1.8-1.0.i386.rpm,使用下面
命令进行安装
>rpm -i IBMJava-JRE-1.1.8 -1.0.i386.rpm
在其默认目录“/usr/jre118/lib/linux/native_threads”目录中可以找到 libjitc.so 文件,然后
将该文件拷至/lib
目录下即可,方法是
>cp /usr/jre118/lib/linux/native_threads/libjitc.so /lib/libjitc.so
如果找到的是.tar 或者.tar.gz 的原代码包,先使用 tar 命令进行解包,然后再拷贝到/lib 目录
下,
过程与使用 RPM 包安装
区别不大。
到此为止,Domino Server 安装的软硬件条件都已经具备了。
二、 Domino Server 的安装
创建用户和用户组
在 Domino Server 的安装过程中,会要求指定一个用户名(user)和用户组(user
group),实际上该用户和用户组与
它只是从 Linux 操作系统的角度,
notes 的用户没有任何实际关系, 让管理员确定 Domino
Server 安装以后,所有的系统
和数据目录归哪个用户和用户组所拥有(owner) 。Domino
,创建方法:使用
Server 默认用户和用户组都是“notes”
root 帐号登录,使用命令
>adduser notes
创建 notes 帐号,对 Red Hat 来说,notes 用户组也会自动创建。
安装
下载 Domino
Server 的原代码 5011lis.tar(或 5011lns.tar),具体名称可能会因为版本和压缩形式有所区别,
但
安装方
法相同,将该文件放至/ usr/src/目录下,然后使用
>tar xvf 5011lis.tar
进行解包,所有的原代码可以在/usr/src/5011lis/目录中找到。在解包后生成的原代码目录中
找?br>絠 nstall 和
license.txt 文件所在的子目录,并进入该子目录,运行
> ./install
真正的安装过程就开始了,该过程大致包括 7 个可以交互的步骤,简单列举和说明如下:
a、 是否接受许可协议,没办法,必须选择[yes];
b、 选择服务器类型,就功能上来说,应该是[Enterprise Server] > [Application
Server] > [Mail Server],如
果你是 Domino Server 管理员,应该非常清楚其中的差别;
c、 选择应用程序安装目录,默认[/opt/lotus/];
d、 未来是否要在本台机器安装第二个 Domino Server,可以根据实际需求进行选择;
e、 数据存放目录,默认是[/local/notesdata/];
f、 确定用户,默认[notes],前边已经解释过;
g、 确定用户组,默认[notes]。
所有的选项设置完毕,系统给出所有选择的汇总列表,确认后开始安装。
三、Domino Server 的配置
安装结束后,先前设置的“notes”用户帐号就可以开始发挥作用了,以下的步骤可以退出
root 身?br> otes 用户重
新登录后进行,当然也可以不切换。
添加系统搜寻路径
>path=$path:/opt/lotus/bin:/local/notesdata
这个步骤不是必要步骤,如果你很懒的话,敲一次还是有好处的。
服务器配置
进入数据存放目录
>cd /local/notesdata
启动服务器配置程序
>/opt/lotus/bin/http httpsetup
这两行命令乍看起来很烦琐,但是必要的,因为 httpsetup 命令在/opt/lotus/bin/http 目录下,
而
运行时所需要的数据
却是存放在/local/notesdata/,即 Domino
Server 的数据目录下,该服务程序,实际上是启动了一个 Web 服务,正确启
动后,就可以在本机或者其它机器上通过浏览器来进行服务器的配置了,配置使用的
URL 是
http://yourserverip:8081/
yourserverip 是 Domino
Server 安装机器的 IP,如果你有 DNS 或者其它名字解析服务,也可以使用主机名代替。
然后通过浏览器可以看到那个久违了的 Domino Server 配置画面,与基于 Windows NT
的 Domino
Server 配置画面几乎没
有什么差别,其配置的过程也是基本相似。该过程已经完全是一个 Domino
Server 的配置过程,不同操作系统版本之间的
差别不大,不再赘述。不过有一点需要强调的是,由于以后基于 Linux 的 Domino
Server 的配置和管理,都是要通过浏览
器来进行,因此,对 Domino Server 首次启动的配置过程中的第二步,即选择 Domino
Server 的服务种类步骤中,一定要
将 HTTP 服务选上。
服务器配置程序只能运行一次,以后再通过上面的命令是没有办法再对服务器进行配置的。
因此,
配置过程中一定要小心
?
配置完成后,配置程序会自动停掉,系统重新回到提示符状态。此时三个必要的 id 文件都
已经产生
,其中 server.id 和
cert.id 存放在数据目录(/local/notesdata/)中,user.id 附属在 names.nsf 这个个人文档中,在
下面的步骤中进行
拆离。
启动 Domino Server
由于 Domino
Server 也提供 HTTP 服务,因此如果系统中已经启动了其它的 HTTP 服务程序,如 apache
等,必须将其
停掉,
否则两个同样的 HTTP 服务会因为使用相同的端口而发生冲突。
>cd /local/notesdata
>/opt/lotus/bin/server
服务启动后,可以通过浏览器再次访问你的机器
http://yourserverip or href="http://yourservername" target="_blank">http://yourservername
注意此处已经不是 8081 端口, (通常为 80)如果能看到默认的 Domino
而是默认的 HTTP 端口 ,
页面,
说明 Domino Server
已经开始工作了!
拆离 user.id
继上一步,在浏览器中转到:
target="_blank">http://yourserverip/names.nsf
在该页中,通过“people”连接进入,会找到附在页面中的 user.id,点击下载到本地。然后,
你?br> ?
配置 notes 客户端了。
至此,整个 Domino Server 的安装和配置就完成了。不过,由于 Domino
Server 和 notes 客户端的各种操作都要通过图形
界面进行,而没有文字化的命令,这就使得使用 notes 开发的各种应用系统在系统和环境搭
建方面?br>哂胁豢筛粗频娜醯悖?
大大增加系统移植的难度,本以为基于 Linux 这种字符界面操作系统的 Domino
Server 版本会有所改进,然而结果却令人
感到失望,原来需要怎么做现在差不多还得怎么做,只不过操作界面从专用的图形界面换到
了浏览
器上。
AIX 上安装 Domino
1 系统要求
1.1 要安装中文环境 ( Lang=zh_CN )
1.2 安装补丁(具体补丁和 Aix 和 domino,sametime 版本有关)
以下各版本为:AIX 为 5.02 版本,Domino 为 5.0.11 版本,SameTime 为 3.0 版本。请确保
您已经打了如下 patch。
序号 名称
1 IY06473
2 IY11972
3 IY17945
4 IY21149
5 bos.iocp.rte
6 xlC.aix50.rte
查看补丁的命令:lslpp -Bl xxxxxx,其中 xxxxxx 是补丁代号。
1.3 创建 Notes 用户和 Notes 组
2 Domino 5.0.11 安装步骤
系统准备工作完成以后,就可以开始 Domino R5 服务器安装。
1. 以 root 用户身份登录。
2. 转到安装目录或 CDROM 的目录并执行安装程序,命令为: ./INSTALL
3. 出现欢迎界面,按“tab”键到下一屏。
4. 下一屏要求阅读许可协议(License agreement) 。按“tab”键到下一屏,直到许
可协议的结束。在许可协议结束时询问是否接受许可协议,缺省为“Yes” 。如果接受许可协
议,按“tab”键到下一屏。
5. “Do you wan to install data directories only? ” 选择 “No”
6. 选择要安装的 Domino 服务器类型。选择服务器类型为 “Enterprise Server” (通
过空格键选择) ,[缺省为” Application Server” ] 然后按“tab”键到下一屏。
7. “Do you want to install all template files for this Domino Server? ” 选择”
Yes”
8. “Do you want to create /opt/lotus soft link for this Domino Server? ” 选择”
Yes”
9. 选择 Domino 执行程序的目录,缺省为/opt/lotus。与前面环境准备的设置相同,
按“tab”键到下一屏。
10. 下一屏询问是否安装多个分区服务器,缺省为“No” ,缺省值即可。然后按
“tab”键到下一屏。
11. 下一屏询问是否自动生成数据目录,缺省为“Yes” 。按“Spacebar”改为“No” ,
然后按“tab”键到下一屏。
12. 下一屏显示缺省的数据目录。按“Enter”键输入数据目录/app/lotus/notesdata,
然后按“Enter”键。按“tab”键到下一屏。
13. 选择用户,缺省为 notes。按“tab”键到下一屏。
14. 选择组,缺省为 notes。与前面环境准备的设置相同,所以按“tab”键到下一
屏。
15. 下一屏显示已经完成安装程序的配置。按“tab”键继续。下一屏显示安装配
置和设置。如果一切正常,按“tab”键开始安装。否则,按“Escape”键重新配置。步骤
与上面的过程相同。
16. 安装完成后将显示安装成功。
屏幕显示安装成功后,接着安装语言包。
3 安装中文语言包
1. 命令为: ./install
2. 显示:
InstallShield Wizard
正在初始化 InstallShield Wizard …
正在准备 Java? 虚拟机…
正在运行 InstallShield Wizard.
3. 启动文本界面, 请按提示操作
4. 完成安装” Lotus Domino Language Pack Installer”
提示: “The Lotus Domino Language Pack has successfully installed the selected Language Pack”
4 配置 Domino
在 AIX 系统上, 首先切换到 notes 用户
命令: su - notes
远程配置(和 Linux 配置方法一致):
1. 当前目录为 Domino 数据目录, 例: /lotus/notesdata
2. 命令: /opt/lotus/bin/http httpsetup
这两行命令乍看起来很烦琐,但是必要的,因为 httpsetup 命令在/opt/lotus/bin/http 目录下,
而运行时所需要的数据却是存放在/local/notesdata/,即 Domino Server 的数据目录下,该服
务程序,实际上是启动了一个 Web 服务,正确启动后,就可以在本机或者其它机器上通过
浏览器来进行服务器的配置了, 配置使用的 URL 是 http://yourserverip:8081/ yourserverip
是 Domino Server 安装机器的 IP,如果你有 DNS 或者其它名字解析服务,也可以使用主机
名代替。然后通过浏览器可以看到那个久违了的 Domino Server 配置画面,与基于 Windows
NT 的 Domino Server 配置画面几乎没有什么差别,其配置的过程也是基本相似。该过程已
经完全是一个 Domino Server 的配置过程,不同操作系统版本之间的差别不大。
注意: 服务器配置程序只能运行一次, 以后再通过上面的命令是没有办法再对服务器进行配
置的。因此,配置过程中一定要小心仔细。千万不能到了这一步再前功尽弃。配置完成后,
配置程序会自动停掉,系统重新回到提示符状态。此时三个必要的 id 文件都已经产生,其
中 server.id 和 cert.id 存放在数据目录(/local/notesdata/)中,user.id 附属在 names.nsf 这个
个人文档中,启动 Domino 后就可以把 ID 拆离下来。
5 启动 Domino
5.1 在 AIX 系统上, 首先切换到 notes 用户
命令:su – notes
进入目录 Domino 安装目录,例:/lotus/notesdata
命令:cd /local/notesdata
启动 Domino
命令:/opt/lotus/bin/server
到此为止,Domino Server 的安装已经完成了,您可以操作其它服务器上的 Domino 一样操
作 Aix 上的 Domino 了。
服务启动后,可以通过浏览器再次访问你的机器
http://yourserverip or http://yourservername 注意此处已经不是 8081 端口,而是默认的 HTTP
端口(通常为 80) ,如果能看到默认的 Domino 页面,说明 Domino Server 已经开始工作了!
5.2 拆离 user.id
在浏览器中转到:http://yourserverip/names.nsf
在该页中,通过“people”连接进入,会找到附在页面中的 user.id,点击下载到本地。然后,
你就可以使用它来连接和配置 notes 客户端了,当然您也可以直接通过客户端连接来拆离
User.id 。至此,整个 Domino Server 的安装和配置就完成了。
6 安装 Sametime
1. 以 root 用户身份登录。
2. 转到安装目录或 CDROM 的目录并执行安装程序,命令为: ./INSTALL
3. 选择 Domino 安装的目录进行安装。
4. 选择 Domino 安装的目录进行安装。
5. 提示输入 Domain Name 的时候尽量输入 IPv4 地址,不要输入 Domain Name.
6. 参照提示完成安装。
7. 安装完毕,系统自动提示需要修改 sametime.ini 中的文件,按照提示修改就可以。
一般系统是自动修改好的。
7 启动 Sametime
启动 Domino 后系统自动启动 SameTime。一般系统启动 SameTime 比较慢,要在 Domino 完
全启动后大概 2 分钟后启动(Server2000 下要 5 分钟) 。
给 Domino 系统管理员的十二项建议
我们对 Domino 系统管理员们提出了一些建议,
根据许多资深的 Domino 管理员和咨询人员的经验,
以帮助他们维护 Domino 系统的正常运行。这些建议是针对 Domino R5 的,而且只涉及到最基本
的维护工作,每个系统管理员还需要根据自己系统的特殊要求进行进一步的维护工作。
在提出这些建议之前,必需强调一点:《Domino 5 管理员帮助》应当是所有维护任务的出发点,
管理员在进行维护工作之前一定要查阅管理员帮助中相应的主题,以确保操作步骤的正确。
1. 保存验证者 ID 文件及其口令
验证者标识符文件(cert.id 及所有组织单元的 ID 文件)是 Domino 系统中最重要的的文件。特别
是 cert.id,所有其它的 ID 文件都是由它创建的。如果丢失了这个文件或忘记了它的口令,就
无法在创建新的服务器和用户了。因此,从系统建立之初就要注意保存验证者 ID 文件及其口令。
一定要将它保存在安全的地方并作备份,不要将它放在共享的网络驱动器上;将口令记录下来,
但不要将口令告诉无关的人员。注意不要将口令设为“password”或其它易猜的单词。
2. 定期运行 Compact、Fixup 和 Updall 任务
Compact、Fixup 和 Updall 任务是服务器自身的维护性任务。Compact 用于释放数据库中的无用
空间;Fixup 检测无效的文档和损坏的数据库,并尝试修复它们;Updall 重建视图索引和全文索
引。这三个任务至少每周要运行一次。可以按以下步骤设置它们的运行时间。
1). 在 Domino 管理员客户端中打开要管理的服务器
2). 在“配置”标签下,展开“服务器”-“程序”,点击“添加程序”
3). 在“基本”标签下,
“程序名”中输入任务的名称,即 Compact、Fixup 或 Updall
“命令行”中输入所需的命令行选项
“运行的服务器”中输入运行此任务的服务器的层次名
4). 在“日程安排”标签下,将日程安排设为“启用”,并按需要设置任务启动的时间
如果到了 Compact、Updall 和 Fixup 所安排的运行时间,而系统正在执行其它任务,这三个任务
可能不被执行。因此,在设置时间安排时,应当尽量避免和其它任务以及定时代理重合。可以在
服务器的控制台上输入命令“show schedule”来查看其它程序的时间安排,输入命令“tell
amgr schedule”来查看定时代理的时间安排。
每个任务都有自己的命令行选项。例如,“updall -R”将会重建已有的索引,而不加“-R”选
项时则只是更新已有的索引。必需选择适当的选项以完成所需的任务。每个任务的选项列表都可
以在《Domino 5 管理员帮助》数据库中找到。
3. 创建拒绝访问群组
禁止某些用户访问服务器是十分必要的。当用户离开公司时,需要确保他们不能使用原来的
Notes ID 文件来访问服务器。管理员可以将这些用户的层次名加入拒绝访问群组来保证这一点。
创建拒绝访问群组的步骤如下:
1). 在 Domino 管理员客户端中打开要管理的服务器
2). 在“个人和群组”标签下,点击“拒绝访问群组”,点击“添加群组”按钮
3). 在“群组名称”中输入一个名字,如 DenyGroup;将“群组类型”选为“仅禁止存取列表”
4). 在“成员”中输入或选择要禁止访问的用户名
5). 保存并退出此文档
6). 在“配置”标签下打开要拒绝用户访问的服务器文档
7). 在“安全性”标签下“拒绝访问的服务器”中输入上面创建的拒绝访问群组名称,在此例中
是 DenyGroup。
提示:创建了拒绝访问群组之后,管理员删除用户时可以将用户名自动地加入此群组中,这样,
不需手工操作就可以保证每个被删除的用户不再能访问服务器。
4. 了解服务器上的应用
要确定服务器所支持的数据库的类型。服务器是主要用于一两个大型数据库,还是用于多个小的
应用数据库?服务器上的应用设计怎样?是否使用了对性能有较大影响的方式,如在视图中使用
日期/时间查询?如果应用数据库的设计不合理,管理员所能做的调整不可能起太大作用。
管理员还需要留意服务器的日志(Log.nsf)。服务器日志中的信息是了解服务器及用户活动的关
键。特别是日志中的“其它事件”视图,大部分需要观察的信息都包含在其中。每天都应当浏览
log.nsf,从中找出错误信息和异常信息,判断服务器是否正常运行。
5. 去掉不必要的服务器任务
缺省情况下,Domino 服务器会自动启动一组服务器任务,其中有些任务用户可能不会用到。去
掉这些不必要的任务可以节省系统资源,有利于其他任务和应用的运行。
服务器上自动启动的任务列表在服务器的 notes.ini 文件中。用任一文本编辑器打开 Domino 程
序目录中的 notes.ini 文件,找到“ServerTasks=”行,删除其中不需要的任务名称,则下一次
启动服务器时,这些任务就不会再启动了。例如,如果不使用 Notes 的日历和日程安排功能,可
以将“calconn”和“sched”任务去掉。
在指定时间运行的服务器任务也可以考虑去掉。在服务器的 notes.ini 文件中,找到
“ServerTasksAtY=”行,其中 Y 是代表时间的数字(1 代表凌晨 1 点,5 代表凌晨 5 点,以此类
推),删除其中不需要的任务名称。例如,如果不使用共享邮件,则“ServerTasksAt2=..., Object
Collect mailobj.nsf”行中的“Object Collect mailobj.nsf”可以去掉。下一次重新启动服
务器后,这些被去掉的任务就不会再定时运行了。
关于每个服务器任务的名称和用途,可参阅《Domino 5 管理员帮助》中“Domino 服务器任务”
主题。
6. 监视存取控制列表(ACL)
管理员必须保证每个用户对每个数据库都有适合其需要的访问权限。存取控制列表(ACL)是服务
器安全性的核心,如果用户能够访问到他不应接触的信息,则会威胁到服务器的安全和信息的安
全。
要想方便地查看每个用户对每个数据库的权限,可以打开服务器上的“目录 (R5)”数据库,查
看“存取控制列表”-“按级别”视图。“目录 (R5)”数据库的文件名是 catalog.nsf,它是由
服务器自动创建并更新的,如果在服务器上未找到 catalog.nsf,可以在服务器控制台上输入命
令“load catalog”来立即创建它。
某些关键数据库的 ACL 必须被严格监控,这包括通讯录(names.nsf)、目录(catalog.nsf)、服务
器日志(log.nsf)及所有包含重要信息的数据库。
进一步来说,管理员需要查看哪些用户对数据库具有管理者(Manager)权限。由于管理者可以改
变数据库的 ACL 及其他设置,只应给予需要管理这些设置的用户这一权限。建议最好使用群组来
设置管理者权限。例如,可以创建名为 DomainManagers 的群组,将系统管理员的名字加入其中,
然后在数据库的 ACL 中将 DomainManagers 设为管理者。这样,即使系统管理员有所变动,也只
需修改该群组的定义。
在服务器上安装新数据库时,需要注意其 ACL 的缺省设置,特别是 Default 和 Anonymous 的权限
设置。对于重要的数据库,最好不要让 Default 和 Anonymous 的权限高于“不能存取者”。当服
务器可以从 Web 上进行访问时, Anonymous 或 Default 的权限高于“不能存取者”时会更为危
险。
7. 操作系统和 Domino 的补钉程序
各种操作系统都会发布一些补钉程序,用于修补所发现的错误和漏洞。管理员应该留意这些补钉
程序,并将需要的补钉程序及时安装在服务器上。
对于 Windows NT 4.0,目前最新的补钉程序是 Service Pack 6a。注意在 Service Pack 6 上运
行 Domino 时会有严重的问题,因此一定要使用 6a 而不是 6。
在 Unix 操作系统(如 AIX、Solaris、HP-UX)上安装 Domino 时,都要求必须安装某些补钉程序。
具体要求的补钉程序编号可参阅《Release Notes : Domino / Notes 5.0.x》。
Domino 本身会不断发布新的维护版本,可以到 www.notes.net 上查阅每个版本的改进,以决定
是否将目前使用的版本升级。
8. 检查备份操作
管理员必需设定固定的备份流程。一般来说,需要备份 Domino 服务器上的所有数据文件,包括
数据库、模板文件、NOTES.INI 文件和 ID 文件。
固定、可靠的备份对 Domino 服务器来说十分重要。进行备份时,所用的备份软件必须支持对打
开的文件的备份。这是因为通讯录(names.nsf)和服务器日志(log.nsf)等数据库在服务器运行时
总是打开的,如果备份软件没有这个功能,那么这些关键数据库就得不到备份。
除了定期(一般是每天)备份外,定期检查备份所用的介质(如磁带)也是必要的。这样可以避免因
介质损坏而引起的不必要的损失。
9. 监测服务器
在 Domino 服务器上,有一个用于监测服务器状态的数据库:Statistics & Events 数据库
(Events4.nsf)。当服务器的状态达到或超过管理员设定的警戒值时,它还可以自动提醒管理员。
管理员应该建立监视器来监测服务器的一些基本状态,如:
1). 重要数据库的 ACL Change Monitor
为 names.nsf、log.nsg、catalog.nsf 等重要数据库建立 ACL Change Monitor。当指定数据库
的 ACL 发生改变时,向管理员的邮箱中发送警告信息。
2). 磁盘空间的 Statistic Monitor
为服务器上的每个逻辑盘创建 Statistic Monitor。当磁盘上的剩余空间少于 25%时,向管理员
的邮箱中发送警告信息。以免服务器因耗尽磁盘空间而死机。
10. 强制用户改变口令
用户一般不会自己去改变 ID 文件的口令,为了提高安全性,应该强制用户定期修改口令。设置
的步骤如下:
1). 编辑要设置的服务器文档
2). 在“安全性”标签下,将“校验 Notes 标识符口令”设为“启用”
3). 在“个人”视图中选中要强制修改口令的用户,选择“操作”,“设置口令域”
4). 选择“检查口令”,在“必须的更改时间间隔”和“宽限期”中输入适当的天数
注意服务器文档和个人文档都需要配置。如果只设置了其中一个,则校验口令的功能不会起作用。
另外,校验口令的另一主要功能是仅允许包含最新口令的 ID 文件访问服务器。管理员应提醒用
户在每次修改口令之后,重新备份自己的 ID 文件。因为原来备份的 ID 文件已失效了。
Domino 服务器会记忆用户以前使用的口令,且在修改口令时不允许用户再次使用以前用过的口
令。因此,如果强制修改口令的频率太高,用户需要不断记住新的口令。为了减少用户的麻烦,
“必须的更改时间间隔”建议为 90 至 180 天。
11. 拷贝数据库模板
Domino 的光盘上带有许多模板。当不同的用户从光盘安装时,同一个模板的复本 ID (Replica ID)
都相同。因此,当两台服务器复制时,可以看到相应的模板也在复制。如果不希望复制这些模板,
可以为这些模板新建拷贝。
新建拷贝不是指操作系统级的文件拷贝或更名,而是指创建具有不同复本 ID 的模板。要保证新
建的模板具有新的复本 ID,可以在 Notes 客户端打开原有的模板,使用“文件”-“数据
库”-“新建拷贝”来创建。
更进一步,管理员可以考虑去掉那些不需要的模板,以节省服务器的磁盘空间,并减少维护模板
所需的工作量。
12. 去掉磁盘映射和共享
从安全性的角度来看,管理员当然不能允许其他人从操作系统级直接访问服务器上的文件。因为
这样会绕过 Domino 内部的安全机制。要想保证所有对服务器的访问都在 Domino 的安全机制控制
之下,应该尽量不使用磁盘共享和磁盘映射,特别是对 Domino 的程序目录、数据目录以及操作
系统的目录。
Domino 做 Internet 企业邮局的配置
一、 网络配置环境
操作系统环境:WIN2000 SERVER,SP3,都为域目录林。
DOMINO 环境: 设置两台服务器 (SERVER2、 , 用
SERVER3) 安装 DOMINO R5.010, JJG.ID
验证字验证,层次结构为 SERVER2/JJG/T17J、SERVER3/JJG/T17J(以下简称 SERVER2、
SERVER3) ;SERVER2、SERVER3 是同一个 Domino 网络域 T17J 中的两台服务器,共享一
个公用通讯录, 属于同一个 NOTES 命名网络 JJGTCPIP; 用户邮件宿主服务器为 SERVER2,
邮件文件在数据目录的 MAIL 子目录下。
二、 功能说明
1、 SERVER2 的作用是接收 Internet 发送到本网络域的外来邮件,直接通过 SMTP 路由单
位用户通过 WEB 方式发送的 Internet 邮件到 Internet,POP3 服务器(POP3.ZT17.COM.CN
和 POP3.ZT17.CN)要求用户的身份验证,地址指向 SERVER2 的 IP 地址。
2、 SERVER3 主要用来对邮件用户使用 Outlook 等邮件客户端发送邮件的验证, 要求 SMTP
用户名/口令验证,用户通过 Outlook 发送的邮件 SERVER3 能够直接发送到 Internet,SMTP
服务器(SMTP.ZT17.COM.Cn 和 SMTP.ZT17.CN)指向 SERVER3 的 IP 地址。
3、 DNS 中的 MX 记录指向 SERVER2 的 IP 地址。
三、 具体的配置
(一)SERVER2 的配置
1、 服务器文档:
启用 SMTP 任务:服务器文档->“基本” ->“邮递任务” 项为“邮件邮递,SMTP 邮
件邮递” 。
启用 SMTP 侦听:服务器文档->“基本” ->“SMTP 侦听任务”项为“启用”
设置服务器全限定主机名(没有全球网络与文档时起作用) :服务器文档->“基本”
->“全限定的 Internet 主机名”项为“www.zt17.com.cn”
端口允许匿名访问 (缺省设置) 服务器文档->”端口” ->“Internet 端口” ->“邮
:
件” ->“邮件(SMTP 返回) ”项为端口号“25”、状态为“启用” 、验证选项(名称和口令
“是” 、匿名“是”。 )
端口要求身份验证: 服务器文档->”端口” ->“Internet 端口” ->“邮件” ->“邮
件(POP) ”项为端口号“110”、状态为“启用” 、验证选项(名称和口令“是” 、匿名“不
可用”。 )
2、 在目录数据库中创建全球网络域文档 (如果只有一个域名可以不设置全球网络与文档) :
全球网络域文档->“基本” -> “网络域类型”为“全球网络域” 。
全球网络域文档->“基本” -> “全球网络域名称”为“zt17.com.cn”。
全球网络域文档->“限制” ->“NOTES 网络域及别名”为“T17JNT”。
全球网络域文档->“转换” ->“本地主要 Internet 网络域”为“zt17.com.cn”.
全球网络域文档->“转换” ->” 等价的 Internet 网络域别名”为“zt17.cn”。
3、 配置文档:
配置文档->“路由器/SMTP” ->“基本” ->“在本地 Internet 网络域之外发送消息时所
用的 SMTP”为“启用” 。
配置文档->“路由器/SMTP” ->“基本” ->“限制和控件” ->“SMTP 返回控件”
为
->“仅允许来自外部 Internet 网络域的消息被发送到以下 Internet 网络域” “zt17.com.cn
和 zt17.cn”,限制所有中转邮件(垃圾邮件) ,服务器 SERVER2 不作任何中转任务。
4、 外部 SMTP 网络域文档:
外部网络域文档-> “路由” -> “ Internet 网络域“为”*.*“。
外部网络域文档-> “路由” ->“网络域名称“为”TheInternet“。
外部网络域文档-> “路由” -> “基本” -> “网络域类型”为“外部 SMTP 网络域“。
5、 连接文档(创建 SERVER2->外部 SMTP 网络域的 SMTP 连接文档) :
连接文档-> “基本“-> “源服务器”为“SERVER2”。
连接文档-> “基本“-> “目标服务器”为虚拟的服务器名称(上一步定义的虚拟网络名
称)TheInternet。
(二)SERVER3
1、服务器文档:
启用 SMTP 任务:服务器文档->“基本” ->“邮递任务” 项为“邮件邮递,SMTP 邮
件邮递” 。
启用 SMTP 侦听:服务器文档->“基本” ->“SMTP 侦听任务”项为“禁用”
设置服务器全限定主机名(没有全球网络与文档时起作用) :服务器文档->“基本”
->“全限定的 Internet 主机名”项为“smtp.zt17.com.cn”
端口允许匿名访问 (缺省设置) 服务器文档->”端口” ->“Internet 端口” ->“邮
:
件” ->“邮件(SMTP 返回) ”项为端口号“25”、状态为“启用” 、验证选项(名称和口令
“是” 、匿名“否”。 )
端口要求身份验证: 服务器文档->”端口” ->“Internet 端口” ->“邮件” ->“邮
件(POP) ”项为端口号“110”、状态为“启用” 、验证选项(名称和口令“是” 、匿名“不
可用”。 )
2、配置文档:
配置文档->“路由器/SMTP” ->“基本” ->“在本地 Internet 网络域之外发送消息时所
用的 SMTP”为“启用” 。
3、 连接文档(创建 SERVER2->外部 SMTP 网络域的 SMTP 连接文档) :
连接文档-> “基本“-> “源服务器”为“SERVER3”。
连接文档-> “基本“-> “目标服务器”为虚拟的服务器名称(上一步定义的虚拟网络名
称)TheInternet
如何设置 Domino/Notes R5 Internet 邮件支持多语言功能
本文是介绍如何在一台独立的 Domino 5.x 服务器环境下,可以收发包含有英文、
日
文、韩文、简体中文以及繁体中文的邮件。
通常来讲,当 Domino 服务器上的 Internet 邮件(或者说 SMTP)功能被启用时,
它
就已经可以提供多语言的支持,包括:英文、日文、简体中文/繁体中文、韩文、
泰文、越南文和欧洲文字。这是被英文版服务器默认提供的支持,不需要特殊设
置
。默认的服务器配置文档如下图 1-a 所示,它不需要我们改变“Primary
character
set group”或者“Secondary character set groups”的域值。
在某些特定情况下,如果服务器在特定国家使用,例如中国,可以如图 1-b 所示
设
置,以适应大部分邮件的需求。
图1 - a
图1 - b
从 Domino 服务器对 Internet 邮件的处理过程角度,基本可以从两个方面来看。
首先,在外出邮件的转化过程中,路由器任务能够自动检测到外出邮件中语言类
型,从而使用适当的字符集进行转化,例如:
日文 ---> ISO-2022-JP;
简体中文 --->GB;
繁体中文 --->Big5;
法文 ---> ISO-8859-1.
其次,在返回邮件的转化过程中,路由器任务也能够自动检测到邮件中的字符集
而
进行相应转化。但是,需要特殊说明的是,如果希望路由器任务能够正确地识别
邮
件中的字符集,需要保证在邮件中注明有正确的字符集信息描述。在某些特殊情
况
下,如果邮件附带的字符集信息是错误的或者干脆就不包含,路由器将会尽可能
的
按正确的方式转化,但也可能会出现问题。在下面也会讲到一些调整办法。 在
一
个纯 R5 的环境中,可以支持内置的 MIME 方式,从而对多语言支持提供更大的灵
活性
,并且减少路由器的转化操作。这是从 Notes 客户端角度看待这个问题。
发送内置的 MIME 邮件
Notes 客户端可以创建并提交 MIME 格式的邮件。当创建一封外出邮件时,Notes
客
户端可以自动检查邮件中的语言并将其转化成相应的字符集格式。使用的字符集
可
以通过图 2 中方式配置(在客户端的个人通讯录中,“International MIME
Settings”视图,“Settings by Character Set”标签,“Outbound Message
Options”区段)
图2
对于大部分用户来讲,不需要特殊设置字符集,因为 Notes 默认的就已经设置了
最佳方式。
另外,通过下面图 3 所描述的方式,在新建邮件过程中,通过“邮递选项”的“高
级
”标签,也可以为单独的某一封邮件指定 MIME 的字符集。通常来讲,当您要发
送一
封邮件,其中包含与默认的区域设置不同的字符时,这种功能比较有用。
图3
接收内置的 MIME 邮件
当接收并显示一封内置 MIME 邮件时,Notes 客户端首先读取邮件中的字符集信
息,
然后将邮件做相应转换显示。如果邮件中没有包含特定的字符集信息,Notes 客
户
端将使用操作系统的默认字符集设置(当然,操作系统的默认设置可以被个人地
址
本中的 International MIME Settings 设置取代,如图 6 所示)。如果邮件仍然
不能正
确显示,用户可以参照图 4 和图 5,在编码菜单中选择字符集设置:
图 4a 客户端菜单中的查看 编码
图 4b 在文档非编辑状态,点鼠标右键
图5
图6
在图 6 中“Character set name aliases”域的设置是很必要的,因为我们可能
会收
到一些含有错误的字符集标签的邮件,通常这些标签是"US-ASCII"或者
"ISO-8859-1"。如果像上面图 6 所示那样,存在从"ISO-8859-1"到"GB2312"的映
射,那么带有
“ISO-8859-1”标签的邮件将按照中文邮件的标准被显示。
Domino for AS/400 备份与恢复简介
一.Domino for AS/400 备份
Domino for AS/400 备份对于保障其正常运行十分重要,Domino for AS/400 备份包括以下四个
方面:
1.Domino for AS/400 应用软件和产品文件的备份。
2.Domino for AS/400 的备份。
3.Mail Database 的备份。
4.特定数据库的备份。
下面将详细说明:
1.Domino for AS/400 应用软件和产品文件的备份。
按照用户的不同要求,有以下几种方法:
GO SAVE, Option 21 -> 备份整个 AS/400 系统,包括 Domino 应用软件、产品文件、数据库)。
GO SAVE, Option 22 -> 仅备份系统数据(包括 Domino for AS/400),保存产品库(library)和
包含特许程序的目录(driectroy)。
GO SAVE, Option 23 -> 仅备份用户数据,保存所有的用户文件和数据库。
2.Domino for AS/400 的备份。
1.)ENDDOMSVR SERVER (server-name)
2.)SAV DEV ('/QSYS.LIB/TAP01.DEVD')+
OBJ (('/DOMINO/DATA/*') +
('/QIBM/UserData/Lotus/Notes/*')) ->保存 Domino 目录和系统提供的目录。
3.)SAV DEV('/QSYS.LIB/TAP01.DEVD')+
OBJ(('/*') (QSYS.LIB' *OMIT)+
('/QDLS.LIB' *OMIT) ('/QIBM/ProdData' *OMIT)+
UPDHST(*YES) ->保存除了 QSYS.LIB、/QDLS.LIB、/QIBM/ProdData 文件系统以外的其他目录。
4.)STRDOMSVR SERVER(server-name)
3.Mail Database 的备份。
1.)ENDDOMSVR SERVER(server-name)
2.)SAV DEV('/QSYS.LIB/TAP01.DEVD')+
例如它位于/DOMINO/DATA/MAIL
OBJ('/DOMINO/DATA/MAIL.BOX') ->保存单个用户的 mail 数据库,
目录中。
3.)SAV DEV('/QSYS.LIB/TAP01.DEVD')+
OBJ('/DOMINO/DATA/MAIL/*.NSF') ->保存所有的 NSF 文件。
4.)STRDOMSVR SERVER(server-name)
4.特定数据库的备份。
在备份前应确保没有用户在使用这个数据库。
SAV DEV('/QSYS.LIB/TAP01.DEVD')+
OBJ('/DOMINO/DATA/CUSTINF.NSF') ->CUSTINF.NSF 是要保存的数据名称,它位于/DOMINO/DATA
目录中。
二.Domino for AS/400 的恢复
同 Domino for AS/400 备份一样,Domino for AS/400 的恢复也同样包括四个方面。
1.Domino for AS/400 应用软件和产品文件的恢复
请将与之相对应的以备份好的磁带放入磁带机。
GO RESTORE, Option 21 -> 恢复整个 AS/400 系统,包括 Domino 应用软件、产品文件、数据库
等。
GO RESTORE, Option 22 -> 恢复系统数据(包括 Domino for AS/400),包括产品库(library)
和特许程序的目录(driectroy)。
GO RESTORE, Option 23 -> 恢复用户数据,包括所有的用户文件和数据库。
2.Domino for AS/400 的恢复(即恢复整个 Domino Server)
1.)用具有*SAVSYS 和*JOBCTL 权限的用户登陆 AS/400.
2.)ENDDOMSVR
3.)将相应的磁带放入磁带机中。
4.)RST DEV('QSYS.LIB/TAP01.DEVD')+
OBJ('/DOMINO/DATA/*')
3.Domino Mail 的恢复
1.)用具有*SAVSYS 和*JOBCTL 权限的用户登陆 AS/400.
2.)ENDDOMSVR
3.)将相应的磁带放入磁带机中。
4.)RST DEV('/QSYS.LIB/TAP01.DEVD')+
OBJ('/DOMINO/DATA/MAIL/JDOE.NSF')
4.Domino Databases 的恢复。
1.)用具有*SAVSYS 和*JOBCTL 权限的用户登陆 AS/400.
2.)ENDDOMSVR
3.)将相应的磁带放入磁带机中。
4.)RST DEV('/QSYS.LIB/TAP01.DEVD')+
OBJ('/DOMINO/DATA/Server01/*.NSF')
在 Linux 系统上安装和配置 Domino 服务器
本文以 RedHat 为例,简要说明了 Domino for Linux 的安装和配置过程。本文共
包含三个主要部份:安装前的准备工作、安装过程和配置过程。
Lotus Domino 服务器从 5.0.2 之后开始发行 Linux 操作系统上的版本。以下简要介绍 Domino for
Linux 的安装和配置过程。本文中所描述的操作步骤都是以 RedHat 6.0 为例,但其基本过程适
用于各种版本的 Linux。用户可以根据自己的实际情况,将其中 RedHat 的特定操作改为实际使
用的 Linux 中的操作,从而完成整个安装配置过程。
一、安装前的准备工作
1. Domino for Linux 的软硬件要求
Domino for Linux 的最低要求为:
486 以上的处理器(CPU)
64MB 以上的内存 (推荐值为 128MB 以上)
750MB 硬盘剩余空间 (推荐值为 1GB 以上)
Linux 内核版本 2.2.5 以上
常用的 Linux 版本,如 RedHat 6.x,Caldera OpenLinux 2.2,TurboLinux 6.0 等都可以安装
Domino。每个 Domino 版本对操作系统的具体要求可参阅《Release Notes: Domino/Notes 5.0.x》。
2. Linux 上的服务
缺省情况下,Linux 系统上都会自动启动一些服务,如 HTTP、SMTP、POP3 和 IMAP 等。如果希望
使用 Domino 提供的这些服务,就需要把系统上原来的服务停用。
1). 停用 POP3 和 IMAP 服务
编辑/etc/inetd.conf 文件,将 POP3 和 IMAP 的行注释掉即可
2). 停用 SMTP 服务
RedHat 上的 SMTP 服务是由 sendmail 提供的。要想停用它,需要使用 linuxconf 程序。
a. 在命令行输入 linuxconf
b. 展开 +Control,+Control panel,点击 Control Service activity
c. 在随后出现的菜单中选择 sendmail,按 Enter 键
d. 点击 Stop,停止当前正在运行的 sendmail 程序
e. 去掉 Automatic start-up 后面的选定标记,点击 Accept。以后系统启动时 sendmail 就不会
自动启动了
f. 点击 Quit
3). 更改 HTTP 服务使用的端口号
RedHat 上的 HTTP 服务是由 httpd 提供的。可以修改它所使用的端口号,使它与 Domino 不冲突,
因此不必完全停用它。更改 HTTP 服务使用的端口号也需要使用 linuxconf 程序:
a. 在命令行输入 linuxconf
b. 展开 +Networking,+Server tasks,+ApacheWeb server,点击 Defaults
c. 在随后出现的屏幕上找到 Listen on port,将缺省的 80 改为其它值,如 8080。注意不要使
用 8081,因为 Domino 的配置过程中需要用到这个端口号。
d. 点击 Accept,回到 linuxconf 主菜单
e. 展开 +Control,+Control panel,点击 Control Service activity
f. 在随后出现的菜单中选择 httpd,按 Enter 键
g. 点击 Restart,用新的端口号重新启动当前正在运行的 httpd
h. 点击 Accept,再点击 Quit,退出 linuxconf 程序
3. 为 Domino 服务器创建专用的用户和组
Domino 服务器运行时需要使用专用的用户和组,因此在安装过程中会要求输入专用的用户名和
组名。在安装前应创建它们,以便安装过程中使用。 可以直接用命令来创建用户和组,也可以
通过 linuxconf。使用 linuxconf 创建用户和组的步骤是:
a. 在命令行输入 linuxconf
b. 展开 +User Accounts,+Normal,点击下面的 User Accounts
c. 在出现的屏幕上点击 Add
d. 在 Login name 域中输入要创建的用户名,在 group (opt)域中输入要创建的组名
e. 点击 Accept
f. 根据屏幕上的提示,为该用户输入口令(两次)
安装 Domino 服务器前的准备工作到此就完成了,下面可以开始进行安装。
二、安装 Domino 服务器的过程
1. 启动安装程序
如果是从 CDROM 安装,则首先将 Domino for Linux 所在的光盘放入驱动器,然后输入命令
mount /dev/cdrom
/mnt/cdrom/linux/install
注意不要切换到光盘上的目录来执行以上命令, 如
而应从硬盘上的目录中执行, /local/linux。
如果已将 Domino for Linux 的安装文件(如 200426173224.htm.tar)下载到了本地硬盘上,则输
入命令
tar -xvf 200426173224.htm.tar
cd linux
./install
2. 完成安装
Domino for Linux 的安装程序是基于字符界面的,它会提示用户输入必要的信息以完成安装过
程。在各种 Linux 的版本上,这个过程都是相同的。
1). 欢迎界面
向用户说明安装所需要用到的功能键。按 Tab 键继续
2). 许可协议
按 Tab 键阅读许可协议并接受它
3). 安装类型
根据实际情况选择邮件服务器(Mail Server)、应用服务器(Application Server)或企业级服务
器(Enterprise Server)。按空格键来改变当前的选择,按 Tab 键继续
4). 选择 Domino 的程序目录
缺省的 Domino 程序目录是 /opt/lotus,一般没有必要改变它
5). 是否安装分区服务器
如果要安装分区服务器则按空格键将当前设置改为 Yes。在此例中我们不安装分区服务器,仍保
持缺省设置(No)。按 Tab 键继续
6). 选择 Domino 的数据目录
缺省的 Domino 数据目录是 /local/notesdata,一般也没有必要改变它
7). 指定 Domino 所用的用户名
安装程序缺省给出的用户名是 notes,按 Enter 键并输入先前创建的用户名。该用户将成为所安
装的数据文件的所有者。
8). 指定 Domino 所用的组名
安装程序缺省给出的组名也是 notes,按 Enter 键并输入先前创建的组名。该组也将成为所安装
的数据文件的所有者。
9). 总结界面
前面输入的所有信息都将显示出来。检查所有的设置,确认无误后按 Tab 键开始安装文件。若要
修改设置,可以按 ESC 键。
10). 完成安装
安装完成后,所需的文件都已被拷贝到指定目录中,安装程序将自动退出,返回到命令提示符。
此时用户需要以指定给 Domino 所用的用户名登录,以便进行 Domino 服务器的配置。
三、配置 Domino 服务器
Domino 服务器所需的文件安装完成后,需要通过浏览器对服务器进行配置。用户既可以使用
Linux 服务器本地的浏览器,也可以使用其它计算机上的浏览器,只要能通过 TCP/IP 协议访问
该 Linux 服务器就可以。所用的浏览器要求是图形化的,并且支持 Java。
要进行配置,需要将 Lotus Domino http 服务器启动至初始配置状态。首先,切换到 Domino 的
数据目录:
cd /local/notesdata
然后输入以下命令:
/opt/lotus/bin/http httpsetup
该命令将启动 http 服务器,并使用 setupweb.nsf 数据库来完成配置。此时启动的 http 服务器
是在 8081 端口上侦听,不对 http 用户提供除 setupweb.nsf 之外的其他数据库。
如果 http 服务器未能正常启动,并显示如下错误信息
"libjitc.so: cannot open shared object file: No such file or directory (libjitc.so)"
请参阅下面的“如何解决用于配置的 http 服务器无法启动的问题”。
在浏览器中,输入以下 URL:
http://server:8081
其中 server 是服务器的 IP 地址,或在 DNS 中登记的主机名。
浏览器连接成功后,用户就会看到熟悉的 Domino 配置界面了。共有四个页面要求用户输入设置
Domino 服务器所需的信息:
1. 组织中第一台服务器还是附加服务器
如果是附加服务器,必须已在另一台 Domino 服务器上注册了新的 Domino 服务器,而且必须能够
从网络上连接到另一台 Domino 服务器,以获取 Domino 通讯录。本例中我们选择组织中第一台服
务器。
2. Domino 自动启动的服务
选择希望 Domino 服务器自动启动的服务,如 HTTP、SMTP、DECS 等。注意这些服
务所涉及的程序实际上都已安装,这里只是选择是否要自动启动而已。
3. 服务器及管理员的信息
对于组织中第一台服务器,需要输入网络域、验证者、服务器以及管理员的名称
和口令。这些信息对 Domino 服务器的管理工作十分重要,最好将这些信息单独
记录下来,以免忘记。
对于附加服务器,需要提供获取通讯录的服务器的名称(层次名而不是主机名),
本服务器的名称或 ID 文件。
4. 配置网络
Domino for Linux 只支持 TCP/IP 和 X.PC 协议。按网络的实际情况输入网络端口的信息,将所
用的端口状态设为 Enabled。
设置完毕后,点击 Finish 按钮。Domino 服务器完成所有的配置工作后会显示 Congratulations
画面,点击 Exit 将完成整个配置过程并终止前面启动的 http 服务器。
如果配置的过程中失败,用户可能不会直接看到错误信息,这时可以打开服务器的 notes.ini
文件,可能的失败原因会记录在其中。notes.ini 文件一般都在 Domino 的数据目录中,缺省是
/local/notesdata。
至此,Domino for Linux 的安装和配置已全部完成,可以通过运行 /opt/lotus/bin/server 来
启动它了。
四、如何解决用于配置的 http 服务器无法启动的问题
当用户输入“/opt/lotus/bin/http httpsetup”命令来启动用于配置的 http 服务器时,有时会
看到无法找到 libjitc.so 文件的错误信息:
"libjitc.so: cannot open shared object file: No such file or directory (libjitc.so)"
这是由于 Domino 要求在 Linux 的系统资源库(/lib)中包含 libjitc.so 文件。该文件包含在
IBM Developer Kit for Linux 中,用户可以从 http://www.developer.ibm.com/devcon 找到并
下载 IBM 提供的 JDK(或 JRE、SDK)的 RPM(.rpm)包或者.tar(.tar.gz)源代码包,将它安装
到系统中,以解决上述问题。
例如,下载了 IBM JRE 1.1.8 (IBMJava -JRE-1.1.8-1.0.i386.rpm) 之后,输入以下命令进行
安装:
rpm -i IBMJava-JRE-1.1.8 -1.0.i386.rpm
安装完成后,在目录“/usr/jre118/lib/linux/native_threads”中可以找到 libjitc.so 文件,
输入以下命令将该文件拷至/lib 目录下:
cp /usr/jre118/lib/linux/native_threads/libjitc.so /lib/libjitc.so
如果找到的是.tar 或者.tar.gz 的源代码包,先使用 tar 命令进行解包,找到 libjitc.so 文件
后再拷贝到/lib 目录下即可。
拷贝完成后,重新进入“/local/notesdata”目录,运行“/opt/lotus/bin/http httpsetup”
命令,用于配置的 http 服务器应可正常启动。
Q
和 Domino 服务器挂起相关[1]
1。Domino 服务器挂起时的现象:
客户端报告“服务器没有响应”
Domino 的服务器控制台上仍有信息输入
或是 Domino 的服务器控制台上已经不能再输入信息了
没有 notes.rip 或是 drwtsn32.log 文件生成
没有应用程序错误的报告
其它的应用还在运行
Windows 操作系统还有响应
2。Domino 服务器挂起时需要收集的数据:
Domino 服务器的版本
Notes.ini (有关需要在 Notes.ini 中添加的参数请参看下面第 3 条)
nsd 日志 (有关 QNC 和 nsd 的设置请参看下面第 4 条)
Semdebug.txt (有关信号灯的信息文件设置的方法请参看下面第 6 条)
Log.nsf (具体的参数设置请参看下面第 3 条)
Statrep.nsf (具体设置的方法请参看下面第 5 条)
出问题的这段时间的 Domino server memory dumps (具体的参数设置请参看下面第 7 条)
Debug 的输出文件, 例如:debug.txt。 参数 debug_threadid=1 和 debug_outfile=c:\debug.txt 需
(
要事前被添加到 notes.ini 中)(具体设置的方法请参看下面第 3 条)
关于安装好的 Hotfix 的版本号
操作系统的版本和补丁号
Windows NT/95 任务管理器的屏幕照片 (进程的页面)
都有什么进程在运行中
有什么进程占用 CPU 比较高
有什么进程占用内存比较高
硬件的信息
Windows NT 的诊断文件
Windows NT 的事件日志
Windows NT 的性能监控日志(具体设置的方法请参看下面第 8 条)
3。Domino 服务器需要在 notes.ini 中添加的参数:
DEBUG_OUTFILE=c:\debug.txt
DEBUG_THREADID=1
DEBUG_CAPTURE_TIMEOUT=1
DEBUG_SHOW_TIMEOUT=1
4。有关 QNC/Nsd:
1)如何安装 QNC/Nsd 作为缺省的调试程序:
在 DOS 命令行中,转到 Domino 服务器的程序目录下,输入:Qnc -i 或是 nsd -i
其中:
Qnc -i 是把 Qnc 作为缺省的调试程序
nsd -i 是把 nsd 作为缺省的调试程序
2)如何确定 QNC 被设置成为缺省的调试程序:
在 Windows 的 注 册 表 中 , 查 找 下 面 的 项
目: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Aedebug
如果是 Qnc(Quincy) 作为缺省的调试程序,在注册表中的 Debugger 的键值应类似
“c:\notes\qnc.exe -p %ld -e %ld -g”。
如 果 是 NSD 作 为 缺 省 的 调 试 程 序 , 在 注 册 表 中 的 Debugger 的 键 值 应 类 似
“c:\c:\NOTES\nsd.exe" -p %ld -e %ld -g”。
3)安装 Windows NSD
从 5.0.9 的版本起,Nsd.exe 和 memcheck.exe 是自动被安装到 Notes 客户端和 Domino 的服
务器上,Notes 客户端和 Domino 的服务器仍然把 Quincy (qnc.exe)作为缺省的调试程序。
在 5.0.9 的版本以前的版本,需要另外安装 Nsd.exe 和 memcheck.exe ,方法如下:
1)从 Lotus 技术支持那里得到相关版本的 Nsd.exe 和 memcheck.exe 。
2)拷贝 PSAPI.DLL 到任何的一个 path 目录下,例如: C:\winnt\system32(可以忽略有关在
Windows 2000 或是 XP 上安装的此步骤) 。
3)拷贝 Nsd.exe 和 memcheck.exe 到 Domino 的程序目录下。
4) 确 认 只 有 一 个 Nsd.exe 和 memcheck.exe 的 拷 贝 已 被 安 装 ; 如 果 有 多 个 Nsd.exe 和
memcheck.exe 的拷贝被安装,需要把原来的拷贝进行删除或是重命名。
4) 当服务器挂起时运行 NSD:
打开一个 DOS 命令行的窗口,转到 Domino 数据目录下,例如:cd c:\lotus\domino\data
运行 NSD (没有任何的参数)
当 NSD 运行完成后,会出现下面的提示符:
>nsd
如果 Domino 服务器的窗口还有响应,尝试输入命令“q”或是“quit”来停止 Domino 服务器的
运行
如果服务器还在运行中, 在 NSD 的窗口中输入命令“q”或是“quit”,将会出现下面的信息:
"NSD is still attached to nn Notes processes. If Notes process can't be terminated gracefully or are
not responding, then use the kill command to terminate them."
如果 Domino 服务器不能够正常关闭,可以从 NSD 的窗口中,输入“kill”的命令,然后再输
入“quit”的命令以关闭 NSD。
NSD 的日志将会被保存为 nsd_all...mm_dd@hh_mm.log 。
5。设置 Statrep.nsf 的方法:
在服务器上的 Statistics & Events (events4.nsf)数据库的 Server Statistic Collection 视图中,添
加一个新的 New Server Statistic Collection 的文档来记录服务器的信息。
并把 collect 任务加入到 Notes.ini 的文件中。 步骤是:
1) 打开服务器上的 Notes.ini 文件。
2) 查找 servertask 的行,并在行最后加入 collect.
6。有关用 Debug_Capture_Timeout=1 来收集信号灯的数据信息的问题:
信号灯(semaphore)的数据信息将会被收集在 SEMDEBUG.TXT 的文件中,一般是创建在
Notes 的程序目录下。
注意:
1.在收集过一次信号灯的数据后(也就是 Domino 服务器重新启动之前) ,需要把此
SEMDEBUG.TXT 文件重新命名,或是把此文件移到其它的目录下,以生成新的数据文件。
2.对于 Domino R5.0.9 以后的版本,请用在 Notes.ini 中添加 debug_capture_timeout=10 的参
数。
7。如何收集 memory dump: (此具体的设置在编号为 1407013000000 中有具体的描述,
下面只是精选出有关在 Win NT 上的部分)
方法一:要创建一个 Notes memory dump,做以下步骤:
1)在操作系统命令行窗口中,切换到 Domino 的程序目录。
2)根据服务器是 R4 或 R5,执行下面的命令:
R4 服务器: notes server -m
R5 服务器: nserver -m
这会在数据目录下创建一个名为 MEMORY.DMP 的文件。
注意:如果是在 Domino 分区服务器上收集 memory dump 文件,在切换到 Domino 程序目录
后,应该先执行下面的命令,然后再运行上面的命令 (这会设置在哪个服务器上收集
memory dump :
Set Notespartition="x" (其中 "x" 表示想要收集 memory dump 的分区服务器的编号)
然后将 MEMORY.DMP 文件送给 Lotus Notes 工程师分析。
方法二: 在服务器控制台上运行下面的命令:
sh memory dump
这会显示出可用内存(包括虚拟内存)。
为了将它输出到一个文件中,在服务器控制台上运行下面的命令:
sh memory dump >memory.txt
该 命 令 会 在 数 据 目 录 下 生 成 一 个 MEMORY.DMP 文 件 , 在 程 序 目 录 下 生 成 一
个 MEMORY.TXT 文件。
方法三:
在服务器控制台上,输入下面的命令然后回车:
load server -m
这会在数据目录下生成一个 memory.dmp 文件。
支持的信息:
当有错误发生时,应该在发生错误的时刻收集 memory dump (在重新启动服务器之前)。如果
,
怀疑服务器有内存泄漏的问题(并没有什么错误信息) 应该经常地收集 memory dump。
8。 Windows NT 的性能监控日志的设置方法:
1) 选择 Windows 的菜单:开始 - 程序 - 管理工具 - 性能监视器。
2) 选择菜单:查看 - 日志 。
3) 选择菜单:编辑 - 添加到日志 。 在“添加到日志”的对话框中,选择需要监视的对象,并
按“添加”按钮,例如:Memory 等。在选择完成后,按“确定”。
4) 选择菜单:选项 - 日志。在“日志选项”的对话框中,给此日志文件输入一个文件名,例如:
memo.log 。并定义好更新的间隔时间。之后,选择“启动日志”。
5) 完成这些操作后,此工具将会返回一个关于所有被监视的对象的列表。此时,用户就可
以利用此工具来查看当前的计数器。
6) 停止记录日志的方法是:选择菜单:选项 - 日志。再按“停止记录”。
Ppppp