从应用程序导出联系人

时间:2009-12-08 09:36:20

标签: outlook export contacts vcard

我正在维护一个内部ASP.NET Web应用程序,其中一部分包括我们销售团队的客户关系管理模块。他们想要的一件事就是能够将他们所有的联系人从我们的数据库中导出到他们各种各样的电子邮件客户端(Windows上的Outlook,Mac上的各种各样)和手机(IPhones,Blackberries - 可能是Androids)。 vCard似乎是转移联系信息的标准方式,但是......

  1. 是否可以通过连接vCard BEGIN / END块在单个vCard中指定多个联系人?
  2. vCard导入支持是统一的,还是客户端之间有怪癖?
  3. 任何其他提示/技巧/陷阱?

2 个答案:

答案 0 :(得分:1)

我可以帮助你解决第一个问题,因为Outlook不喜欢一个文件中的多个vCard,你必须做一个文件一个联系。

马库斯

答案 1 :(得分:1)

  1. 你可以连接vCards,只需在每个vCard之间加一个空行(标准实际上在END行之后需要一个空行)。
  2. 导入支持是粗略的。 Outlook将导入几乎任何东西,但往往会丢失数据(至少几年前我尝试过)。 Thunderbird支持电子邮件中的vCard,但不会在没有插件的情况下从文件导入vCard。 Gmail实际上拥有我见过的最好的vCard支持,成功导入了许多字段,甚至包括base64 JPEG图像。我与之沟通的很多人抱怨我附加的vCard,因为他们的客户/网站邮件网站不知道如何处理它。真惭愧;它是我们轻松进行联系信息交换的唯一选择。
  3. 不要指望任何工具生成有效的vCard。此外,大多数vCard根据标准无效(即使是标准本身嵌入的那些!)。我开发了一个vCard验证器(令人惊讶的是,谷歌的第一个结果)因为这个 - 它不完整,但它几乎使我在网上找到的所有vCard无效,无论是否生成。在开发过程中很明显标准是相当不稳定的 - 有些地方指出事情是不区分大小写的,有些地方看起来应该是这样但是没有提到,有些东西真的难以解析(例如ISO日期),有没有命名空间支持(可以使用X属性),推荐的换行系统很麻烦,等等。