2011-07-03 34 views
2

我正在使用App Engine和Python。當用戶請求時,我的應用程序基本上通過電子郵件發送電子名片(.vcf)通過App Engine發送的郵件中的附件在每個郵件客戶端/設備上都不可讀

事實上,App Engine支持擴展名爲.vcf的文件。我使用郵件API將它們作爲附件發送。之前,我將它們存儲爲db.Blob()。

問題:
大部分時間裏,黑莓的用戶無法讀取我的應用程序作爲附件發送的電子名片。在郵件的底部,它顯示:「application/X-rimdeviceAddress Book:」當您單擊該文件時,它會顯示:「此類型的附件無法在您的設備上打開」。

例外:
,其接收從黑莓序列可以打開它電子名片甲黑莓。

幸運的是,它完美適用於iPhone和Android手機(大部分時間)。

由於黑莓序列化的電子名片可以被黑莓用戶正確打開,所以我猜想我在存儲和/或郵件發送過程中做錯了什麼。或者,也許,MIME類型沒有正確設置的App引擎方法...

有人可以給一些線索調查這個非常討厭的問題(我期待在黑莓手機上有一個相當大的用戶羣......)?

+2

您是否嘗試過從黑莓手機和App Engine向您自己發送vcard並檢查原始消息?這些差異應該讓你知道黑莓手機正在期待什麼,但沒有得到什麼。 –

+1

感謝您的建議。我看了一下兩個vcards之間有什麼不同。從Blackberry序列化並且可以與Blackberry一起閱讀的格式是2.1格式。無法讀取的電子卡格式爲3.0 ...問題:現在大多數電子卡都採用3.0格式。有人可以將3.0 vcard轉換爲2.1 vcard的一些好的Python解析器嗎? (結論:它與App Engine無關) – Damien

+0

很高興你能弄明白。你應該把它作爲你自己問題的答案。 –

回答

1

顯然我上面我的留言,當中提到:
- 它無關,與谷歌應用程序引擎
- 某些設備只是不能以格式3.0

閱讀電子名片,但我還沒有找到一個很好的解析器/轉換器(從vCard 3.0到Python 2.1中的vcard 2.1),所以如果有人知道,請讓我知道。否則,我將不得不自己構建它...

0

什麼是您生成的vcard與代碼? 如果我發送vCard從我的黑莓設備以電子郵件(在PC上打開它)

,如果我檢查用記事本++

代碼中,我發現了diffrents:

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 

如何你在生成代碼中提到了這些行嗎?

相關問題