2011-07-03 11 views
2

私はApp EngineをPythonで使用しています。私のアプリケーションは基本的にユーザーが要求したときに電子メールでvcards(.vcf)を送信します。App Engine経由で送信されたメールの添付ファイルは、すべてのメールクライアント/デバイスで読み取ることができません。

実際、拡張子が.vcfのファイルはApp Engineでサポートされています。私はメールAPIを添付ファイルとして送信します。以前は、db.Blob()として保存していました。

問題:
時間のほとんどは、ブラックベリーのユーザーが自分のアプリケーションで添付ファイルとして送信されるのvCardを読み取ることができません。メールの一番下には、"application/X-rimdeviceAddress Book:"と表示され、ファイルをクリックすると「このタイプの添付ファイルはあなたの端末で開くことができません」と表示されます。

例外:
ブラックベリーからシリアル化されたvcardを受信したブラックベリーが開くことができます。

幸運なことに、これはiPhoneと(ほとんどの場合は)Android搭載端末で動作します。

ブラックベリーからシリアル化されたvcardsがブラックベリーユーザーによって正しく開封されるため、私はストレージやメールの発送中に何か間違っていると思います。または、MIMEタイプがApp Engineのメソッドによって正しく設定されていない可能性があります。

誰かがこのかなり厄介な問題を調査するためにいくつかのリードを与えることができますか(ブラックベリーの携帯電話でかなり大きなユーザーベースを期待していました...)?

+2

ブラックベリーとApp Engineからvcardを自分宛てに送信し、生のメッセージを調べてみましたか?違いは、ブラックベリーが期待しているものの、得られていないものが何であるかという考えを与えるはずです。 –

+1

このアドバイスをいただきありがとうございます。私は両方のvcardsの違いを見ました。 Blackberryからシリアル化され、Blackberryで読み取り可能なものは形式2.1です。読めないvcardsは3.0のフォーマットです...問題:ほとんどのvcardsは現在3.0形式です。 3.0のvcardを2.1のvcardに変換できる、良いPythonパーサーですか? (結論:App Engineとは関係ありません) – Damien

+0

あなたはそれを把握できてうれしいです。あなた自身の質問に対する答えとしてこれを掲示するべきです。 –

答えて

1

もちろん、私は上記の私のコメントで述べたように:
- それは、Google App Engineのとは何の関係も
を持っていない - いくつかのデバイスはただ形式3.0

でのvCardを読み取ることができません。しかし、私が発見していませんこれまでの良いパーサー/コンバーター(v3.0からv2.1のpythonへ)だから、誰かが分かっているなら私に知らせてください。それ以外の場合は、自分で構築する必要があります...

0

vcardを生成するコードは何ですか?

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 

方法:私は電子メールに私のBlackBerryデバイスからのvCardを送信する場合、私は

++メモ帳でコードを調べる場合 私はdiffrentsを発見

(PC上でそれを開きます) Generateコードでこれらの行について言及しましたか?

関連する問題