通过App Engine发送的邮件中的附件在每个邮件客户端/设备上都不可读

时间:2011-07-03 21:41:16

标签: python google-app-engine blackberry attachment vcard

我正在使用App Engine和Python。我的应用程序基本上在用户请求时通过电子邮件发送 vcards(.vcf)

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

问题:
大多数情况下,Blackberry用户无法读取我的应用程序作为附件发送的vcards。在邮件的底部,它显示:“application / X-rimdeviceAddress Book:”,当您点击该文件时,它会显示:“此类附件无法在您的设备上打开”。

例外:
收到黑莓序列化的黑莓可以打开它。

幸运的是,它完全适用于iPhone和(大部分时间)在Android手机上。

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

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

2 个答案:

答案 0 :(得分:1)

显然我在上面的评论中提到过:
- 它与Google App Engine无关 - 某些设备无法以格式3.0

读取vcards

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

答案 1 :(得分:0)

您生成vcard的代码是什么? 如果我从我的黑莓设备发送一张vcard到电子邮件(在PC上打开)

如果我用Notepad ++检查代码

我发现了分歧:

   X-SALUTATION:Mr/Miss
        X-HomeAddress1:HomeAddressStreet
        X-HomeAddress2:
        X-HomeCity:HomeAddressCity
        X-HomeState/Prov:HomeAddressStateProvince
        X-HomeZIP/PostalCode:1234 AA
        X-HomeCountry:HomeAddressCountry
        X-URL:http://www.url.com

你如何在Generate代码中提到这些行?