2010-05-08 102 views
0

我在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實際發送的內容有關。

回答

0

原來 - 這個問題是針對雅虎的。

在iPhone上,如果我將提供者更改爲我的Gmail帳戶而不是我的雅虎帳戶,則生成的電子郵件會包含更多部分,更具體並且呈現正確。

故事的道德 - 小心通過不同的提供商從iPhone發送附件。

相關問題