统计排行 帮助
  • 5039阅读
  • 9回复

用语盒收取exchange邮件的方法

楼层直达
级别: 触摸盒子
本文主要和大家分享一下怎样用语盒连接exchange服务器收发邮件,需要使用davmail软件,所以需要对服务器有控制权,比较适合自架服务器的同志,使用官方服务器的可以忽略。 另外,davmail的服务器版貌似只有Linux的启动脚本,牵扯classpath的配置,所以windows服务器下能否使用我就不了解了,熟悉java的同志可以看看能否写一个bat的启动脚本。


由于语盒的服务器端不支持owa协议,而且公司的邮件服务器是exchange2007的,对于我来讲,移动收取的方式,要么是用黑莓上服务,要么就是使用支持owa协议的手机。所以一直以来,都只能使用语盒推送我个人的gmail邮件,而用另一部支持owa的手机收取公司的邮件。
闲来无聊在网上逛的时候,发现了davmail这个软件,一个用java编写的exchange邮件网关,可以将owa协议转化为标准的imap,pop,stmp和ldap协议,供其他邮件客户端下载邮件,眼睛一下子亮了。经过了一段时间的折腾和试用,总结方法如下,和大家分享。


1,下载davmail。davmail是基于java编写的,和语盒所需的运行环境基本相同,所以能运行语盒的服务器,应该也可以不需配置,就能运行davmail。 davmail有很多版本,大体可以分为两大类,桌面版和服务器版。桌面版带有gui,适合桌面用户,需要java gui和X相关支持。服务器版通过配置文件修改参数,没有gui,不需要java的gui库和X支持。我下载的是最新版的server版,地址是:http://sourceforge.net/projects/davmail/files/davmail/3.9.8/davmail-3.9.8-1921.zip/download
2,下载后解压到一个文件夹,我们就认为解压到 /mnt/data/davmail/ 下吧。里面包含了davmail.sh,davmail.jar 和一个lib目录,davmail.sh就是启动脚本。这里需要自己建立一个配置文件,官方的配置页如下: http://davmail.sourceforge.net/serversetup.html ,配置文件的samples也在这个页面里。参数比较多,我解释下比较关键的几个:


  1. davmail.url=http://exchangeServer/exchange/
  2. #这是你owa服务器地址,需要注意的是,一般这个服务器都是https开头的,开始没注意到这个细节,害得我试了好久都没成功
  3. davmail.enableEws=false
  4. davmail.popPort=1110
  5. davmail.imapPort=1143
  6. davmail.smtpPort=1025
  7. davmail.caldavPort=1080
  8. davmail.ldapPort=1389
  9. #以上是相关服务的端口,注意不要与服务器上其他程序的侦听端口冲突。
  10. davmail.keepDelay=30
  11. davmail.sentKeepDelay=90
  12. davmail.caldavPastDelay=90
  13. davmail.imapIdleDelay=
  14. davmail.useSystemProxies=false
  15. davmail.enableProxy=false
  16. davmail.proxyHost=
  17. davmail.proxyPort=
  18. davmail.proxyUser=
  19. davmail.proxyPassword=
  20. davmail.ssl.keystoreType=JKS
  21. davmail.ssl.keyPass=
  22. davmail.ssl.keystoreFile=
  23. davmail.ssl.keystorePass=
  24. davmail.smtpSaveInSent=true
  25. davmail.server=true
  26. #是否打开服务器模式,选择true。
  27. davmail.server.certificate.hash=
  28. davmail.bindAddress=
  29. #绑定地址,如果你不想让其他人访问你的davmail网关,而语盒服务器又在本机上,建议把这个地址绑定到127.0.0.1 。 默认的话绑定地址是服务器的网卡地址,多有的电脑都能访问。
  30. davmail.clientSoTimeout=
  31. davmail.allowRemote=true
  32. davmail.disableUpdateCheck=false
  33. log4j.rootLogger=WARN
  34. log4j.logger.davmail=DEBUG
  35. log4j.logger.org.apache.commons.httpclient=WARN
  36. log4j.logger.httpclient.wire=WARN
  37. davmail.logFilePath=/var/log/davmail.log
配置好这个文件以后,通过以下方式启动davmail服务:
  1. # ./davmail.sh davmail.properties > /dev/null &

如果davmail.sh权限不够,执行: chmod +x davmail.sh ,给脚本分配执行权限。启动后用netstat -nal看一下,我们定义的pop,imap和stmp端口是否都侦听上了,如果侦听上了,就可以转而配置语盒的服务器文件了。

3,语盒的config.xml文件。 之前我用imap协议收取邮件,结果造成收到的邮件都没有发件人,咨询了语盒的作者以后,改用了pop协议,解决了问题。我新增的email部分配置如下:
  1. <EmailAccount
  2.                account="u248xxx@xxx.com"
  3.                password="xxxxxxxx"
  4.                useFullNameSignIn="0"
  5.                protocol="pop"
  6.                host="localhost"
  7.                port="1110"
  8.                protocol_send="smtp"
  9.                host_send="localhost"
  10.                port_send="1025"
  11.                sendName="Liang(David) Wei"
  12.                appendHTML="1"
  13.        />
增加了这段配置,重启语盒服务,稍等片刻(davmail需要检索一下exchange的inbox,需要几分钟时间),公司的邮件就哗哗的推送过来了。我这边测试,推送延时都在一分钟左右,比上服务时的推送速度快多了(我曾经用过联通的BIS服务,当时的gmail基本是延时1分钟左右,公司exchange延时在5~15分钟不等)。


最后,再次感谢语盒,虽然他自称“只是一般的工程员”,但是形象在我们心中无比高大。

2012年10月9日更新:
今天公司的服务器从Exchange2007升级到了Exchange2010,但是Davmail就连不上了,google了一下错误日志,原来是要打开Ews支持。
如果你也有同样的问题,请在设置文件中打开Ews支持。
  1. davmail.enableEws=true





本帖最近评分记录: 1 条评分 铜币 +5
莓圈圈 铜币 +5 2012-06-01 給力分享貼~~~
级别: 管理员
只看该作者 沙发   发表于: 2012-06-01
給力分享貼~~~
级别: 管理员
只看该作者 板凳   发表于: 2012-06-01
擦,很给力,我一开始还想写来着,奈何没有测试环境
级别: 触摸盒子
只看该作者 地板   发表于: 2012-06-01
今天回家的班车上发现一个问题,按照这个配置,启动一天后, nohup.out文件大的惊人,竟然到了12G,把我的硬盘都撑爆了。看到 /var/log/davmail.log文件大小还算行(500多k),准备放弃收集davmail的控制台输出,启动davmail的命令改为:
  1. # ./davmail.sh davmail.properties > /dev/null &
级别: 触摸盒子
只看该作者 4楼  发表于: 2012-06-07
没有OWA支持的话就灭火了
级别: 触摸盒子
只看该作者 5楼  发表于: 2012-06-27
Linux真不会!
能不能和楼主搀和一下啊,我入伙行不?呵呵
级别: 触摸盒子
只看该作者 6楼  发表于: 2012-08-22
有莫有高手转成bat脚步,以便能在xp中用啊,谢谢!
一直在看怎么把公司的owa也push定,是弄个joggler+XP不间断,还是整个内嵌linux的路由,期待高手相救.
级别: 触摸盒子
只看该作者 7楼  发表于: 2013-09-11
有一个问题 就是如果有多个文件夹 那么收件箱以外的其他邮件是收不到的…… 悲催
级别: 触摸盒子
只看该作者 8楼  发表于: 2013-09-21
今天尝试了一下,公司exchange服务器老是说用户名密码错误。。。我在语盒配置中加了ssl,语盒应该是吧密码解密之后发送给exchange。但是总是密码错误。但是用davmail还是可以实现语盒和exchange的互动的。
级别: 触摸盒子
只看该作者 9楼  发表于: 2015-02-03
你们都是牛人
购买http://t.cn/zWWd59S
快速回复

限100 字节
批量上传需要先选择文件,再选择上传
 
认证码:
上一个 下一个