|
|
|
各位高手们请赐教:
情况是这样的:
我有两台邮件服务器,一台是Mercur mail server(主要的邮件服务器) ,另一台是exchange 2003 server .
我想让公司的经理们使用Blackberry手机,也就是实现mail push, 现在这个功能基本都已经实现了,但是有一个问题让人很费解:
Mercur mail server 的域名称为(假设) : @mercur.com
Exchange 2003 server 的域名为(假设) : @exchange.com
现在假设有三个用户,分别是:A,B,C;这里我们假设A和B都是老板(A和B都使用Blackberry手机),C是普通员工;在Mercur邮件系统中,我都设置了这三个用户,分别是[email=A@mercur.com,B@mercur.com,C@mercur.com]A@mercur.com,B@mercur.com,C@mercur.com[/email],因为要实现mail push 功能,所以我在exchange server中把A和B添加进去了,分别是[email=A@exchange.com,B@exchange.com]A@exchange.com,B@exchange.com[/email]; 考虑到我们一直使用Mercur mail server ,所以在使用Blackberry的时候,我想让他们都能收到@mercur.com的邮件,所以我在Mercur mail server 中做了forward功能,将邮件forward 到相应的用户:A@mercur.com Forward to A@exchange.com ,考虑到老板们用blackberry收到邮件后回复邮件的功能,我在exchange 2003 server 中,将@mercur.com设置为主SMTP邮件地址,而@exchange.com为附SMTP邮件地址,那么这个时候Blackberry可以正常工作了,但是问题来了:
我们公司都是使用outlook express 6.0,因为简单,容易维护,当用户A和B使用Blackberry发送邮件给C的时候,C是正常使用outlook express的,C可以收到用户A和B发送来的邮件;但是当A使用Blackberry发送给B邮件的时候,B可以通过Blackberry接受到邮件,但是B却无法使用outlook express来查看A发送过来的邮件,反过来也是如此!
原因可能是,在exchange 2003 server 中,发送邮件之前,DSSAcess服务会去Active Directory和Recipient Policy去检索对方的邮件地址,也就是说,当A用户使用Blackberry发送邮件给B(B@mercur.com)的时候,是使用A@mercru.com 这个帐户,当然这个帐户是在Active Directory 中存在的,所以exchange 2003 server 认为这是个内部的邮件地址,所以就不能发送到真正的Mercur mail server 中了,我check 过microsoft的资料,如下:
1. An internal user sends a message to a recipient in a remote domain.
2. To determine if the recipient is local or remote, the SMTP virtual server on the sender's Exchange server uses internal transport functions to query the global catalog server for the recipient address. If the recipient address on the message is not in a recipient policy, it is not stored in Active Directory; therefore, Exchange determines that the message is destined for a remote domain.
3. If necessary, the Exchange server delivers the message to the appropriate SMTP virtual server.
4. The SMTP virtual server uses its IIS metabase information to determine the method for delivering a message to a remote domain.
5. The SMTP virtual server on the Exchange server then performs one of two actions:
· Uses DNS to look up the IP address for the target domain, and then attempts to deliver the message.
· Forwards the message to a smart host that assumes responsibility for the DNS resolution and delivery of the message.
但是,我们想实现的是,A(A@mercur.com)用户使用Blackberry发送邮件给B(B@mercur.com)的时候,B用户可以通过Outlook Express来查看(当然B用户的Blackberry手机可以收到邮件),反之也一样!
当然最好的方法是让Exchang2003的internal transport function 不去query Active Directory ,那么也就是意味让exchange 不认识@mercur.com为自己内部的邮件地址,exchange 就会把 @mercur.com 当成外部地址来发送了!但是,怎么样让exchange 的 Internal Transport Function 不去检索Active Directory 呢?????? 请高手们赐教!!!!!
希望各位高手们不吝啬赐教:跪求了!
各位大哥们帮帮小弟! |
|