Want to send a email with images and text in the b

2019-02-21 07:01发布

In iOS, want to send a email with embedded images and text in the body of the email ( not attachment) using mail composer. Can anybody help ?

2条回答
冷血范
2楼-- · 2019-02-21 07:18

MFMailComposeViewController *mailComposer = [[MFMailComposeViewController alloc] init];

[mailComposer setMailComposeDelegate:self];

if ([MFMailComposeViewController canSendMail]) {

    [mailComposer setToRecipients:[NSArray arrayWithObjects:@"kmlshyadav6@gmail.com", nil]];
    [mailComposer setSubject:@"Awesome Image(ur message or subject)"];
    [mailComposer setMessageBody:@"Hey,\n\nCheck out this awesome image!\n\n" isHTML:NO];
    [mailComposer setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];


        UIImage *lion = imageView.image;
        NSData *lionData = UIImageJPEGRepresentation(lion, 1);
        [mailComposer addAttachmentData:lionData mimeType:@"image/jpeg" fileName:@"01-Mac-OS-X-Lion.jpg"];



 }
    [self presentModalViewController:mailComposer animated:YES]; [mailComposer release];
} else {
    [mailComposer release];
}
查看更多
We Are One
3楼-- · 2019-02-21 07:26

You can use the HTML content with img tag for doing this. You can use the following code:

NSMutableString *imgContent = [[[NSMutableString alloc] initWithString:@"<html><body>"] retain];
UIImage *imageData = [UIImage imageNamed:@"Midhun.png"];
NSData *imageDataInBase64 = [NSData dataWithData:UIImagePNGRepresentation(imageData)];
NSString *base64String = [imageDataInBase64 base64EncodedString];
[imgContent appendString:[NSString stringWithFormat:@"<p><b><img src='data:image/png;base64,%@'></b></p>",base64String]];
[imgContent appendString:@"</body></html>"];

 MFMailComposeViewController *emailWin = [[MFMailComposeViewController alloc] init];
[emailWin setMessageBody:imgContent isHTML:YES];
查看更多
登录 后发表回答