2017-02-15 44 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