2011-02-09 2 views

ответ

3

на прошивке 3+ Import #import в заголовке вашего контроллера представления.

Тогда:

-(void)showMailPanel { 
    MFMailComposeViewController *mailComposeViewController = [[MFMailComposeViewController alloc] init]; 

     // only on iOS < 3 
    //if ([MFMailComposeViewController canSendMail] == NO) 
    // [self launchMailApp]; // you need to 

    mailComposeViewController.mailComposeDelegate = self; 
    [mailComposeViewController setToRecipients:[NSArray arrayWithObjects:@"email address1",@"email address 2",nil]]; 
    [mailComposeViewController setSubject:@"your subject"]; 
    [mailComposeViewController setMessageBody:@"your body" isHTML:YES]; 
    mailComposeViewController.delegate = self; 
    [self.navigationController presentModalViewController:mailComposeViewController animated:YES]; 

    [mailComposeViewController release]; 

} 


- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error 
{ 
    // Notifies users about errors associated with the interface 
    switch (result) 
    { 
     case MFMailComposeResultCancelled: 
      NSLog(@"Result: canceled"); 
      break; 
     case MFMailComposeResultSaved: 
      NSLog(@"Result: saved"); 
      break; 
     case MFMailComposeResultSent: 
      NSLog(@"Result: sent"); 
      break; 
     case MFMailComposeResultFailed: 
      NSLog(@"Result: failed"); 
      break; 
     default: 
      NSLog(@"Result: not sent"); 
      break; 
    } 
    [controller dismissModalViewControllerAnimated:YES]; 
} 

-(void)launchMailApp { 
{ 
    NSString *recipients = @"dest_email"; 
    NSString *email = [NSString stringWithFormat:@"%@%@", recipients, subject]; 
    email = [email stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:email]]; 
} 
+0

Это используется для отправки статического почтового идентификатора only.but требуется динамически отправлять. например, в то время как время выполнения приложения позволяет вводить тему и текст сообщения электронной почты, а затем я хочу отправить. – Senthilkumar

2

Вам нужно что-то вроде этого:

//Import this in your .h file 
#import <MessageUI/MessageUI.h> 

...

MFMailComposeViewController *mailController = [[[MFMailComposeViewController alloc] init] autorelease]; 
    mailController.mailComposeDelegate = self; 
    [mailController setSubject:[NSString stringWithFormat:@"Report a problem - #%@", yourUserID]]; 
    [mailController setToRecipients:[NSArray arrayWithObject:@"[email protected]"]]; 
    [self presentModalViewController:mailController animated:YES]; 

Кроме того, контроллер родительского вида (делегат) должен соответствовать MFMailComposeViewControllerDelegate протокол:

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error { 
     //Extra implementation here... 
     [self dismissModalViewControllerAnimated:YES]; 
    } 
+0

Это использовалось для отправки статического почтового идентификатора only.but, мне нужно динамически отправлять. например, в то время как время выполнения приложения позволяет вводить тему и текст сообщения электронной почты, а затем я хочу отправить. – Senthilkumar

Смежные вопросы