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

2019-02-21 06:37发布

问题:

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 ?

回答1:

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];


回答2:

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];
}