存档

‘mail’ 分类的存档

postfix sasl认证

2012年1月16日 没有评论

基本的smtp协议没有验证用户身份的能力。虽然信封上的寄件人地址已经隐含了发信者的身份,然而,由于信封地址实在太容易假造,所以不能当成身份凭据。 为了判断客户端是否有权使用转发服务(relay),服务器端必须确认客户端(寄件人)是否当真是对方所自称的那个人。在不能以寄件人地址为身份证书的前 提下,smtp势必需要其他补充机制,才能验证客户端的身份。
从postfix的角度看,它需要扮演两种角色:当它身为smtp server时,需要能够验证用户个人的身份(让他们能使用smtp server寄出邮件);当它身为smtp client时,它需要能够提供出自己的身份证书给其他mta检验(以便通过远程mta将邮件递送到最终目的地)。因此,我们也会解释如何设定 postfix,使其能通过其他mta的身份验证。
大多数邮件系统只容许内部网络上的客户端使用转发服务,换言之,ip地址成了客户端身份的识别 凭据。然而,并非所有合法用户都具有固定ip地址。比方说,带着笔记本电脑出差远方的同事,他们可能使用领近isp或饭店旅馆提供的临时性ip地址;或 者,有些在家工作的用户,他们位于办公室之外的网络,但是需要透过办公室里的邮件系统来寄信。不管你是否能够事先知道用户的ip地址,sasl都能提供可 靠的身份验证。
RFC 2554 “smtp service extension for authentication”制定了如何在基本smtp协议上增加验证功能的机制,此机制使得smtp能使用sasl协议来验证客户端身份。我们将示范 如何使用carnegie mellon大学开发的cyrus sasl函数库来扩充postfix,使其具备sasl验证能力。
由于cyrus sasl以“函数库”的形式存在,要让你的postfix支持sasl,你必须在编译postfix时就将cyrus sasl函数库链接进去,此外,远程用户也必须设定他们的mua,使其在通过你的邮件系统转发邮件时,能送出正确的标识信息。

sasl概论

有 许多客户机/服务器协议没有验证能力,sasl就是用于加强或增加这类协议的一种通用方法。当你设定sasl时,你必须决定两件事;一是用于交换“标识信 息”(或称身份证书)的验证机制;一是决定标识信息存储方法的验证架构。sasl验证机制规范client与server之间的应答过程以及传输内容的编码方法,sasl验证架构决定服务器本身如何存储客户端的身份证书以及如何核验客户端提供的密码。如果客户端能成功通过验证,服务器端就能确定用户的身份, 并借此决定用户具有怎样的权限。对postfix而言,所谓的“权限”指的就是转发服务的访问权。你也可以决定通过验证的用户在转发邮件时,是否要使用特 定的寄件人地址。

选择适当的验证机制
cyrus sasl支持多种验证机制,至于要使用哪一种验证机制,客户端与服务器双方必须事先取得共识。以下是一些比较常见的机制;
plain
         plain是最简单的机制,但同时也是最危险的机制,因为身份证书(登录名称与密码)是以base64字符串格式通过网络,没有任何加密保护措施。因此,使用plain机制时,你可能会想要结合tls。
login
       login不是其正式支持的机制,但某些旧版的mua使用这种机制,所以cyrus sasl让你可选择其是否支持login机制。如果你的用户仍在使用这类老掉牙的mua,你必须在编译sasl函数库时,指定要包含login的支持。 login的证书交换过程类似plain。
otp
       otp是一种使用“单次密码”的验证机制。此机制不提供任何加密保护,因为没必要--每个密码都只能使用一次,每次联机都要改用新密码。smto client必须能够产生otp证书。
digest-md5
       使用这种机制时,client与server共享同一个隐性密码,而且此密码不通过网络传输。验证过程是从服务器先提出challenge(质询)开始, 客户端使用此challenge与隐性密码计算出一个response(应答)。不同的challenge,不可能计算出相同的response;任何拥 有secret password的一方,都可以用相同的challenge算出相同的response。因此,服务器只要比较客户端返回的response是否与自己算 出的response相同,就可以知道客户端所拥有的密码是否正确。由于真正的密码并没有通过网络,所以不怕网络监测。
kerberos
          kerberos是一种网络型验证协议。除非你的网络已经使用kerberos,否则你应该用不到kerberos机制;相对的,如果你的网络已经架设了kerberos验证中心,sasl就能完美的将smtp验证整合进现有的体系。
anonymous
       anonymous机制对smtp没有意义,因为smtp验证的用意在于限制转发服务的使用对象,而不是为了形成open relay,sasl之所以提供这种机制,主要是为了支持其他协议。
当 客户端链接到一个支持sasl的邮件服务器时,服务器会以优先级列出可用的机制供客户端选择。如果客户端也支持多钟机制,则当第一种机制验证失败时,客户 端可能会继续尝试第二种机制,直到通过验证或是所有机制都失败为止。如果双方在一开始就无法协调出共同的机制,验证过程就算失败。
一旦双方在使用哪种机制上达成共识,就开始进行验证过程。实际的交互过程随机制而定,但通常包含一次或多次应答过程。验证协议本身也规定了应答内容的编码格式。

选择适当的验证架构

sasl验证架构可以使用现有的unix系统密码,也可用smtp用户专用密码文件。如果你的网路上kerberos之类的中间控制式验证构架,也可以使用。
哪 一种验证架构最适合你,取决于你的服务器从何、如何取得证书信息。举例来说,如果smtp与pop/imap的所有用户的证书数据都是储存在系统密码文 件,并通过pam来验证,那么sasl就应该透过pam来取得证书数据。另一方面,如果所有smtp user都只有虚账户,你或许应该将证书数据存放在专用的数据库,并设定sasl与POP/IMAP server从该数据库取得证书数据。

postfix与sasl

在开始使用sasl之前,你应该决定好,要采用哪一种机制与架构的组合,因为你的决定将影响编译、安装、设定的过程。首先,你必须先将sasl函数库安装 到你的系统上,或是确定sasl函数库的安装目录与版本。接着,使用你收集到的sasl安装信息来设定postfix的编译选项,然后重新编译 postfix,使其具备sasl验证能力。某些系统平台可能已经预先安装了sasl函数库,甚至提供支持sasl的postfix包,不过,大部分预先 编译好的postfix包都不支持sasl。因此,如果你使用现成的postfix包,最好先研读相关说明文件,或是按照本章“测试验证配置”一节所说的 测试方法,确认你的postfix确实支持sasl。此外,你也要确认你的sasl函数库支持客户端可能使用的每一种验证机制。比方说,若你的用户中还有 人使用老版的outlook express,你的sasl函数库就必须支持login验证机制。
cyrus sasl函数库的研发进度,目前分为两条线路,即sasl与saslv2。其中,sasl已经逐渐被saslv2所取代。在未来,postfix可能只支 持saslv2,所以本章只讨论saslv2。此外,postfix与sasl函数库两者的版本都必须正确,才能组合在一起。
postfix从1.17-20020331实验版开始支持saslv2函数库,在这之前的版本,只能使用saslv1。理论上,最新版的postfix与最新版的cyrus saslv2应该可以顺利结合在一起。

postfix的sasl配置

假设你已经安装好sasl函数库,而且postfix也支持sasl,并下定决心要使用哪一种验证机制与架构的组合。现在,让我们逐步设定postfix,使其能够使用sasl来验证用户的身份。

设定验证架构
对于每个使用cyrus sasl函数库的应用系统,cyrus sasl各提供一个独立的配置文件。影响postfix的sasl配置文件是smtpd.conf。此文件通常位于 /usr/local/lib/sasl2/smtpd.conf。基本上,smtpd.conf至少要指出所要使用的验证架构。我们打算讨论两种最常用 的架构:unix系统密码以及独立的sasl专用密码。

unix系统密码
通常,让sasl直接使用现有的系统密码来验证用户身份是最方便的。传统的系统密码文件应该是/etc/passwd,但是讲究安全性的现代系统则比较可 能使用/etc/shadow、pam或诸如此类的证书数据库。由于这类密码文件只有特权进程才能访问,而postfix却被刻意设计成避开特权身份,所以postfix不能直接访问系统密码文件。
cyrus函数库对于这个问题的解决办法,是提供一个特殊的验证服务器程序,称为saslauthd,它能够代替postfix来取得密码数据。 saslauthd daemon本身需要特权身份,不过,由于它是一个独立于postfix之外的进程,而且通常不必于外界进行网络通信,所以安全性的危害已经被降到最低。 如果你打算让sasl使用unix系统密码,你必须启动cyrus sasl包随附的saslauthd daemon。请注意,使用saslauthd来访问unix系统密码,表示你只能使用明文密码,因为asalauthd需要实际密码才能进行核验。
要让sasl知道postfix将通过saslauthd daemon来访问证书数据库,你必须将下列内容加入smtpd.conf配置文件:
pwcheck_method:  saslauthd
cyrus sasl包随附的saslauthd应该会被安装在$PATH环境变量所列的某个目录下。你必须先在后台启动saslauthd daemon,postfix才能使用它来验证客户端。当你启动saslauthd时,你必须使用-a选项指定密码系统的类型最常见的类型包括pam、 shadow或getpwent。举例来说,在一个使用pam的系统上,你应该使用下列命令来启动saslauthd daemon:
       saslauthd -a pam

sasl专用密码
如果你不想使用系统密码来验证smtp client,你刻意另外建一个无关系统密码的独立账户数据库。当你的postfix系统纯粹用于提供寄信服务,而不用于接收外来邮件,用户也不用登录服 务器系统本身时,使用sasl密码可能是个好主意。请将下列内容加入你的smtpd.conf配置文件:
       pwcheck_method: auxprop
在cyrus的术语中,auxprop的意义是auxiliary property plug-ins(辅助性的专属外挂模块),其作用是使用外部程序来进行验证。默认的辅助外挂模块是sasldb(这也是cyrus sasl包随附的程序之一),它应该能满足postfix的所有需求。关键字auxprop只是要求使用外部的sasl密码文件。
使用sasl密码时,不需要用到saslauthd daemon,但是你必须将所有的smtp client账户与密码存放在一个专用的外部密码文件中。sasl默认使用的密码文件是/etc/sasldb2。postfix smtp server至少要具备能读取此文件的权限;如果你使用cyrus sasl的auto_transition功能,则postfix将需要能够写此文件的权限;如果你用不到auto_transition功能,最好不要 将写权限开放给postfix。
如果还有其他进程也需要能够访问sasl密码文件(比方说,pop/imap server),你必须适当调整该文件的拥有权与访问权限,让相关进程都能访问它。举例来说,你可以建立一个sasl组,并确定postfix与其他需要 访问该文件的账户都隶属于此组。如果有任何去他进程需要更新该文件,则只读模式可能太严格,而你必须提供写权限给必要的进程。下列命令将 /etc/sasldb2的访问模式设定为440,这使得sasl组的所有成员都能够读取该文件,除此之外的其他进程则没有访问权:
chown postfix:sasl /etc/sasldb2
chmod 440 /etc/sasldb2
cyrus sasl包所提供的saslpasswd2工具,可用来产生、维护/etc/sasldb2密码文件。对于每一个账户,你必须提供三项信息:登录名称、 sasl网域名称、密码。就postfix而言,网域名称必须与myhostname参数的值吻合。所以,最保险的设定方法,就是利用postconf -h myhostname来决定网域名称,如下:
       saslpasswd2 -c -u postconf - h myhostname kdent
-c选项要求saslpasswd2创建(create)一个账户。“-u”选项指出该账户所属的网域,其值直接取自postfix的配置文件。

设定postfix
所有与sasl密码验证相关的postfix参数,全部都是以smtpd_sasl*(关于smtp server的参数)或smtp_sasl*(关于smtp client的参数)为前缀。对于服务器端的配置,你至少需要设定smtpd_sasl_auth_enable参数,并且将 permit_sasl_authenticated限制条件列在某一个smtpd_*_restriction的过滤规则里。

启用sasl验证
smtpd_sasl_auth_enable参数决定postfix smtp server是否支持sasl验证:
          smtpd_sasl_auth_enable = yes
有些老的mua没有完全遵守smtp验证协议。依照规范说明书的标准规定,当smtp client送出ehlo命令之后,smtp server应该要列出其验证机制支持列表,而且此列表是出现在关键字auth与一个空格之后。
不过,有些mua却期待收到auth与一个等号;
postfix容许你接受这种不遵守规定的行为:
       broken_sasl_auth_clients = yes
设定此参数之后,postfix会分别以标准与非标准两种格式来列出它所支持的smtp验证机制。
由于两种格式都出现在smtp server的响应中,所以既不会影响标准的mua,同时又能让那些不标准的mua使用smtp sasl验证。

避免寄件人冒名
当客户端通过postfix寄信时,要如何确定客户端使用的真实的寄件人地址?比方说,某人以A身份通过smtp验证,但是却以B为发行人地址,要如何避 免这种冒名情况?postfix容许你设定寄件地址与sasl登录身份的对应关系。举例来说,假设某人的邮件地址是
kdent@example.com, 其sasl登录身份为kdent,如果你希望kdent只能以该地址的名义来发邮件,而不能使用其他寄件地址,你应该将下列对应关系定义在一个查询表中:
       
kdent@example.com                  kdent
这是一个普通的postfix查询表,你可以逐一列出每一个地址与每一位sasl用户的对应关系,也可以使用正则表达式来表示邮件地址的人名部分或网域部分。制作好查询表之后,请将main.cf的smtpd_sender_login_maps参数指向此表:
       smtpd_sender_login_maps = hash:/etc/postfxi/sasl_senders
下一步是将reject_sender_login_mismatch限制条件纳入某个smtpd_*_restrictions过滤规则组合里,这样一 来,如果kdent通过sasl验证,但是他却试图以
mary@example.com的名义寄出邮件,那么postfix将拒绝帮他寄信。

核准授权用户
如果你的ube过滤规则里包含了smtpd_recipient_restrictions,你得使postfix准许通过验证得用户使用转发服务,也就是将permit_sasl_authenticated安插在限制条件里得适当位置。

设定验证机制
当客户端联机到smtp server时,有哪些密码验证机制可使用,由smtpd_sasl_security_options参数决定。完整得机制选项,取决于你得系统上有哪 些机制可用以及你得sasl函数库支持哪些机制。如果不指定任何选项,默认值是接受包括明文密码在内得所有可用机制,但匿名登录除外。如果使用了 saslauthd daemon,就必须接受明文密码,所以,默认值的设想是合情合理的。如果你指定了任何选项,则默认值无效,所以你的选项里必须包含 noanonymous。例如:
       smtpd_asal_security_options = noanonymous, noplaintext
以下是通用的机制选项:
noplaintext
          此选项将plaintext密码验证排除在外。这使得sasl选项challenge/response技术来使用。如果你的安全政策不容许密码以明文形 式流经网络,那就指定noplaintext选项吧,但是这也表示你不能使用saslauthd。
noactive
       此选项将可能遭受“主动攻击”的密码机制排除在外。在“主动攻击”中,攻击者想办法将他们安插到client与server之间,所以,某些类型的主动攻 击又被称为”中间人攻击“。攻击者可以读取或改变数据,让client或server误以为数据真的是对方送过来的。
nodictionary
       此选项将可能遭受”字典攻击“的密码机制排除在外。在”字典攻击“中,攻击者使用预编的密码数据库,逐一测试哪个密码”恰好“能闯入你的系统。这类密码数 据库通常由城市、团队、宠物、常见人名、字典词汇,加上各种明显的词汇变化等组成,所以称为”字典攻击“。
noanonymous
       排除匿名登录。smtp验证的最主要目的,就是要确认用户的身份,所以”匿名登录“对smtp server是没有意义的。postfix的默认行为是禁止匿名登录。如果你指定了其他选项,你必须明确设定noanonymous。
mutual auth
       要求使用互证机制--client与server双方都要提供证明自己身份的证据。

设定步骤汇整
在postfix系统中添加sasl功能所涉及的步骤有点繁复。总结本章前述的知识,以下是我们整理出来的设定步骤:
1、决定你打算支持的验证机制与架构。
2、安装sasl函数库,并重新编译postfix,使其包含sasl。或者取得已经内含sasl的postfix包,以及相关的sasl验证机制。
3、重新安装postfix
4、创建/usr/local/lib/sasl2/smtpd.conf配置文件,将pwcheck_method参数设定为saslauthd(如果使用sasl saslauthd与系统密码的话)或auxprop(如果使用sasl的专属密码文件的话)。
5、如果你选择的验证架构是unix系统密码,请启动saslauthd daemon,并且指出你的系统所用的验证方式;否则,使用saslpasswd2命令在你的系统上创建smtp client的账户与密码。
6、编辑main.cf,启动sasl验证功能,并指出验证方式。基本的设定至少需要下列两项参数:
       smtpd_sasl_auth_enable = yes
       smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authicated, reject_unauth_destination
7、重新加载postfix,使我们在main.cf配置文件所做的改变生效:
          postfix reload

测试sasl验证配置

经过重重难关之后完成安装,要如何要确定所有步骤都没有出错,证明postfix确实真的已依照我们的要求来进行验证?等到用户旅行到外地了以后,看看他 们会不会打长途电话回来抱怨,肯定不是好办法。最好的办法,是直接观察smtp server的交互情况,实际体验验证过程,并立刻查阅日志文件留下的线索。
要想联机到smtp server,最容易的方法是使用telnet工具程序,然后与服务器进程smtp对话。最容易测试的plain机制,如果你禁用这项机制,建议你暂时先启用它,等完成测试实验之后再关掉它。
先让我们了解plain机制的细节,然后再开始动手做实验。plain机制要求你在auth命令之后提供一个身份标识串,此字符串编码成base64格 式。构成此字符串的各项数据的次序是“登录身份”,其后跟着一个null字符,然后是“密码拥有者的身份”,再跟一个null字符,最后是“密码”本身。 通常,“登录身份”与“密码拥有者的身份”是相同的。举例来说,假设用户kdnet的密码为rumpelstiltskin,而且其登录身份与密码拥有者 身份相同,那么,他的身份标识符串是“kdent\okdent\orumpelistiltskin”(编码前的格式)。
麻烦之处,在于如何将标识符串编码成base64格式且不包含字符串末端的CR字符。如果你的系统上有mmcncode与printf命令,这步骤应该不 难。printf命令能显出指定格式的字符串,但是不会像echo之类的命令那样,自动在字符串末端补一个换行字符。mmencode命令能将输入字符串 编码成各种mime格式,且其默认格式正好是我们所需要的base64。
所以,我们可用下列命令来产生base64格式的标识符串:
       printf ‘kdent\0kdent\0rumpelstiltskin’ | mmencode
某些系统平台的printf可能不能正确地处理字符串中间地null字符(\0),要想知道自己系统上地printf有没有这个毛病,只要看base64编码结果是否比原字符串短。如果你地printf有问题,不妨使用echo -n来代替printf。

smtp客户端验证

本章前半段地讨论,着重于postfix如何扮演smtp验证地服务器端角色--验证远程mua或mta地身份,借此判断对方是否有权使用转发服务。现 在,我们要换个角度,讨论postfix如何扮演客户端角色--提出自己地身份证明,借此获得远程mta地转发服务地使用权。
首先,你得提供一个密码文件给postfix,其中包含能通过远程服务器得证书数据。此密码文件得每一笔记录,各包含一个代表远程服务器的网域以及一组能通过该服务器验证的账户与密码,格式如下:
       destination      username:password
当postfix要寄出一封邮件时,它先检查收件地址的网域部分,如果不能在密码文件中找到完全相符的destination,再寻找打算联机的主机名 称。这种检查过程使得postfix可以轻易连接共享相同账户数据库的多个mx主机。决定密码文件位置的参数是 smtp_sasl_password_maps。
决定客户端行为的是smtp_sasl_security_options参数,其设定方法与服务器端的 smtpd_sasl_security_options参数相同,所以不再赘述。如果你没指定任何选项,则默认行为是容许系统上所有能找到的机制,唯独 匿名登录除外。

smtp客户端验证的设定过程

让我们举个例子来示范要如何设定postfix,才能使其在通过远程系统转发邮件时,提出自己的身份证明。在这个例子中,假设我们有一组可以通过ora.com网域的所有服务器主机的账户以及一组可以通过mail.postfix.org主机的账户。
1、创建/etc/postfix/sasl_passwd密码文件,并填入我们拥有的账户与密码,例如:
       ora.com               kdent:rumpelstiltskin
       mail.postfix.org        kyle:quixote
2、使用postmap产生数据库文件:
        postmap /etc/postfix/sasl_passwd
3、编辑main.cf配置文件,启动客户端验证功能。请注意,这次要设定的参数是smtp_sasl_auth_enable,而不是 smtpd_sasl_auth_enable(后者用于启动服务器端验证)。接着,在smtp_sasl_password_maps参数中指出密码文 件的位置:
        smtp_asal_auth_enable = yes
        smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
4、重新加载postfix,使我们所做的改变生效:
        postfix reload
现在,每当postfix smtp client试图通过/etc/postfix/sasl_passwd所列的任何网域或主机来转发邮件时,它就会提供对应的验证书籍。比方说,如果你的 postfix smtp client联机到mail.ora.com服务器,则它会使用kden与rumpelstiltskin这组账户与密码。

分类: mail 标签: ,

Outlook 2003连接Exchange 2010报“0x8004010f,操作失败,找不到某个对象”错误

2011年8月9日 没有评论

环境:outlook 2007 连接exchange 2010

试一下:

A.打开Exchange管理控制台-》Microsoft Exchange-》组织配置-》邮箱-》脱机通讯簿-》默认脱机通讯簿-》右键-》属性

B.点”发布”标签页-》勾选”Outlook 2003或更新的版本(第3版)(T)”,同时”勾选启用公用文件夹发布(U)”。

C.脱机通讯簿-》默认脱机通讯簿-》右键-》更新

D.开始-》运行-》输入services.msc-》将”Microsoft Exchange 文件分发”服务重新启动。

 

如果 Outlook 客户端计算机配置为在使用 Windows Internet Explorer 时使用代理设置,也会出现此问题。

要解决此问题,请按照下列步骤操作:

  1. 启动 Internet Explorer,单击“工具”,然后单击“Internet 选项”。
  2. 在“连接”选项卡上,单击“局域网设置”。
  3. 单击以选中“对于本地地址不使用代理服务器”复选框,然后单击“高级”。
  4. 键入 Exchange 2007 CAS 的 IP 地址,然后单击“确定”。
  5. 重新启动 Outlook。
分类: mail 标签: ,

PHPMailer配置文件详解

2011年7月25日 2 条评论

PHPMailer 也是一个功能强大的邮件类

PHPMailer的主要功能特点:

支持邮件 s/mime加密的数字签名

支持邮件多个 TOs, CCs, BCCs and REPLY-TOs

可以工作在任何服务器平台,所以不用担心WIN平台无法发送邮件的问题的

支持文本/HTML格式邮件

可以嵌入image图像

对于邮件客户端不支持HTML阅读的进行支持

功能强大的发送邮件调试功能debug

自定义邮件header

冗余SMTP服务器支持

支持8bit, base64, binary, and quoted-printable 编码

文字自动换行

支持多附件发送功能

支持SMTP服务器验证功能

在Sendmail, qmail, Postfix, Gmail, Imail, Exchange 等平台测试成功

提供的下载文件中,包括内容详细的说明文档及示例说明,所以不用担心难于上手的问题!

PHPMailer 非常小巧、简单、方便、快捷

以上资料由Jiucool 翻译自phpmailer 官网,转载请注明!

PHPMailer的使用(这里以使用gmail smtp发送邮件为例,当然也支持sendmail pop 等其他方式):

首先到http://phpmailer.worxware.com/ 下载最新版本的程序包

下载完成后,找到class.phpmailer.php 、class.smtp.php两个类放到自己的目录下!

然后新建一个php文件这里命名为:phpmail_jiucool.php

phpmail_jiucool.php内容如下:

我直接将邮件发送模块写成一个函数postmail_jiucool_com(),大家使用的时候直接调用该函数即可,函数内容为:

 

分类: mail 标签:

Domino Lotus notes问题与处理

2011年4月20日 1 条评论

转载:http://blog.csdn.net/jackygits/archive/2010/11/02/5982253.aspx

以下的问题分析与处理是本人在日常遇到的问题与解决办法,可能因为其它原因造成的问题不包括在此范围内。仅针对R6.0和R8.5版本。

 

N Q A
1 Notes client提示NSD is Running错误 NSD是一个故障诊断的程序,安装notes时,可能已经将nsd设为了系统的默认的debug程序。所以domino程序出错时,会调用它(生成的文件很难读懂)。造成这个错误的原因可能是: 

l         操作系统不运行所安装版本的lotus或lotus安装程序有问题

l         软件冲突或者病毒引起

解决方法:

1、重新安装lotus,甚至有必要重装操作系统。

2、运行框中输入drwtsn32 -i,以恢复windows系统自带的故障诊断程序

3、修改notes配置文件,对C:\Program Files\lotus\notes\data\nsd.ini文件进行修改。

原文:

state=0

NumInstances=1

notes.ini=c:\program files\lotus\notes\notes.ini

REFRESH=2000

MONITOR=all

GENCORE=1

修改为:

state=0

NumInstances=0

notes.ini=c:\program files\lotus\notes\notes.ini

REFRESH=2000

MONITOR=all

GENCORE=0

2 当Notes异常退出时,系统信息通常提示要重新启动计算机。是否有办法不重启计算机而马上开始Notes? 只需要使用操作系统的任务管理器,手工关闭一个因Notes异常退出而遗留在内存中的程序:nhldaemn.exe,就可以不重启计算机,而马上开始Notes。
3 在使用Domino Web Access(Inotes)时出现警告:“当前安全设置禁止运行该页中的ActiveX控件。因此,该页可能无法正常显示。” 这是一个IE 的警告信息。如果用户禁止在工作站中运行ActiveX ,就会出现这个警告。因为打开邮件文件的时候DWA 会试图去加载一个ActiveX 控件。如果用户禁止在工作站中运行ActiveX ,DWA 就不会加载控件。出现警告后DWA 仍然会运行,但一些高级功能就不能执行了。 

在IE 中启用ActiveX ,请按照以下步骤:

1 、打开IE ;

2 、选择“工具”——“Internet 选项”——“安全”;

3 、选择“自定义级别”,在安全设置窗口中将“ActiveX 控件和插件”下的“运行ActiveX 控件和插件”设置为启用;

4 、确定退出。

4 在iNotes中如何与Lotus Notes的联系人保持同步 Lotus Notes用户可以使其Notes个人通讯录中的联系人与iNotes Web Access的联系人列表同步。从 Lotus Notes 中打开自己的邮箱,选择“操作”“iNotes Web Access”“同步联系人”即可。 此操作执行完毕后,两边的联系人列表就完全一致了。将来,无论在Notes客户端还是在iNotes端新建了联系人,都可以通过此操作再次同步。 

注意,“同步联系人”的操作只能在Notes客户端进行,iNotes端由于无法访问个人通讯录,因此没有相应的功能。

5 Lotus Notes客户端左侧的缺省图标被删除后如何恢复 在Lotus Notes客户端的左侧有一列快捷图标,如“邮箱”、“日历”、“地址本”等,如果这些图标被误删 

通过以下方法可以恢复Lotus Notes客户端左侧缺省的快捷图标:

1.点击左侧图标栏中的”数据库”.

2.在出现的页面中选择”查看->恢复缺省值”

6 遇到Notes客户端不响应的时候,如何进行初步地诊断 当Notes客户端遇到死机时,它会自动调用随机安装的NSD工具来收集现场信息。当NSD运行结束后,会在Notes的Data目录下的IBM_TECHNICAL_SUPPORT目录中生成一个类似这样的文件: nsd_<Plaftform>_<HostName>_date@time.log,其中,date和time就是Notes客户端死机的时间。打开这个文件,您可以通过简单地查找“fatal”或“panic”关键字来定位致命的线程。例如能从此线程的堆栈中找到“NCScan”或“NCExtMgr”,那么就可以很简单地判断这次的Notes客户端死机是由防病毒软件引起的。
7 服务器更改IP地址后iNOTES和lotus notes无法使用 如果服务器端更换了IP地址,由于dns同步至少需要24小时,因此一般可直接使用服务器端管理员提供的服务器访问地址进行直接访问。用户可以在本机DOS窗口使用nslookup和ipconfig/flushdns更新本地DNS信息,待DNS同步后,可以使用域名直接访问inotes。 

DNS同步后,对于lotus notes,可以在X:\WINDOWS\system32\drivers\etc目录下,用文本方式打开hosts文件,加入如下记录后即可使用notes访问服务器接收和发送邮件:如下例

服务器IP地址  domino01.com.cn

服务器IP地址  domino01/abc

8 启动NOTES,出现”找不到上下文工具栏” 关闭NOTES,删除bookmark.nsf文件,然后重新启动NOTES即可
9 如何更改lotus notes登录密码 1、进入菜单”文件(F)=>安全(Y)=>用户安全(S)”(注:在此要求输入原密码) 

2、出现用户标识符窗口,选择”基本”视图中的”设置口令”按钮.(注:输入原密码)

3、出现设置口令窗口,此时输入你要设定的新密码!

10 当硬盘空间不够时,如何压缩我的Notes工作台? 由于Notes数据库是典型的文档型数据库,因此长期使用后会占用较大硬盘空间,为此我们需要经常对这些数据库进行压缩。常用的压缩方法是: 

1.用鼠标右键单击任意工作台页面,并且选择“工作台属性”。

2.在“工作台”属性框中选择第二个属性按钮,并单击压缩按钮实现压缩。

(说明:做压缩首先要做归档,把邮件归档到本地,然后把不要的邮件及废纸篓里的邮件删除。如果做了以上步骤,还不能压缩,那只能通过服务器来压缩邮箱。

11 邮件发送后的自动签名如何设置 在邮箱的右上角点工具按扭,选择惯用选项,再选择签名;选中“在我发出的邮件末尾自动添加签名”,可以将文本设置为签名,也可以将图片文件设置为签名
12 如何初始化NOTES? 在有些情况下,NOTES发生的问题是很难排除的。这样你可以初始化NOTES看是不是可以解决!关闭NOTES,到NOTES安装目录下,找到“NOTES.ini“文件,打开后只保留该文件内容的前6行,其余的全部删除,保存退出。再运行NOTES系统,会让你重新配置NOTES系统。这样可解决很多问题
13 Notes客户端hosts文件的配置 Notes客户端常需要配置hosts文件来解析Notes应用中的服务器名字。如果Notes客户端的操作系统是win95/win98,则该文件存在于windows目录下;如果Notes客户端的操作系统是winnt,则该文件存在windows/system32/drivers/etc目录下。hosts文件是文本文件,每一行解析一个domino服务器名字,它的格式为:先写IP地址,加空格后,同一行添加domino服务器的公共名(Common Name)。
注意:hosts文件名没有后缀,系统中常有一个文件是hosts.sam,这个文件与本文中的hosts文件无关。
14 Notes偶尔会出现Qnc错误 Qnc 是Lotus 的一个Debug程序. 它可以检测到你的系统的问题给予你以提示,可以让你知道你的系统中存在的问题或小或大。可以在各个client上直接删除qnc。( X:\Lotus\Notes\qnc.exe )
15 出现“复制失败”是怎么回事?但相隔一会又可以成功复制。 Notes在复制时会通过“上网线”连接在上海的邮件服务器,当多人同时上网浏览或下载时连接邮件服务器的带宽和效率会降低。
16 不能随时检测到用户有新邮件要发送和接收就实时自动执行。 可以打开工作台右下角的快捷菜单,进行实时收发的操作,分别点击“接收邮件”、“发送外出邮件”和“发送并接收邮件”。
17 什么情况下,已阅读的邮件,以后再打开Lotus却恢复为红色未读状态。过一段时间后又自动恢复正常? 一般在切换两个Notes用户标识符时,本地邮箱会在不同的Notes用户显示不同的邮件阅读状态。
18 收件箱的邮件过多,是否可以查找并归类。 1、 打开邮箱点击查看菜单选择“搜索条”,输入发件人等关键字查找邮件。 

2、 找到邮件后采用剪切所要移动邮件到自建的文件夹中粘帖。

19 发现未成功发送的邮件并漏加附件。 将“mail.box在本地”中未成功发送的邮件删除,再从“发送”文件夹找回邮件然后拷贝到新建便笺并添加上附件。
20 在新建邮件时,在“收件人”键入邮箱地址出现搜索功能令到速度好慢。 1、   将收件人的邮箱地址保存到本地通讯录,采用查找本地地址本的方式。 

2、   场所-编辑当前场所-邮件,在自动查找收件人姓名处选择“仅本地”。

21 可以将新邮箱地址自动添加到通讯录中吗? 1、 在公用通讯录中查找到联系人并拷贝到本地的个人通讯录。 

2、 用户可以在邮箱的工具菜单中使用添加发件人到通讯录功能。

22 新建邮件时搜索收件人后如何显示完全地址而不是姓名。 在个人通讯录里,编辑联系人的高级页面中用户全名填写邮件地址并保存退出。
23 本地/服务器邮箱图标重叠在一起,打开时容易搞错到底是那一个。 在查看菜单里取消重叠放置图标复本即可。
24 邮件地址常被系统译为“地址/名称/部门”格式,有时显示“…not listed in public Name & Address Book”发送失败。 显示“地址/名称/部门”格式是Notes正常的内部邮件格式,在公司内部用户间使用。“…not listed in public Name & Address Book”这说明该收件人地址错误并不存在或是收件人地址间无逗号分隔。
25 系统如何才能根据用户的使用习惯有记忆功能,如日期排序、手工调整字段(如:“日期”列)宽度等。 用户自己所作的更改是无效的,只能在公司服务器上统一更改服务器的邮件模板。
26 新邮件要发送和接收的时间间隔太久。 定时收发邮件时间间隔可按个人需求设置,如:“五分钟”收发一次,编辑当前场所-复制-重复间隔设定为“五分钟”。
27 邮箱空间太少,有时一天就“爆”不能满足日常使用。 1、 如工作需要邮件相对较多,可申请加大邮箱的空间。 

2、 本地邮箱大小不会有限制,用户在邮件复制到本地邮箱后可以及时删除在服务器邮箱上的信件。

28 出现“不能打开桌面文件,Notes可能在以前的会话过程中异常中止,请在重新使用Notes前关机”时,可以只重启Notes而不需要重启PC吗? 应重启PC才可以继续使用Notes,这是Notes ID安全机制检测的需要。
29 如何才能使我发出的邮件显示实名的邮件地址而不是邮件域名形式的地址? 在编辑当前场所-基本页面的Internet邮件地址里使用 ”Joe”<joe@lotus.com> 格式代替joe@lotus.com 格式即可。
30 使用Notes Minder是否会太占用系统内存? 用户启动Notes Minder程序会占用10M左右的系统内存资源。
31 右击邮箱图标里的从工作台删除与数据库子菜单里的删除有何区别? 从工作台删除只是删除邮箱图标,而数据库的删除则是删除邮箱,后者用户不要擅自使用。
32 是否可以收取其它邮箱的信件? Notes客户端只限于收取公司信件,不支持其它POP3/IMAP/HTTP等邮箱。
33 在公司外面是否能使用Notes收发邮件? 在硬件设备和网络带宽允许的情况下可以使用Notes客户端使用公司的邮件服务器。
34 怎么在邮件里添加签名? 1、 点击邮箱工具菜单里的惯用选项-邮件签名,编辑文字签名当并选择自动附加到外出邮件底部。 

2、 不选自动的话可以手动添加,新建便笺时使用工具菜单里的插入签名即可。

35 邮件正文如何编辑? 选中所要编辑内容然后右击鼠标点击文本属性做更改或者先更改文本属性再写邮件。
36 邮件附件如何添加,能发多大的附件? 点击邮件正文任何地方,选择文件-附加。附件的大小不超过5M。
37 怎么设置邮件重要性? 在新建便笺里点击邮递选项,选择所发邮件的重要性。
38 有收件人自动回执功能吗? 对于收发双方均使用Notes客户端的用户可以使用此功能,在新建便笺的邮递选项里选择回执即可。
39 如何更改个人ID密码? 打开文件-工具-用户标识符,用户可以更改口令或者清除口令。
40 如果暂时不使用Notes能否锁定? 按F5键可以锁定标识符,再次使用需重输个人ID密码。
41 便捷图标怎么设置? 打开文件-惯用选项-便捷图标设置。
42 lotus notes的密码修改 打开notes到工作台-->菜单“文件”-->安全-->用户安全-->输入当前密码-->更改口令-->先输入当前密码然后再输入新密码
43 如何在notes客户端测试与服务器连接? 打开notes到工作台-->菜单“文件”-->用户惯用选项――>左边标签“端口”――>跟踪,在“目标”选择“服务器名称,点击“跟踪”,测试后查看结果。在跟踪信息那里,待机器测试完成后,如果显示已连接到服务器,则表示成功,是你notes的问题,否则,你需要查看你本地网络或者本机是否有问题
44 如何恢复工作台中的图标 

(以恢复较为常用为例:本地邮箱、domino邮箱、dch’s address book、个人通讯录)

打开notes到工作台――>菜单“文件”-->”数据库”――>”打开”,在“打开数据库”窗口中 

本地邮箱:服务器选择Local,在数据库窗口选择该用户中文名称或ID文件名称,后续是.nsf,然后点击右上方的“打开”即可恢复

domino邮箱:服务器选择需要连接的邮件服务器名称,在数据库窗口出打开mail文件夹,选择该用户中文名称或ID文件名称,然后点击右上方的“打开”即可恢复

Dch’s address book:服务器选择邮件服务器名称,在数据库窗口直接打开“Dch’s address book”即可

个人通讯录:服务器选择Local,在数据库窗口直接打开“××的通讯录”即可

45 安装lotus notes时提示“无效的TCP/IP Server”信息 如果出现“无效的TCP/IP Server”信息,往往是因为网络不通引起的,安装notes客户端的同时,必须保证客户端和服务器畅通,各种设置严格按照手册进行。
46 关于QNC.EXE错误信息及其解决办法 在notes运行过程中,有时出现有下列提示的错误信息而退到DOS状态(假设notes的安装目录是D:\notes): 

Aapplication error occurred in the program Unknown crash information will be saved to the file NOTES.RIP in D:\notes\data Please report this crash to the vendor of the faulting application

解决的方法是:在D:\notes目录下,运行qnc -u命令,再启动机器,以后就不会出现以上错误信息。其实这是 Notes的内存保护性措施,及时删除了Notes的文件也会显示,并显示找不到文件。因此需要修改注册表,把键名删除或其键值改掉即可。

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug]

“Debugger”=”D:\\notes\\qnc.exe -p %ld -e %ld -g”

如果不喜欢它可以在DOS下(或WINDOWS的“运行”中)键入qnc –u,系统提示:

使其不再运行。以后就不会出现以上错误信息。 如果你觉得还有必要的话可以再用qnc -i装载它。

47 为使Notes客户端正常启动,需要检查哪些文件的正确位置
N 需要的文件 Notes客户端如何定位它们
1. NOTES.EXE Notes程序的安装目录
2. NOTES.INI 在5.x和以上:Notes的数据目录
3. Notes 6.x 和 7.x: DESKTOP6.NDK 一般情况下存储于Notes.INI中Directory 变量指定的地方,同时也可以由Notes.INI中desktop6这个变量指定位置,例如:Desktop6= [Drive]:[\path]\desktop6.ndk
4. USER.ID 存储于Notes.INI中KeyFileName 变量指定的位置,在Notes5.x和以上版本中,如果找不到USER.ID文件,系统依然可以启动,但是会提示用户输入ID存储的正确地点。
在5.x和以上版本中,服务器启动时如果找不到SERVER.ID,那么会在控制台上显示”unable to open ID file”,管理员可以通过以下的命令提示给系统ID正确的位置
> set config ServerKeyFileName=whatever.ID
> restart server

 

48 Notes邮件文件不再显示收件箱 这个问题很有可能是由于ODS损坏造成的,解决此问题的方法如下: 

1. 从工作台上删除数据库的图标然后再重新加上。

如果此方法不起作用:

2. 刷新数据库的设计。要刷新设计,可以右键单击数据库图标,选择数据库-〉 刷 新设计。请注意,这个操作可能会重新显示收件箱,但是收件箱的内容则无法恢复。这是因为收件箱只是一个文件夹,它和文档之间的连接是单向的。对于文件夹来 说,它会记录它包含哪些文档,但文档本身并没有包含任何所属文件夹的信息。所以,一旦文件夹被删除以后,文件夹所包含的文档链接信息也会被删除。

3. 重新从工作台删除数据库图标,再次添加。

49 启动 Notes 客户端时出现错误:“无法写到指定的文件夹” 当使用的操作系统账号对Windows的Temp文件夹没有写的权限时,会出现此问题。 

要把Windows的Temp文件夹的写权限赋给用户,参考以下步骤:

1. 打开 Windows 资源管理器。

2. 浏览到 Windows\Temp 文件夹。

3. 右键单击Temp 文件夹,选择“共享和安全”。

4. 在安全附签,添加或者选择用户在操作系统的账号名。

5. 给此文件夹赋予所需要的最小权限:读和写。

50 本地收件箱中A邮件已删除,但domino收件箱还有A邮件,如何将该邮件从domino恢复到本地收件箱 分别从lotus notes打开本地收件箱和domino收件箱 

在domino收件箱中在该邮件前面点击打勾选中,然后右键->拷贝;进入本地收件箱,右键->粘贴,即可完成

51 遇到无法连接(或notes无法跟踪)服务器 打开notes 

1、文件->设置场所->编辑当前场所->基本->服务器->宿主/邮件服务器:sh_domino1/DCH

2、文件->设置场所->场所->高级->场所->连接,将sh_domino1/DCH那一项双击打开,编辑“高级->目的服务器地址”为:shmail.dch.com.cn

3、退出notes,重启进入notes稍后再尝试

 

52 打开notes邮箱内邮件出现错误提示:Illegal circular USE:coreEmailClasses 关闭邮箱,在工作台右键点击发生错误的邮箱图标->数据库->替换设计->模板服务器选择local,点击“显示高级模板”,选择mail6ex.ntf模板后确定,完成后即可恢复 

 

53 如何修复用户本地nsf邮箱文件 1、              确认本地notes中带有nfixup.exe、nupdall.exe、nconvert.exe等修复维护工具 

2、              关闭notes,打开cmd,进入lotus\notes目录

3、              输入:命令 文件目录,如d:\lotus\notes>nfixup d:\lotus\notes\××.nsf

4、              提示输入ID的口令,输入后系统开始修复nsf文件

54 如何将邮件作为附件进行发送 Webmail中不能实现 

打开notes收件箱中的邮件,文件->引出->选择保存类型是microsoft RTF,文件名.rtf

将保存起来的rtf文件作为附件进行发送

55 如何在本地安装inotes8.5控件 1、              将dwabho.dll、dwa85W.dll拷贝到C目录下 

2、              然后开始――>运行,运行2个命令:regsvr32 C:\dwabho.dll、regsvr32 C:\dwa85W.dll

3、              完成后打开IE登录inotes,即可发现浏览器不再提示下载安装inotes控件了

58 打开notes邮箱,提示variant does not contain an object 1、进入lotus notes,复制-->设置复制选项――>高级――>取消“存储控制部分”和“设计元素” 

2、如果用户端是lotus notes6.0/6.5,则

A、工作台――>右键点击用户本地邮箱图标――>数据库――>替换设计

B、模板服务器选择sh_domino1/dch,选择“显示高级模板”,选择“增强版邮件(R6)”――>替换

C、等notes下方的进度条完成后,关闭notes重启启动notes即可

3、如果用户端是lotus notes 8.5,则

A、工作台――>右键点击用户本地邮箱图标――>数据库――>替换设计

B、模板服务器选择sh_domino1/dch,选择“显示高级模板”,选择“Mail(R8.5)”――>替换

C、等notes下方的进度条完成后,关闭notes重启启动notes即可

4、如果使用2或3时,提示权限出错或者没有权限,则需要在手动刷新模板,方法如下:

*假如lotus notes是6版本就用mail6ex.ntf模板文件,是8.5版本就用mail85.ntf模板文件

*假设需要刷新的用户本地邮箱文件(一般是用户ID标识符名称.nsf)位于d:\lotus\notes\data\mail下,模板文件是在d:\lotus\notes\data下

A、首先查找本机\lotus\notes目录下是否有nconvert这个文件,如果没有,从别的机器拷贝该文件到本机\lotus\notes下

B、关闭notes,打开cmd窗口,进入lotus\notes目录

C、输入:nconvert –r 用户本地邮箱nsf文件绝对目录 * ntf文件绝对目录,如d:\lotus\notes>nconvert -r d:\lotus\notes\data\mail\123.nsf * d:\lotus\notes\data\mail6ex.ntf

D、提示输入口令,输入lotus notes登录的密码并回车

E、等窗口运行完毕后,关闭cmd窗口,重新运行lotus notes即可。

60 Notes本地邮箱里面的文件夹打开时提示Illegal circular USE:docexpprocessing_zh-CN 在复制选项――>高级――>勾选“设计元素” 

复制――>立即启动,从服务器获得设计更新并完成

复制更新完成后,刷新本地邮箱模板文件

61 服务器是domino8.5,本地是lotus notes 6.0,本地邮箱模板是mail6ex.ntf模板,服务器邮箱模板是mail85.ntf,为何本地邮箱默认有签名,服务器邮箱上没有签名 1、              必须要将lotus notes 6.X升级到8.5,本地和服务器才能都使用签名模板,不必每次都要都要输入签名 

2、              如果依旧使用lotus notes 6.X,那么服务器邮箱需要每次都要按照如下方法插入签名:

l         新建一个文本文件,写入需要的签名

l         撰写邮件时,将光标置于邮件正文中,点击邮件工具栏上的“更多”――>插入签名

l         勾选“从文件(文本/HTML/图像)引入”,浏览并选择刚才所建立的文本文件,确定即可

62 当用户inotes和notes均只能发不能收时,且服务器邮箱未满前提下 刷新本地邮箱或者服务器邮箱的模板即可(模板采用服务器上的ntf文件)
分类: mail 标签: , ,

notes权限划分

2011年4月16日 没有评论

[不能存取者]

属于不能存取者级别的用户不能访问数据库,不能打开数据库,不能阅读和写数据库中的文档。因为用户打开数据库后,状态栏上才会显示符号。在这种情况下,状态栏上没有符号,也就不能够打开数据库。

[]可存取者]

可存取者能够创建文档。但是,当该文档被保存之后就不能够再读取此文档,也不能够阅读数据库中的任何文档。状态栏上的投票箱图标指示用户属于这种访问级别。

[读取者]

属于读取者级别的用户可以阅读数据库中的文档,但是不能创建文档,也不能编辑数据库中已经有的文档。状态栏上的一副眼镜图标指示用户属于这种访问级别。

[作者]

属于作者级别的用户能够阅读数据库中的文档,能够创建文档,还能够编辑自己创建的文档。在某种条件下,还可以编辑别人创建的文档。状态栏上的羽毛笔墨水图标指示用户属于这种访问级别。

[编辑者]

属于编辑者级别的用户能够创建、阅读和编辑数据库中的所有文档。状态栏上的铅笔和纸图标指示用户属于这种级别。

[设计者]

属于设计者级别的用户除了具有编辑者访问级别的全部权限之外,还可以创建设计元素,例如,表单、窗口、框架组、视图、大纲、数据库、导航按钮及其他元素。状态栏上的尺子图标指示用户属于这种访问级别。

[管理者]

管理者除了具有设计者访问级别的全部权限之外,还能够对其他用户分配访问级别。管理者还可以删除服务器上的整个数据库。一般用户可以让管理者访问自己的电子邮件数据库。状态栏上的钥匙图标指示用户属于管理者访问级别。

分类: mail 标签: , ,

IBM Lotus Notes 进程详解

2011年4月15日 没有评论

1.Administration Process(Nadminp.exe)-自动执行大量的管理任务。

2.Agent Manager(namgr.exe)-控制服务器上的notes代理程序的运行。

3.Indexer(nupdate.exe)-维护notes数据库中的视图和全文本索引。

4.Mail router(nrouter.exe)-把邮件发送给其他服务器,并向本服务器中的收件人分发邮件。

5.Replicator(nreplica.exe)-控制服务器之间数据库的复制。

6.Schedule Manager(nsched.exe)-负责维护free time数据库(busytime.nsf),包含所有本地邮件用户的日程条目信息,用户由此可以知道其他人什么时候忙,并据此安排会议。

7.Calendar Connector(ncalconn.exe)-从其他domino服务器检索用户的空闲时间。

8.Event Manager(nevent.exe)-监视已定义事件的发生,当这样的事件发生时,他以制定的方式通知管理员。

9.Statistics(nstats.exe)-通过邮件或者通过命令来收集服务器操作统计数据。

10.Domino Web服务(nhttp.exe)

11.Internet邮件服务程序(nimap.exe)

12.Internet LDAP(nldap.exe)

13.Internet 新闻组服务器(nnntp.exe)

14.Domino企业连接服务(ndecs.exe)

分类: mail 标签: , , ,