Skip to main content
 首页 » 编程设计

python之通过 App Engine 发送的邮件中的附件无法在每个邮件客户端/设备上读取

2025年05月04日29insus

我将 App Engine 与 Python 结合使用。当用户请求时,我的应用程序基本上通过电子邮件发送 vcards (.vcf)。

事实上,App Engine 支持扩展名为 .vcf 的文件。我使用邮件 API 将它们作为附件发送。之前,我将它们存储为 db.Blob()。

问题:
大多数时候,黑莓用户无法阅读我的应用程序作为附件发送的电子名片。在邮件的底部,它显示:“application/X-rimdeviceAddress Book:”,当您单击该文件时,它会显示:“无法在您的设备上打开此类附件”。

异常:
收到从黑莓序列化的 vcard 的黑莓可以打开它。

幸运的是,它可以在 iPhone 和(大部分时间)Android 手机上完美运行。

由于 Blackberry 用户可以正确打开从 Blackberry 序列化的 vcards,我想我在存储和/或邮件发送期间做错了什么。或者,App Engine 方法未正确设置 MIME 类型...

有人可以提供一些线索来调查这个非常烦人的问题(我原以为黑莓手机会有相当大的用户群......)?

请您参考如下方法:

很明显,正如我在上面的评论中提到的:
- 它与 Google App Engine 无关
- 有些设备无法读取 3.0 格式的电子名片

但到目前为止我还没有找到一个好的解析器/转换器(从 python 中的 vcard 3.0 到 vcard 2.1)所以如果有人知道,请告诉我。否则,我将不得不自己构建它...