私は MFMaiilComposeViewController で電子メールを作成しています。いくつかの HTML スニペットを作成してメッセージ本文に割り当てるだけで、すべて問題ありません。結果の電子メール (GMail および Yahoo) は、私が送信した元の HTML のように見えます。
[mailMan_ setMessageBody:body isHTML:YES];
一方、XML 添付ファイルも含めると、電子メール リーダーはすべてをプレーン テキストとしてレンダリングします。これには、インライン化された XML も含まれます。IE: 私のメール クライアント (GMail、Yahoo) は生の HTHML および XML タグを表示します - 私が提供しなかった html タグを含みます - つまり、iPhone がコンテンツの周りに提供する html、head、body タグ:
NSData *opmlData = [[NSData alloc] initWithData:[opml dataUsingEncoding:NSUTF8StringEncoding]];
NSString *fileName = [NSString stringWithFormat:@"%f.opml", [NSDate timeIntervalSinceReferenceDate]];
[mailMan_ addAttachmentData:opmlData mimeType:@"text/xml" fileName:fileName];
何が起こっているのかを確認するためにメールを pop3 したところ、添付ファイルなしで、メールの結果の html セクションに次のブロックが含まれていることがわかりました。
--0-1682099714-1273329398=:59784
Content-Type: text/html; charset=us-ascii
<html><body bgcolor="#FFFFFF"><div><h2 style="b
一方、 XML添付ファイルを使用すると、iPhone は次のように送信します。
--0-881105825-1273328091=:50337
Content-Type: text/plain; charset=us-ascii
<html><body bgcolor="#FFFFFF"><div><h2 style="bac
違いに気づきましたか?Content-Type … text/ htmlと text/ plainを見てください。XML 添付ファイルを含めると、iPhone が誤って本文の HTML バージョンをプレーン テキストとしてタグ付けしているようです。技術的に明確にするために、アタッチメントの有無にかかわらず、iPhoneにはこれも含まれています。
--0-881105825-1273328091=:50337
Content-Type: text/plain; charset=us-ascii
Notebook
Carpentry
Bathroom floor tile
Bathroom wall tile
Scrape thinset
しかし、これは明らかに問題がある場所ではありません。
私は何か間違ったことをしていますか?iPhoneがHTML本体全体をプレーンテキストとしてラベル付けせずに、実際にXMLを「添付」するにはどうすればよいですか。割り当てを逆にしようとしましたが(最初に添付ファイル、次に本体)、うまくいきませんでした。
それだけの価値はありますが、メールは iPhone の送信インターフェイスから見ると完璧に見えます。実際、HTML は正しく表示され、添付ファイルはメッセージの下部にある小さなアイコンのように見えます。この問題は、iPhone が実際に送信しているものに関係しています。