2017-02-15 83 views
1

的HTML電子郵件,我想從iOS設備(使用Xamarin)以HTML格式發送電子郵件與嵌入在電子郵件的正文中的圖像。嵌入圖像與Xamarin.iOS

一些解決方案,我在網上找到建議使用類似於此處顯示的一個做法:

NSData ImgData = UIImage.FromFile(FileName).AsJPEG(); 
string img64baseStr = ImgData.GetBase64EncodedString(NSDataBase64EncodingOptions.None); 
string srcStr = string.Format("data:image/jpg;base64,{0}", img64baseStr); 

使用上面的代碼,我可以在iOS的Email客戶端正確地看到的圖片。但是,當發送電子郵件時,我看不到接收方的圖像。 這種方法還有其他的挫折,但我可以避免在這一點上更詳細地討論這些問題。

我也使用圖像作爲項目資源嘗試。然而,當我在HTML直接引用的圖片格式如下:

<img src="Pic1.png" width="700" height="500" alt=""/> 

聯動被打破,郵件丟失的圖像。

我怎樣才能正確地引用資源的圖像在一個HTML電子郵件?

+1

你應該分享一些代碼,以便我們可以看到你的實現有什麼問題。畢竟,發送電子郵件有多種方式。 – hankide

+2

[如何在iOS中的電子郵件的HTML正文中嵌入圖像]可能的重複(http://stackoverflow.com/questions/10397775/how-to-embed-an-image-in-the-html-body -of-an-email-in-ios) – SushiHangover

+2

@SushiHoverover可能的欺騙,但沒有Xamarin的例子或在這個問題的答案。 – JAL

回答

1

所以它看起來像上述的數據對象轉換爲一個base64字符串由大多數電子郵件客戶端出於安全原因和電子郵件客戶端將阻止在到達這樣達達的URI過時的,這種方法。

我發現張貼在下面的鏈接的問題是有幫助的理解爲什麼事情並沒有爲我工作:

base64 encoded images in email signatures

具體是指發表@ Shadow2531及答案隨之而來的討論。

最後,我能夠實現我想要的東西使用MailKit包上可用的NuGet。 該軟件包有一個非常全面的文檔。特別是對於我試圖解決這個問題,看看這個頁面:

http://www.mimekit.net/docs/html/CreatingMessages.htm

好運。

+0

謝謝!幫助很多! – KingsInnerSoul