iOS SDK: ¿Cómo invocar la aplicación de correo electrónico?

Desde dentro de mi aplicación para iPad, me gustaría invocar la aplicación de correo electrónico del iPad con text personalizado. Los remitentes y el asunto estarán vacíos, el único parámetro que me gustaría establecer es el text del post de correo electrónico. ¿Cómo podría hacer eso?

¡Gracias!

¿Por qué no solo abrir un compositor de posts de correo electrónico dentro de su aplicación?

MFMailComposeViewController *mailController = [[MFMailComposeViewController alloc] init]; [mailController setSubject:@"my subject"]; [mailController setMessageBody:@"my message" isHTML:NO]; mailController.mailComposeDelegate = self; UINavigationController *myNavController = [myViewController navigationController]; if ( mailController != nil ) { if ([MFMailComposeViewController canSendMail]){ [myNavController presentModalViewController:mailController animated:YES]; } } [mailController release]; 

Eche un vistazo a MFMailComposeViewController en la documentation de Apple. Puede usarlo así:

 MFMailComposeViewController *controller=[[MFMailComposeViewController alloc]init]; controller.delegate = self; [controller setMessageBody:<#yourBody#> isHTML:<#isHTML#>]; [self presentModalViewController:controller animated:YES]; [controller release]; 

No olvide agregar #import <MessageUI/MessageUI.h> en su file .h . Llamará a methods en su delegado para informarle cuándo se canceló o si se envió el correo electrónico (con éxito o no). Avísame si eso funciona para ti.

 NSString *body = @"Hello Mail"; NSString *mailtoURLString = [NSString stringWithFormat:@"mailto:?body=%@", [body stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; [[UIApplication shanetworkingApplication] openURL:[NSURL URLWithString:mailtoURLString]]; 

O, como sugirió Mihai , eche un vistazo a MFMailComposeViewController que le permite enviar correo sin salir de su aplicación.

El siguiente método es el uso para enviar correo al usuario.

 -(void)sendMail:(UIImage *)image { MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; picker.mailComposeDelegate = self; // Set the subject of email [picker setSubject:@"Picture from my iPhone!"]; // Add email addresses // Notice three sections: "to" "cc" and "bcc" [picker setToRecipients:[NSArray arrayWithObjects:@TO mailID1",@TO mailID2", nil]]; [picker setCcRecipients:[NSArray arrayWithObject:@"CC MailID"]]; [picker setBccRecipients:[NSArray arrayWithObject:@"BCC Mail ID"]]; // Fill out the email body text NSString *emailBody = @"I just took this picture, check it out."; // This is not an HTML formatted email [picker setMessageBody:emailBody isHTML:NO]; // Create NSData object as PNG image data from camera image NSData *data = UIImagePNGRepresentation(image); // Attach image data to the email // 'CameraImage.png' is the file name that will be attached to the email [picker addAttachmentData:data mimeType:@"image/png" fileName:@"CameraImage"]; // Show email view [self presentModalViewController:picker animated:YES]; // Release picker [picker release]; } 
 NSString *textToShare = @"http:yourmail.com/"; NSArray *objectsToShare = @[textToShare]; UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil]; NSArray *excludeActivities = @[UIActivityTypeAirDrop,UIActivityTypeSaveToCameraRoll]; activityVC.excludedActivityTypes = excludeActivities; [activityVC setValue:@"yourmail" forKey:@"subject"]; [self presentViewController:activityVC animated:YES completion:nil];