我目前正在使用 MFMailComposer 撰写 HTML-Mail。背景颜色等一切都工作得很好,我什至可以嵌入位于在线 URL 下的内嵌图像。但是当我想嵌入一个本地存储的 UIImage 时,一切都搞砸了。因此,我将数据转换为 base64 并使用图像标签,如下所示
<img src='data:image/png;base64,%@'>
在设备上的预览中,所有内容都正确显示,但是在我的计算机上的邮件应用程序中只有占位符问号图像,当我查看邮件的来源时,似乎所有发送的是
<img src="cid:(null)">
此外,我能够成功地在设备上记录 base64 编码数据,它只是无法到达服务器或从那里向下传输。附加图像不是解决方案,因为我需要将图像内联而不是在邮件末尾:(
更新:
这是我用来将图像嵌入到 HTML 内联中的行:
[body appendFormat:@"<p><b><img src='data:image/png;base64,%@'/></b></p>",[[NSData dataWithData:UIImagePNGRepresentation([dict objectForKey:@"graphImage"])] base64EncodedString]];