在Linux下使用Exchange服务

巨硬在办公方面的积累不得不服。完整的Exchange服务包括邮件、通讯录、日历、待办(outlook.com中已经被To-Do取代)、简单笔记以及通过邮件共享、共同编辑日历和待办,貌似目前没有其他平台如此完善。并且,即使公司没有部署,你也可以通过Outlook服务免费使用几乎全部功能——不能用那些都是跟大企业相关的,域什么的。

顺理成章,要在Linux下使用Exchange服务可是要略费一点功夫。

不开玩笑,最简单的方法,特别稳定。最大硬伤是关掉浏览器就没提醒。目前有那么几个提醒插件,但第一没有日历提醒,第二没安全感。

Davmail是一个协议转换器,用来把一个Exchange服务分解代理为IMAP、SMTP和CalDav协议。优点是把微软自有的Exchange转换成了通用的协议,给末端工具的选择带来很大自由;缺点是需要自己部署一个服务,无论是放在本机还是放在VPS上都比较蛋疼——尤其是,这玩意儿还是Java开发的。

本人之前折腾过一次,还没等调试稳定,就因为觉得跑本地服务太蛋疼而删了。

Thunderbird的势力按理说挺大的了,不是很明白为啥它不官方开发一下这个功能,不清楚其中有没有授权的原因。

总之,想在Thunderbird用Exchange,需要装插件。比较完善的有俩:Owl for ExchangeExQuilla,两个都是付费品,并且ExQuilla在最近一次大版本升级后迟迟不能跟上[今日2019-06-18]。ExQuilla是本地注册码机制,可以那啥;Owl for Exchange目前没有用过。

上面的插件可能获取不到正确的Exchange服务地址,Outlook.com也没用这方面的官方文档支持。

所以有了一个很艰难的摸索过程:

找了一天,发现exchange同步的问题,真是个大坑……【已解决】
#1 未读文章  由 metorm » 2016-09-16 18:10
我手机的通讯录、日历、邮件是一起用exchange协议跟我的outlook.com邮箱同步的,换了好几个android手机都是这么干的。window下用outlook或者win10都也可以直接同步过去。

然而,最近想要在ubuntu下也这样同步起来,真难啊。倒是有很多声称支持exchange的,但是支持的都是EWS协议,偏偏网上的公众版邮箱,包括outlook.com在内,都不支持这玩意儿

只有公司买的office 365支持

查了一下,outlook.com以及国内这些声称支持exchange的邮箱,底层都是通过activeSync 协议同步的,但是一个支持这东西的linux软件都没找到……

各位有谁搞成功过吗?反正我是不报希望了

----------2016年10月8日更新-------------

柳暗花明又一村,得来全不费功夫。解决方案看下面我自己的回帖,蛤蛤蛤~
上次由 metorm 在 2016-10-08 21:00,总共编辑 1 次。

结论是这样的:

Re: 找了一天,发现exchange同步的问题,真是个大坑……
#4 未读文章  由 metorm » 2016-10-08 20:55
好吧,我宣布我找到解决方案了,虽然事实证明微软的确很贱……

是这样的,@outlook.com 邮箱确实提供了EWS或者说OWA接口,但是一般不会显示出来,也没有提供帮助文档。但是,当你用一个不兼容html5的浏览器访问outlook.com邮箱时,就会跳转到一个略显简陋的,但是符合EWS/OWA标准的网页!

这个接口地址是 https://outlook.live.com/owa/

用这个地址做为各种 linux 下 exchange 软件的 EWS 地址,然后按普通教程操作就好。


-------------2016年11月05日更新------------------
上面地址在 Evolution 中会自动跳转到

https://outlook.office365.com/EWS/Exchange.asmx

但是在 thunderbird ExQuilla 插件中不会。在ExQuilla插件中需要直接输入 https://outlook.office365.com/EWS/Exchange.asmx 这个地址
上次由 metorm 在 2016-11-05 13:31,总共编辑 1 次。

下载改了没有不知道,但找链接的思路就是这样的了。

Evolution有一个官方扩展,软件包名字叫evolution-ewsews=Exchange Web Service,owa=Outlook Web Access),装上就有原生Exchange支持,比楼上Thunderbird高到不知道哪里去了。装上之后新增账号时不要让它自动选择类型,随后手动选择Exchange服务就行了。其他项目(如地址一类的)应该都可以自动获取,获取不到的话参看上面Thunderbird章节。

默认情况下,Evolution待办任务会把所有的任务都显示出来,包括已完成的那些(打了删除线)。界面上的筛选是不能很容易把已完成的隐藏掉的。

如果你不想把已完成的彻底删除,正确的姿势是修改“编辑-首选项-日历和任务-任务-随后隐藏已完成的任务”一项的数值,比如此项目设置为3天,那就是某个任务的状态转换为“已完成”之后三天,就会隐藏起来了。

注意,这个功能的时间记录是Evolution自己加的,不是Exchange服务自带的。因此,初次同步之后,所有的“已完成任务”在Evolution看来都是刚刚完成的,也就是3天之后才会藏起来。心急可以选成一分钟。

Microsoft To-Do 中可以创建一些任务列表,这些列表现在会被自动同步到同一个Outlook账户的Exchange任务列表中,因此也会被Evolution同步下来。但是这里有一点问题,就是那些创建过、用完之后又删掉的列表,也会被Evolution显示出来,推测是To-Do中的“删除”并非删除,而是做了一个删除标记,但这个标记没处理好。

这是一个找回To-Do中已删除项目的可能途径

如果不管,这些列表会一直挂在Evolution里面,挺烦的。也没用手动删除的选项。今天[2019年06月18日]发现的一个办法是:在Evolution中手动新建一个任务,尝试保存到一个这样的异常列表中,很自然会出错。随后放弃保存,退出,把所有本应不存在的列表对应的勾选取消掉,随后在账户上右键-刷新列表(Refresh list),这些列表就没了。

  • 最后更改: 2019/06/18 05:57