在我的应用程序中,我有一个已编码为base64的图像
数据:图像/ JPEG; BASE64,...
现在我想将此图片附加到一个构建的电子邮件中,并可以使用MailCore2发送。
我到目前为止的代码是:
MCOMessageBuilder * builder = [[MCOMessageBuilder alloc] init];
...
MCOAttachment *attachment = [MCOAttachment attachmentWithText:textAttachment];
[builder addAttachment:attachment];
NSData * rfc822Data = [builder data];
MCOSMTPSendOperation *sendOperation = [smtpSession sendOperationWithData:rfc822Data];
[sendOperation start:^(NSError *error) {
...
}
这已经正确地发送了邮件,除了图像没有作为图像附加,而是作为文本附加(因为我用attachmentWithText附加了它)。
到目前为止,我已经尝试用attachmentWithHTMLString替换它,但结果是相似的(除了它现在与文本正文更加分离的事实)。
我想如果我使用正确的html图像语法包围数据,它可以工作:
<img src='data:image/jpeg;base64,...' />
但也许不是。或者我甚至必须为它构建一个小的html页面?
不幸的是,有关如何发送电子邮件附件的信息,MailCore2文档并不十分详细。
因此,如果有人有使用MailCore2的经验,请告诉我将图像附加到电子邮件的最有效方法。
答案 0 :(得分:0)
似乎我的猜测是用适当的HTML标签包围数据已经充分发挥了作用:
我发送
时立即得到了预期的结果<img src='data:image/jpeg;base64,...' />
而不仅仅是与attachmentWithHTMLString结合使用的数据
MCOAttachment *attachment = [MCOAttachment attachmentWithHTMLString:textAttachment];
textAttachment包含&#34;&#34;。
我想这已经是最有效的方式了,但我会保留答案,以防万一有人有更好的解决方案。