2013-04-03 3 views
-2

Я использую следующий код для электронной почтыотправить письмо по щелчку кнопки выпуска

- (IBAction)email:(id)sender { 
    if ([MFMailComposeViewController canSendMail]) { 

     MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init]; 
     mailViewController.mailComposeDelegate = self; 
     [mailViewController setSubject:@"Subject Goes Here."]; 
     [mailViewController setMessageBody:@"Your message goes here." isHTML:NO]; 

     [self presentModalViewController:mailViewController animated:YES]; 
     [mailViewController release]; 
    } else { 
     NSLog(@"Device is unable to send email in its current state."); 
    } 
} 

, что им делать неправильно, то вы можете сказать мне плз

большое спасибо :)

+1

Что делать индикации у вас есть, что это неправильно? Каким образом ваш код не работает? – David

+0

, пожалуйста, сообщите нам, что такое ваша среда, что вы видите и т. Д., И почему вы думаете (или знаете), что он сломался. – Damo

ответ

2

сделал вам импорт это ?

#import <MessageUI/MessageUI.h> 
#import <MessageUI/MFMailComposeViewController.h> 

этот метод делегирования?

MFMailComposeViewControllerDelegate 

его довольно просто

0

В .h файле:

#import <MessageUI/MessageUI.h> 

и использовать MFMailComposeViewControllerDelegate делегат

.m В файле:

// Method : 

-(void)sendMailto:(NSString*)to WithSubject:(NSString*)subject withBody:(NSString*)body 
{ 
    if ([MFMailComposeViewController canSendMail]) 
    { 
     MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init]; 
     mailer.mailComposeDelegate = self; 
     [mailer setSubject:subject]; 

     NSArray *toRecipients = [NSArray arrayWithObjects:to, nil]; 
     [mailer setToRecipients:toRecipients]; 

     NSString *emailBody = body; 
     [mailer setMessageBody:emailBody isHTML:NO]; 

     [self presentModalViewController:mailer animated:YES]; 
    } 
    else 
    { 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Fail !" message:@"Please configure your Mail application of device with your email id" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; 
     [alert show]; 
     [alert release]; 
    } 
} 



- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error 
{ 
    switch (result) 
    { 
     case MFMailComposeResultCancelled: 
      NSLog(@"Mail cancelled"); 
      activityView.hidden = YES; 
      break; 

     case MFMailComposeResultSaved: 
      NSLog(@"Mail saved"); 
      activityView.hidden = YES; 
      break; 

     case MFMailComposeResultSent: 
      NSLog(@"Mail sent"); 
      activityView.hidden = YES; 
      UIStoryboard * myStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil]; 
      CustomerAccountViewController *custAcnt = [myStoryboard instantiateViewControllerWithIdentifier:@"customerAcnt"]; 
      custAcnt.btnID = 1; 
      [self.navigationController pushViewController:custAcnt animated:YES]; 
      break; 

     case MFMailComposeResultFailed: 
      NSLog(@"Mail failed"); 
      activityView.hidden = YES; 
      break; 

     default: 
      NSLog(@"Mail not sent"); 
      activityView.hidden = YES; 
      break; 
    } 
    [self dismissModalViewControllerAnimated:YES]; 
} 

// Call On Button Click 

- (IBAction)btnProceedClicked:(id)sender 
{ 
    [self sendMailto:@"[email protected]" WithSubject:@"Email Subject" withBody:@"Your Mail Body"]; 
} 
Смежные вопросы