2011-08-19 14 views
6

Z poziomu mojej aplikacji na iPada chciałbym wywołać aplikację E-mail na iPada z niestandardowym tekstem. Nadawcy i temat będą puste, jedynym parametrem, który chciałbym ustawić, jest tekst wiadomości e-mail. Jak mogłem to zrobić?iOS SDK: jak uruchomić aplikację e-mail?

Dzięki!

Odpowiedz

5

Proszę spojrzeć na MFMailComposeViewController w dokumentacji Apple. Można go używać tak:

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

Nie zapomnij dodać #import <MessageUI/MessageUI.h> w pliku .h. Wywołuje metody w twoim delegacie, aby poinformować Cię, kiedy zostało anulowane lub wysłano wiadomość e-mail (z powodzeniem lub nie). Daj mi znać, jeśli to działa dla Ciebie.

9

Dlaczego po prostu nie otworzyć w aplikacji aplikacji do tworzenia wiadomości e-mail?

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]; 
5
NSString *body = @"Hello Mail"; 
NSString *mailtoURLString = [NSString stringWithFormat:@"mailto:?body=%@", [body stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:mailtoURLString]]; 

Albo, jak Mihai sugerował, przyjrzeć MFMailComposeViewController która pozwala na wysyłanie poczty bez opuszczania aplikacji.

3

Następująca metoda służy do wysyłania wiadomości e-mail do użytkownika.

-(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]; 
} 
0
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]; 
Powiązane problemy