0

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

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

2 回答 2

1

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

马库斯

于 2009-12-08T10:47:52.233 回答
1
  1. 您可以连接 vCard,只需在每个 vCard 之间放置一个空行(标准实际上要求在 END 行之后有一个空行)。
  2. 导入支持是粗略的。Outlook 几乎可以导入任何内容,但在此过程中经常会丢失数据(至少在我几年前尝试过时)。Thunderbird 支持电子邮件中的 vCard,但不会在没有插件的情况下从文件中导入 vCard。Gmail 实际上拥有我见过的最好的 vCard 支持,成功导入了许多字段,甚至包括 base64 JPEG 图像。许多与我交流过的人都抱怨我附加的 vCard,因为他们的客户/网络邮件站点不知道如何处理它。真的很惭愧;这是我们为方便联系信息交换而获得的唯一选择。
  3. 不要指望任何工具可以生成有效的 vCard。此外,根据标准,大多数 vCard 都无效(甚至那些嵌入标准本身的电子卡!)。因此,我开发了一个 vCard 验证器(令人惊讶的是 Google 上的第一个结果) - 它不完整,但它使我在网上找到的几乎所有 vCard 都无效,无论是否生成。在开发过程中很明显,该标准相当参差不齐 - 有些地方指定了不区分大小写的地方,有些地方似乎应该是但没有提及,有些东西真的很难解析(例如 ISO 日期),有不支持命名空间(可以使用 X 属性),推荐的换行系统很痛苦,等等。
于 2010-08-09T09:54:50.913 回答