我在MFMaiilComposeViewController中創建一個電子郵件,如果我只是簡單地創建一些html片段並將它們分配給郵件正文 - 一切都很好。由此產生的電子郵件(在Gmail和雅虎)看起來像我發送的原始HTML。MFMailComposeViewController可以將XML文檔附加到HTML郵件嗎?
[mailMan_ setMessageBody:body isHTML:YES];
在另一方面,如果我還包括XML附件,我的電子郵件閱讀器呈現一切純文本…包括內聯的XML。 IE:我的郵件客戶端(如Gmail,雅虎)顯示了原始HTHML和XML標籤 - 包括我沒有提供HTML標籤 - 即:在HTML,頭部,身體標記的iPhone周圍的內容規定:
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'd的郵件,看看發生了什麼事,發現WITHOUT的附件,電子郵件的生成的HTML部分包含此塊:
--0-1682099714-1273329398=:59784
Content-Type: text/html; charset=us-ascii
<html><body bgcolor="#FFFFFF"><div><h2 style="b
而在另一方面,WITH的XML附件,iPhone正在發送:
--0-881105825-1273328091=:50337
Content-Type: text/plain; charset=us-ascii
<html><body bgcolor="#FFFFFF"><div><h2 style="bac
注意區別?看看Content-Type&hellip; text/html vs 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
但是,這顯然不是問題所在。
我做錯了什麼?我必須做什麼來實際「附加」XML,而不需要iPhone將整個HTML主體標記爲純文本。我嘗試顛倒作業(附件第一,然後身體),但沒有運氣。
從iPhone的發送界面看,電子郵件看起來很完美。事實上,HTML呈現正確,附件看起來像在郵件底部的一個小圖標。這個問題更多地與iPhone實際發送的內容有關。