在Windows环境中,POP3是用的最频繁的邮件传输协议之一。但是这个协议仍然有不少的地方与Exchange2007有冲突。有些冲突是Exchange2007有意为之,主要是为了提高服务器的安全性;有些则是部署不当所造成的。笔者在这里就举几个典型的案例,帮助大家尽可能的减少冲突事件的发生。
冲突一:无法通过POP3协议连接到管理员信箱。
在使用Exchange2007邮箱服务器的时候,管理员会发现一个很奇怪的问题。发现无法使用POP3协议连接到管理员邮箱。当尝试通过POP3协议登录到管理员邮箱时,系统会提示:用户名或者密码不正确,而拒绝用户登录。但是是用Outlook等工具时却可以正常登录。这是什么原因呢?
首先需要说明的是,这是Exchang2007有意设置的一个行为,其主要是为了增强管理员邮箱的安全性。由于POP3协议安全级别并不是很高,为此Exchang2007邮箱服务器就拒绝管理员通过这个协议来访问管理员邮箱。同时系统会在日志中留下相关的信息:已经过身份验证的用户 Domain\Administrator 尝试访问 POP,但是因该协议而被禁止。
解决措施:
通常情况下,Exchange2007邮箱服务器禁止管理员用户通过使用POP3协议来登录管理员邮箱帐户。这主要是出于提高管理员邮箱安全的考虑。为此笔者并不建议改变这个规则。在有需要的情况下,邮箱管理员可以使用Outlook等工具来访问管理员邮箱。
冲突二:可能会收到多封已读回执。
现在很多的邮箱系统都具有已读回执功能。即当用户收到邮件后会自动向对方的邮件发送一封内容为邮件已到达的信件。不过如果是通过POP3协议连接到Exchange2007邮箱时可能会收到重复的邮件回执。通常情况下,会有两个系统自动发送两次邮件回执。
首先是当邮件下载到收件人的邮箱时,Exchange服务器会发送一个已读回执(如果有已读回执设置的话)。其次当用户打开邮件时会询问用户是否需要发送已读回执(如果发件人在邮件中有类似要求的话),当用户单击需要发送时就会再次发送一个已读回执。其实这两个已读回执的含义是不同的。第一个已读回执并不代表用户已经读了邮件,而只是表示已经到达了用户的邮箱。也许用户并没有登录到邮箱中去打开这封邮件。而第二个已读回执才是真正意义上的已读回执,表示用户已经打开了这封邮件。
这第一个回执也是Exchang2007中加入的一个额外功能。这个功能可以确保那些请求已读回执的发件人能够收到如下的确认信息:邮件已经下载到了收件人的邮箱中。从法律意义上讲,这已经有了一定的法律约束力。不过这个功能并不影响到其他的已读回执。也就是说,当收件人打开邮件并在询问他们是否要发送已读回执的时候,只需要单击确认,仍然会向收件人再次发送已读回执(这才是真正意义上的已读回执)。
解决措施:
企业用户可以根据实际情况来判断是否需要这个功能。如果不需要的话,可以直接关闭这个功能。但是如果企业的用户必须要使用这个已读回执功能,而又不希望收到重复的内容,那么则可以让POP3协议的邮件客户端使用替代的客户端来连接到Exchange邮箱,从而可以避免发送重复的已读回执。另外一个办法就是不用使用POP3协议,而采用Outlook等邮件客户端工具。此时收件人阅读邮件时,就仅仅发送一个已读回执。所以这个冲突的话,只要在一些配置上做稍微的调整,就可以避免。在企业内部中,笔者建议尽量使用Outlook等专业的客户端工具接收与发送邮件,可以避免很多类似的问题。
冲突三:Exchang POP3服务无法正常启动。
默认情况下POP3服务不会自动启动。在有POP3协议连接需求的情况下,管理员需要手工启动POP3服务。但是有时候POP3服务在Exchang2007环境下会无法正常启动。这主要是因为在Exchang2007环境下,启动POP3服务需要一些额外的条件。如果这些条件无法满足的话,POP3 协议就无法正常启动。如果能够在事件日志中看到如下信息,就表明POP3服务没有正常启动。事件来源:MSExchange POP3 服务;事件类别:ProcessManager ;事件 ID:1019;说明:启动监听失败(错误:10049)。绑定::110。从这个错我信息中也可以看出,主要是IP地址出了问题。
解决措施:
通常情况下,如果没有为POP3服务配置监听本地IP地址或者传输服务的接收连接器无法绑定到IP地址,就有可能会发生这个问题。原因找到了,解决这个问题的方法也就有了。只需要为POP3服务配置监听本地的IP地址,并且配置连接接收器监听所有的IP地址即可。前者可以在命令行下通过SET命令来完成,后者可以在Exchange管理控制台中实现。具体的配置比较简单,笔者这里不做过多的阐述。笔者这里只想强调一下,有时候重新启动POP3服务或者重新启动服务器后,不知道是什么原因可能会出现以前绑定的IP地址又重新释放的问题。此时只需要重新配置即可。有可能是IP地址冲突等原因会导致这种现象的产生。
冲突四:打上SP1补丁之后原有的POP3 设置被更改。
当给Exchange2007打上SP1补丁之后,管理员会发现无法再使用POP3协议进行连接。这个问题主要是因为在补丁SP1的安装过程中,POP3 协议的配置文件会被更改。系统会重新使用默认值来替换原有的被更改的值。配置文件被更改后,POP3协议就可能无法正常工作。为此笔者还专门查询了微软的英文原版资料。笔者本来还以为是系统的漏洞,后来才发这也是微软故意这么设计的。但是为什么要这么设计,却找不到明确的说法。
解决措施:
到目前为止,还没有找到有效的解决措施。如果要打SP1补丁的话,则必须要允许系统更改配置文件。如果用户需要保留已经自定义的POP3 配置内容的话,有两种方式。一是当将客户端访问服务器打上SP1补丁之后,在利用原先的笔记重新应用这些自定义配置。不过这种方法不怎么合理。当更改的内容比较多的时候,会增加很多工作量。只有在更改内容比较少的时候,采用这种方式是一个不错的选择。另外一种比较合适的做法是使用备份还原来恢复原有的配置。即在升级之前,先利用系统提供的工具对POP3协议的配置文件进行备份。等到升级完成之后,在采用原有的备份文件进行恢复。不过由于其备份还原的过程比较复杂,比起数据库备份还原等操作要复杂的多。为此如果自定义配置不多的情况下,笔者还是不建议采用备份还原的手段来恢复自定义配置。
两种方法各有利弊。通常情况下如果自定义配置不多的话,笔者建议是采用手工配置的方式。相反,自定义的配置比较多时,则采用备份还原的手段比较合适。不过无论采用哪一种方式,在升级之前对原有系统进行备份仍然是必需的。