为什么MFMailComposer与<img>没有在邮件中显示图像?

我使用MFMailComposer通过邮件发送一些图像。 我正在将图像转换为Base64,并使用<img>标签将图像添加到HTML正文(我不添加它作为附件 )。

 [htmlString appendFormat: @"<img src='data:image/png;base64,%@' width=300 height=200 />", imageAsBase64]; 

图像在MFMailComposer中正确显示,但从MFMailComposer发送的实际邮件中没有显示图像。

我该怎么做才能使它工作?

几个星期前我有同样的问题,我才知道Gmail不支持embedded式图像。 您可以在其他邮件提供商的电子邮件中看到图片,例如您的域名电子邮件,但不能在Gmail中看到。

尝试发送另一封电子邮件,您可以看到图像。 您需要添加图像作为附件,然后您可以看到图像,它会显示您的电子邮件正文的底部。

希望这个帮助。

您必须添加图像作为附件。 您使用HTML看到的呈现电子邮件无法正确显示丢失的图片url。

这里是一个例子:警告的是,如果你想包括像PDF这样的东西,你必须包含一个图像,否则mfmailcomposer将失败…这在一个苹果的错误。

我find了解决scheme…提交一个苹果雷达有关它的错误。 MFMailcomposer有一个错误,你必须发送一个图像连同你的额外附件,以获得怪异的项目,如PDF工作…试试这个,并用您的卡取代PDF:

 MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init]; NSString *emailSubject = [NSString localizedStringWithFormat:@"MedicalProfile"]; [controller setSubject:emailSubject]; NSString *fileName = [NSString stringWithFormat:@"%@.pdf", profileName]; NSString *saveDirectory = NSTemporaryDirectory(); NSString *saveFileName = fileName; NSString *documentPath = [saveDirectory stringByAppendingPathComponent:saveFileName]; *** YOU MUST INCLUDE AN IMAGE OR THE PDF ATTATCHMENT WILL FAIL!!!*** // Attach a PDF file to the email NSData *pdfData = [NSData dataWithContentsOfFile:documentPath]; [controller addAttachmentData:pdfData mimeType:@"application/pdf" fileName:fileName]; // Attach an image to the email NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"miniDoc" ofType:@"png"]; NSData *imageData = [NSData dataWithContentsOfFile:imagePath]; [controller addAttachmentData:imageData mimeType:@"image/png" fileName:@"doctor"]; [controller setMessageBody:[NSString stringWithFormat:@"%@'s Medical Profile attatched!", profileName] isHTML:NO]; [self presentModalViewController:controller animated:YES]; controller.mailComposeDelegate = self; [controller release];