MDaemon与外部系统整合全攻略

12/3/2006来源:MDaemon Server人气:7333

为了安装MDaemonMail,我和这里的其他人一样折腾了半天,现在事情终于完成了,把我的经验帖出来供大家分享。

1、我觉得最重要的问题是要先解决好服务器的网络问题。有许多问题常常是因为网络造成的。DNS问题不用说了,大家都能很好的解决。我发现比较常碰到的是端口问题。
我原来碰到的问题是,邮件发送不出去,总是被退回来。通过观察日志,发现是和对方服务器进行Scoket连接的时候连接失败,并且注意到是按照某一个随机的端口连接的。所以我怀疑是端口问题。因为我的服务器是通过路由器的ip转发过来的,我只转发了部分端口。后来我干脆把所有从20到88888端口的都转发过去,结果OK了。当然,防火墙也是同样的问题,由于通讯的端口是随机分配的,我们无法预见,所以最好的办法是把没把握的都打开。

2、安装合适的版本。
我觉得不一定版本越高越好,也不一定非要用汉化版本。如果对webmail要求不高,最好用英文版。因为汉化过程中可能会导致一些破坏。比如中文版在选择把用户保存到ODBC数据库就不行。为了折中,我选择了6.85rc(我不知道什么意思,反正证明内核是英文的,而webmail可以选择多种语言)

3、好了,开始谈怎么整合
我的需求是这样的,一个用asp制作的OA系统,需要和Mail系统完全整合。包括用户和界面。
1)安装好mail系统(废话?)
2)在管理工具中建立好ODBC数据源,比如连接到某个SqlServer数据库,注意选择默认数据库。
3)进入account,打开帐户数据库管理界面,选择ODBC选项,并点击config进行配置。选择刚才建立的数据源,点击下一步,会看到当前库中的表。如果没有mail需要的表(domails和userlist),会提示你建立表。点击最下面的按钮,并在打开的窗口中点击“浏览”找到对应的sql脚本并运行。这样需要的表就建立好了。
4)点击确定按钮,正常的话会告诉你有多少个用户转移成功。这样就OK了。(中文版本这里过不去,总告诉你ODBC设置不对)

这样,所有的用户资料都保存在UserList这个表中了。接下来的事情比较简单:把这个表作为你自己的系统的用户表就可以了,字段嘛,你可以在上面谁便添加。这样的好处是,开户只需要建立一个邮件帐户即可,要修改邮箱密码,只需要通过你的ASP修改数据库即可。

关于WEBmail的整合:
不知道是我安装的版本问题还是别的,当我把worlclient修改到与IIS整合时,发现从webmail登录不成功,重试了几次都不行。最后只好保留他的3000端口(当然可修改成其他的)
然后,根本可以不用他的登录界面。我发现他的dll能够直接接受querrystring字符串,所以不一定非要用form提交。我的办法是直接给出一个连接,如:即可,这样点击连接即可直接进入webmail,省去了二次登录的麻烦。再说你的系统和mail系统是同一个表,用户密码都是现存的。

还有一个问题,如果你自己的web系统是采用frame结构的,要注意修改mail的target,因为它会自动占据你的top框架。最简单的办法是把登录页中的第一句js删除掉,并且把form的target修改成你希望的,比如_blank,(默认是top)。不过,webmail提供了3种主题格式,如果你不是在单独的窗口中打开webmail,lookout and global两种模式都会覆盖你的top frame,并伴随着js错误。

至于里面的页面效果,可以通过修改里面的
CSS实现。你可以把里面的背景,表格样式等改掉。当然还有图片。只要你细心,总会榨干它的最后一滴血!把它改的面目全非!

差不多就是这些,希望对大家有所帮助。
,